270 lines
8.5 KiB
C
270 lines
8.5 KiB
C
|
|
// CkSFtpFileW.h: interface for the CkSFtpFileW class.
|
||
|
|
//
|
||
|
|
//////////////////////////////////////////////////////////////////////
|
||
|
|
|
||
|
|
// This header is generated for Chilkat 11.3.0
|
||
|
|
|
||
|
|
#ifndef _CkSFtpFileW_H
|
||
|
|
#define _CkSFtpFileW_H
|
||
|
|
|
||
|
|
#include "chilkatDefs.h"
|
||
|
|
#include "CkString.h"
|
||
|
|
#include "CkWideCharBase.h"
|
||
|
|
|
||
|
|
class CkDateTimeW;
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
#if !defined(__sun__) && !defined(__sun)
|
||
|
|
#pragma pack (push, 8)
|
||
|
|
#endif
|
||
|
|
|
||
|
|
|
||
|
|
// CLASS: CkSFtpFileW
|
||
|
|
class CK_VISIBLE_PUBLIC CkSFtpFileW : public CkWideCharBase
|
||
|
|
{
|
||
|
|
|
||
|
|
|
||
|
|
private:
|
||
|
|
|
||
|
|
// Don't allow assignment or copying these objects.
|
||
|
|
CkSFtpFileW(const CkSFtpFileW &);
|
||
|
|
CkSFtpFileW &operator=(const CkSFtpFileW &);
|
||
|
|
|
||
|
|
public:
|
||
|
|
CkSFtpFileW(void);
|
||
|
|
virtual ~CkSFtpFileW(void);
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
static CkSFtpFileW *createNew(void);
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
void CK_VISIBLE_PRIVATE inject(void *impl);
|
||
|
|
|
||
|
|
// May be called when finished with the object to free/dispose of any
|
||
|
|
// internal resources held by the object.
|
||
|
|
void dispose(void);
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
// BEGIN PUBLIC INTERFACE
|
||
|
|
|
||
|
|
// ----------------------
|
||
|
|
// Properties
|
||
|
|
// ----------------------
|
||
|
|
// The file creation date and time. This property is only supported by servers
|
||
|
|
// running SFTP v4 or later. The date/time is an RFC822 formatted string.
|
||
|
|
void get_CreateTimeStr(CkString &str);
|
||
|
|
// The file creation date and time. This property is only supported by servers
|
||
|
|
// running SFTP v4 or later. The date/time is an RFC822 formatted string.
|
||
|
|
const wchar_t *createTimeStr(void);
|
||
|
|
|
||
|
|
// The filename (or directory name, symbolic link name, etc.)
|
||
|
|
void get_Filename(CkString &str);
|
||
|
|
// The filename (or directory name, symbolic link name, etc.)
|
||
|
|
const wchar_t *filename(void);
|
||
|
|
|
||
|
|
// One of the following values: regular
|
||
|
|
// directory
|
||
|
|
// symLink
|
||
|
|
// special
|
||
|
|
// unknown
|
||
|
|
// socket
|
||
|
|
// charDevice
|
||
|
|
// blockDevice
|
||
|
|
// fifo
|
||
|
|
void get_FileType(CkString &str);
|
||
|
|
// One of the following values: regular
|
||
|
|
// directory
|
||
|
|
// symLink
|
||
|
|
// special
|
||
|
|
// unknown
|
||
|
|
// socket
|
||
|
|
// charDevice
|
||
|
|
// blockDevice
|
||
|
|
// fifo
|
||
|
|
const wchar_t *fileType(void);
|
||
|
|
|
||
|
|
// The integer Group ID of the file.
|
||
|
|
int get_Gid(void);
|
||
|
|
|
||
|
|
// The group ownership of the file. This property is only supported by servers
|
||
|
|
// running SFTP v4 or later.
|
||
|
|
void get_Group(CkString &str);
|
||
|
|
// The group ownership of the file. This property is only supported by servers
|
||
|
|
// running SFTP v4 or later.
|
||
|
|
const wchar_t *group(void);
|
||
|
|
|
||
|
|
// If true, this file may only be appended. This property is only supported by
|
||
|
|
// servers running SFTP v6 or later.
|
||
|
|
bool get_IsAppendOnly(void);
|
||
|
|
|
||
|
|
// If true, the file should be included in backup / archive operations. This
|
||
|
|
// property is only supported by servers running SFTP v6 or later.
|
||
|
|
bool get_IsArchive(void);
|
||
|
|
|
||
|
|
// This attribute applies only to directories. This attribute means that files and
|
||
|
|
// directory names in this directory should be compared without regard to case.
|
||
|
|
// This property is only supported by servers running SFTP v6 or later.
|
||
|
|
bool get_IsCaseInsensitive(void);
|
||
|
|
|
||
|
|
// The file is stored on disk using file-system level transparent compression. This
|
||
|
|
// flag does not affect the file data on the wire. This property is only supported
|
||
|
|
// by servers running SFTP v6 or later.
|
||
|
|
bool get_IsCompressed(void);
|
||
|
|
|
||
|
|
// If true, this is a directory.
|
||
|
|
bool get_IsDirectory(void);
|
||
|
|
|
||
|
|
// The file is stored on disk using file-system level transparent encryption. This
|
||
|
|
// flag does not affect the file data on the wire (for either READ or WRITE
|
||
|
|
// requests.) This property is only supported by servers running SFTP v6 or later.
|
||
|
|
bool get_IsEncrypted(void);
|
||
|
|
|
||
|
|
// If true, the file SHOULD NOT be shown to user unless specifically requested.
|
||
|
|
bool get_IsHidden(void);
|
||
|
|
|
||
|
|
// The file cannot be deleted or renamed, no hard link can be created to this file,
|
||
|
|
// and no data can be written to the file.
|
||
|
|
//
|
||
|
|
// This bit implies a stronger level of protection than ReadOnly, the file
|
||
|
|
// permission mask or ACLs. Typically even the superuser cannot write to immutable
|
||
|
|
// files, and only the superuser can set or remove the bit.
|
||
|
|
//
|
||
|
|
// This property is only supported by servers running SFTP v6 or later.
|
||
|
|
//
|
||
|
|
bool get_IsImmutable(void);
|
||
|
|
|
||
|
|
// If true, the file is read-only. This property is only supported by servers
|
||
|
|
// running SFTP v6 or later.
|
||
|
|
bool get_IsReadOnly(void);
|
||
|
|
|
||
|
|
// true if this is a normal file (not a directory or any of the other non-file
|
||
|
|
// types).
|
||
|
|
bool get_IsRegular(void);
|
||
|
|
|
||
|
|
// The file is a sparse file; this means that file blocks that have not been
|
||
|
|
// explicitly written are not stored on disk. For example, if a client writes a
|
||
|
|
// buffer at 10 M from the beginning of the file, the blocks between the previous
|
||
|
|
// EOF marker and the 10 M offset would not consume physical disk space.
|
||
|
|
//
|
||
|
|
// Some servers may store all files as sparse files, in which case this bit will be
|
||
|
|
// unconditionally set. Other servers may not have a mechanism for determining if
|
||
|
|
// the file is sparse, and so the file MAY be stored sparse even if this flag is
|
||
|
|
// not set.
|
||
|
|
//
|
||
|
|
// This property is only supported by servers running SFTP v6 or later.
|
||
|
|
//
|
||
|
|
bool get_IsSparse(void);
|
||
|
|
|
||
|
|
// true if this is a symbolic link.
|
||
|
|
bool get_IsSymLink(void);
|
||
|
|
|
||
|
|
// When the file is modified, the changes are written synchronously to the disk.
|
||
|
|
// This property is only supported by servers running SFTP v6 or later.
|
||
|
|
bool get_IsSync(void);
|
||
|
|
|
||
|
|
// true if the file is part of the operating system. This property is only
|
||
|
|
// supported by servers running SFTP v6 or later.
|
||
|
|
bool get_IsSystem(void);
|
||
|
|
|
||
|
|
// The last-access date and time as an RFC822 formatted string.
|
||
|
|
void get_LastAccessTimeStr(CkString &str);
|
||
|
|
// The last-access date and time as an RFC822 formatted string.
|
||
|
|
const wchar_t *lastAccessTimeStr(void);
|
||
|
|
|
||
|
|
// The last-modified date and time as an RFC822 formatted string. Other date/time
|
||
|
|
// formats can be obtained by calling the GetLastModifiedDt method to return a
|
||
|
|
// CkDateTime object, and then use CkDateTime to get the desired format.
|
||
|
|
void get_LastModifiedTimeStr(CkString &str);
|
||
|
|
// The last-modified date and time as an RFC822 formatted string. Other date/time
|
||
|
|
// formats can be obtained by calling the GetLastModifiedDt method to return a
|
||
|
|
// CkDateTime object, and then use CkDateTime to get the desired format.
|
||
|
|
const wchar_t *lastModifiedTimeStr(void);
|
||
|
|
|
||
|
|
// The owner of the file. This property is only supported by servers running SFTP
|
||
|
|
// v4 or later.
|
||
|
|
void get_Owner(CkString &str);
|
||
|
|
// The owner of the file. This property is only supported by servers running SFTP
|
||
|
|
// v4 or later.
|
||
|
|
const wchar_t *owner(void);
|
||
|
|
|
||
|
|
// The 'permissions' field contains a bit mask specifying file permissions. These
|
||
|
|
// permissions correspond to the st_mode field of the stat structure defined by
|
||
|
|
// POSIX [IEEE.1003-1.1996].
|
||
|
|
//
|
||
|
|
// This protocol uses the following values for the symbols declared in the POSIX
|
||
|
|
// standard. S_IRUSR 0000400 (octal)
|
||
|
|
// S_IWUSR 0000200
|
||
|
|
// S_IXUSR 0000100
|
||
|
|
// S_IRGRP 0000040
|
||
|
|
// S_IWGRP 0000020
|
||
|
|
// S_IXGRP 0000010
|
||
|
|
// S_IROTH 0000004
|
||
|
|
// S_IWOTH 0000002
|
||
|
|
// S_IXOTH 0000001
|
||
|
|
// S_ISUID 0004000
|
||
|
|
// S_ISGID 0002000
|
||
|
|
// S_ISVTX 0001000
|
||
|
|
//
|
||
|
|
int get_Permissions(void);
|
||
|
|
|
||
|
|
// Size of the file in bytes. If the size is too large for 32-bits, a -1 is
|
||
|
|
// returned.
|
||
|
|
int get_Size32(void);
|
||
|
|
|
||
|
|
// Size of the file in bytes. If the file size is a number too large for 64 bits,
|
||
|
|
// you have an AMAZINGLY large disk drive.
|
||
|
|
__int64 get_Size64(void);
|
||
|
|
|
||
|
|
// Same as Size64, but the number is returned as a string in decimal format.
|
||
|
|
void get_SizeStr(CkString &str);
|
||
|
|
// Same as Size64, but the number is returned as a string in decimal format.
|
||
|
|
const wchar_t *sizeStr(void);
|
||
|
|
|
||
|
|
// The integer User ID of the file.
|
||
|
|
int get_Uid(void);
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
// ----------------------
|
||
|
|
// Methods
|
||
|
|
// ----------------------
|
||
|
|
// Applications should instead access the CreateTimeStr property.
|
||
|
|
//
|
||
|
|
// Returns the file creation date and time (GMT / UTC). This method is only
|
||
|
|
// supported by servers running SFTP v4 or later.
|
||
|
|
//
|
||
|
|
// The caller is responsible for deleting the object returned by this method.
|
||
|
|
CkDateTimeW *GetCreateDt(void);
|
||
|
|
|
||
|
|
// Applications should instead access the LastAccessTimeStr property.
|
||
|
|
//
|
||
|
|
// Returns the last-access date and time (GMT / UTC).
|
||
|
|
//
|
||
|
|
// The caller is responsible for deleting the object returned by this method.
|
||
|
|
CkDateTimeW *GetLastAccessDt(void);
|
||
|
|
|
||
|
|
// Applications should instead access the LastModifiedTimeStr property.
|
||
|
|
//
|
||
|
|
// Returns the last-modified date and time (GMT / UTC).
|
||
|
|
//
|
||
|
|
// The caller is responsible for deleting the object returned by this method.
|
||
|
|
CkDateTimeW *GetLastModifiedDt(void);
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
// END PUBLIC INTERFACE
|
||
|
|
|
||
|
|
|
||
|
|
};
|
||
|
|
#if !defined(__sun__) && !defined(__sun)
|
||
|
|
#pragma pack (pop)
|
||
|
|
#endif
|
||
|
|
|
||
|
|
#endif
|