summaryrefslogtreecommitdiffstats
path: root/tdeioslave/sftp/sftpfileattr.h
diff options
context:
space:
mode:
Diffstat (limited to 'tdeioslave/sftp/sftpfileattr.h')
-rw-r--r--tdeioslave/sftp/sftpfileattr.h261
1 files changed, 0 insertions, 261 deletions
diff --git a/tdeioslave/sftp/sftpfileattr.h b/tdeioslave/sftp/sftpfileattr.h
deleted file mode 100644
index 43b56979d..000000000
--- a/tdeioslave/sftp/sftpfileattr.h
+++ /dev/null
@@ -1,261 +0,0 @@
-/***************************************************************************
- sftpfileattr.h - description
- -------------------
- begin : Sat Jun 30 2001
- copyright : (C) 2001 by Lucas Fisher
- email : ljfisher@iastate.edu
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
-
-#ifndef SFTPFILEATTR_H
-#define SFTPFILEATTR_H
-
-#include <sys/types.h>
-
-#include <tqglobal.h>
-#include <tqstring.h>
-#include <tqdatastream.h>
-
-#include <tdeio/global.h>
-#include <kdebug.h>
-
-#include "sftp.h"
-
-/**
- *@author Lucas Fisher
- */
-
-class KRemoteEncoding;
-
-class sftpFileAttr {
-
-private: // Private attributes
- /** Name of file. */
- TQString mFilename;
-
- /** Specifies which fields of the file attribute are available. */
- TQ_UINT32 mFlags;
-
- /** Size of the file in bytes. Should be 64 bit safe. */
- TQ_ULLONG mSize;
-
- /** User id of the owner of the file. */
- uid_t mUid;
-
- /** Group id of the group to which the file belongs. */
- gid_t mGid;
-
- /** POSIX permissions of the file. */
- mode_t mPermissions;
-
- /** Last access time of the file in seconds from Jan 1, 1970. */
- time_t mAtime;
-
- /** Last modification time of file in seconds since Jan. 1, 1970. */
- time_t mMtime;
-
- /** Number of file attribute extensions.
- Not currently implemented */
- TQ_UINT32 mExtendedCount;
-
- /** Longname of the file as found in a SSH_FXP_NAME sftp packet.
- These contents are parse to return the file's owner name and
- gr oup name. */
- TQCString mLongname;
-
- TQString mUserName;
- TQString mGroupName;
-
- /** If file is a link, contains the destination of the link */
- TQString mLinkDestination;
-
- /** If resource is a link, contains the type the link,e.g. file,dir... */
- mode_t mLinkType;
-
- /** Whether >> operator should read filename and longname from the stream. */
- bool mDirAttrs;
-
- /** Holds the encoding of the remote host */
- KRemoteEncoding* mEncoding;
-
-public:
- sftpFileAttr();
-
- sftpFileAttr(KRemoteEncoding* encoding);
-
- ~sftpFileAttr();
-
- /** Constructor to initialize the file attributes on declaration. */
- sftpFileAttr(TQ_ULLONG size_, uid_t uid_, gid_t gid_, mode_t permissions_,
- time_t atime_, time_t mtime_, TQ_UINT32 extendedCount_ = 0);
-
- /** Return the size of the sftp attribute not including filename or longname*/
- TQ_UINT32 size() const;
-
- /** Clear all attributes and flags. */
- void clear();
-
- /** Set the size of the file. */
- void setFileSize(TQ_ULLONG s)
- { mSize = s; mFlags |= SSH2_FILEXFER_ATTR_SIZE; }
-
- /** The size file attribute will not be included in the UDSEntry
- or when the file attribute is written to the sftp packet. */
- void clearFileSize()
- { mSize = 0; mFlags &= ~SSH2_FILEXFER_ATTR_SIZE; }
-
- /** Returns the size of the file. */
- TQ_ULLONG fileSize() const { return mSize; }
-
- /** Sets the POSIX permissions of the file. */
- void setPermissions(mode_t p)
- { mPermissions = p; mFlags |= SSH2_FILEXFER_ATTR_PERMISSIONS; }
-
- /** The permissions file attribute will not be included in the UDSEntry
- or when the file attribute is written to the sftp packet. */
- void clearPermissions()
- { mPermissions = 0; mFlags &= ~SSH2_FILEXFER_ATTR_PERMISSIONS; }
-
- /** Returns the POSIX permissons of the file. */
- mode_t permissions() const { return mPermissions; }
-
- /** Sets the group id of the file. */
- void setGid(gid_t id)
- { mGid = id; mFlags |= SSH2_FILEXFER_ATTR_UIDGID; }
-
- /** Neither the gid or uid file attributes will not be included in the UDSEntry
- or when the file attribute is written to the sftp packet. This is
- equivalent to clearUid() */
- void clearGid()
- { mGid = 0; mFlags &= SSH2_FILEXFER_ATTR_UIDGID; }
-
- /** Returns the group id of the file. */
- gid_t gid() const { return mGid; }
-
- /** Sets the uid of the file. */
- void setUid(uid_t id)
- { mUid = id; mFlags |= SSH2_FILEXFER_ATTR_UIDGID; }
-
- /** Neither the gid or uid file attributes will not be included in the UDSEntry
- or when the file attribute is written to the sftp packet. This is
- equivalent to clearGid() */
- void clearUid()
- { mUid = 0; mFlags &= SSH2_FILEXFER_ATTR_UIDGID; }
-
- /** Returns the user id of the file. */
- gid_t uid() const { return mUid; }
-
- /** Set the modificatoin time of the file in seconds since Jan. 1, 1970. */
- void setMtime(time_t t)
- { mMtime = t; mFlags |= SSH2_FILEXFER_ATTR_ACMODTIME; }
-
- /** Neither the mtime or atime file attributes will not be included in the UDSEntry
- or when the file attribute is written to the sftp packet. This is
- equivalent to clearAtime() */
- void clearMtime()
- { mMtime = 0; mFlags &= SSH2_FILEXFER_ATTR_ACMODTIME; }
-
- /** Returns the modification time of the file in seconds since Jan. 1, 1970. */
- time_t mtime() const { return mMtime; }
-
- /** Sets the access time of the file in seconds since Jan. 1, 1970. */
- void setAtime(time_t t)
- { mAtime = t; mFlags |= SSH2_FILEXFER_ATTR_ACMODTIME; }
-
- /** Neither the atime or mtime file attributes will not be included in the UDSEntry
- or when the file attribute is written to the sftp packet. This is
- equivalent to clearMtime() */
- void clearAtime()
- { mAtime = 0; mFlags &= SSH2_FILEXFER_ATTR_ACMODTIME; }
-
- /** Returns the last access time of the file in seconds since Jan. 1, 1970. */
- time_t atime() const { return mAtime; }
-
- /** Sets the number of file attribute extensions. */
- void setExtendedCount(unsigned int c)
- { mExtendedCount = c; mFlags |= SSH2_FILEXFER_ATTR_EXTENDED; }
-
- /** No extensions will be included when the file attribute is written
- to a sftp packet. */
- void clearExtensions()
- { mExtendedCount = 0; mFlags &= ~SSH2_FILEXFER_ATTR_EXTENDED; }
-
- /** Returns the number of file attribute extentsions. */
- unsigned int extendedCount() const { return mExtendedCount; }
-
- /** Returns the flags for the sftp file attributes. */
- unsigned int flags() const { return mFlags; }
-
- /** Sets file's longname. See sftpFileAttr::longname. */
- void setLongname(TQString l) { mLongname = l.latin1(); }
-
- /** Returns a string describing the file attributes. The format is specific
- to the implementation of the sftp server. In most cases (ie OpenSSH)
- this is similar to the long output of 'ls'. */
- TQString longname() const { return mLongname; }
-
- void setLinkDestination(const TQString& target)
- { mLinkDestination = target; }
-
- TQString linkDestination()
- { return mLinkDestination; }
-
- /** Sets the actual type a symbolic link points to. */
- void setLinkType (mode_t type) { mLinkType = type; }
-
- mode_t linkType() const { return mLinkType; }
-
- /** No descriptions */
- void setFilename(const TQString& fn)
- { mFilename = fn; }
-
- TQString filename() const
- { return mFilename; }
-
- /** Returns a UDSEntry describing the file.
- The UDSEntry is generated from the sftp file attributes. */
- TDEIO::UDSEntry entry();
-
- /** Use to output the file attributes to a sftp packet
- This will only write the sftp ATTR structure to the stream.
- It will never write the filename and longname because the client
- never sends those to the server. */
- friend TQDataStream& operator<< (TQDataStream&, const sftpFileAttr&);
-
- /** Use to read a file attribute from a sftp packet.
- Read this carefully! If the DirAttrs flag is true, this will
- read the filename, longname, and file attributes from the stream.
- This is for use with listing directories.
- If the DirAttrs flag is false, this will only read file attributes
- from the stream.
- BY DEFAULT, A NEW INSTANCE HAS DirAttrs == false */
- friend TQDataStream& operator>> (TQDataStream&, sftpFileAttr&);
-
- /** Parse longname for the owner and group names. */
- void getUserGroupNames();
-
- /** Sets the DirAttrs flag. This flag affects how the >> operator works on data streams. */
- void setDirAttrsFlag(bool flag){ mDirAttrs = flag; }
-
- /** Gets the DirAttrs flag. */
- bool getDirAttrsFlag() const { return mDirAttrs; }
-
- friend kdbgstream& operator<< (kdbgstream& s, sftpFileAttr& a);
- friend kndbgstream& operator<< (kndbgstream& s, sftpFileAttr& a);
-
- /** Returns the file type as determined from the file permissions */
- mode_t fileType() const;
-
- /** Set the encoding of the remote file system */
- void setEncoding( KRemoteEncoding* encoding );
-};
-
-#endif