CMS 3D CMS Logo

TarMember.h

Go to the documentation of this file.
00001 #ifndef CLASSLIB_TAR_MEMBER_H
00002 # define CLASSLIB_TAR_MEMBER_H
00003 
00004 //<<<<<< INCLUDES                                                       >>>>>>
00005 
00006 # include "classlib/zip/TarConstants.h"
00007 # include "classlib/iobase/Filename.h"
00008 
00009 namespace lat {
00010 //<<<<<< PUBLIC DEFINES                                                 >>>>>>
00011 //<<<<<< PUBLIC CONSTANTS                                               >>>>>>
00012 //<<<<<< PUBLIC TYPES                                                   >>>>>>
00013 //<<<<<< PUBLIC VARIABLES                                               >>>>>>
00014 //<<<<<< PUBLIC FUNCTIONS                                               >>>>>>
00015 //<<<<<< CLASS DECLARATIONS                                             >>>>>>
00016 
00027 class TarMember : public TarConstants
00028 {
00029 public:
00030     TarMember (Filename name);
00031     TarMember (const TarMember &x);
00032     TarMember &operator= (const TarMember &x);
00033     ~TarMember (void);
00034 
00035     Filename            name (void) const;
00036     int                 mode (void) const;
00037     unsigned            mtime (void) const;
00038     IOOffset            size (void) const;
00039     int                 uid (void) const;
00040     std::string         uname (void) const;
00041     int                 gid (void) const;
00042     std::string         gname (void) const;
00043     Type                type (void) const;
00044     Filename            linkname (void) const;
00045     int                 devmajor (void) const;
00046     int                 devminor (void) const;
00047 
00048     void                name (Filename name);
00049     void                mode (int value);
00050     void                mtime (unsigned value);
00051     void                size (IOOffset value);
00052     void                uid (int value);
00053     void                uname (const std::string &name);
00054     void                gid (int value);
00055     void                gname (const std::string &name);
00056     void                type (Type value);
00057     void                type (char value);
00058     void                linkname (Filename value);
00059     void                device (int major, int minor);
00060 
00061 private:
00062     Filename            m_name;         //< Name of the archive member
00063     unsigned            m_mtime;        //< Modification time
00064     // unsigned         m_atime;        //< Last access time (GNU extension)
00065     // unsigned         m_ctime;        //< Creation time (GNU extension)
00066     IOOffset            m_size;         //< File size
00067     int                 m_mode;         //< UNIX file mode
00068     int                 m_uid;          //< File owner id
00069     std::string         m_uname;        //< File owner name
00070     int                 m_gid;          //< File group id
00071     std::string         m_gname;        //< File group name
00072     Type                m_type;         //< File type
00073     Filename            m_link;         //< Symlink target for links
00074     int                 m_devmajor;     //< Device major number for devices
00075     int                 m_devminor;     //< Device minor number for devices
00076     bool                m_ok;           //< Flag to indicate the file is ok
00077 };
00078 
00079 //<<<<<< INLINE PUBLIC FUNCTIONS                                        >>>>>>
00080 //<<<<<< INLINE MEMBER FUNCTIONS                                        >>>>>>
00081 
00082 } // namespace lat
00083 #endif // CLASSLIB_TAR_MEMBER_H

Generated on Tue Jun 9 17:39:00 2009 for CMSSW by  doxygen 1.5.4