userlibandfileserver/fileserver/sfat32/fat_dir_entry.h
branchRCL_3
changeset 22 2f92ad2dc5db
parent 19 4a8fed1c0ef6
equal deleted inserted replaced
21:e7d2d738d3c2 22:2f92ad2dc5db
    27 
    27 
    28 //-------------------------------------------------------------------------------------------------------------------
    28 //-------------------------------------------------------------------------------------------------------------------
    29 
    29 
    30 
    30 
    31 const TInt      KFatDirNameSize         = 11;   ///< Dos directory/File name length
    31 const TInt      KFatDirNameSize         = 11;   ///< Dos directory/File name length
    32 const TInt      KVFatEntryAttribute     = 0x0F;  ///< VFat entry attribute setting
    32 const TUint     KVFatEntryAttribute     = 0x0F;  ///< VFat entry attribute setting
    33 const TUint8    KDotEntryByte           = 0x2e;  ///< Dot value for self and parent pointer directory entries
    33 const TUint8    KDotEntryByte           = 0x2e;  ///< Dot value for self and parent pointer directory entries
    34 const TUint8    KBlankSpace             = 0x20;  ///< Blank space in a directory entry
    34 const TUint8    KBlankSpace             = 0x20;  ///< Blank space in a directory entry
    35 const TInt      KSizeOfFatDirEntryLog2  = 5;     ///< Log2 of size in bytes of a Fat directry entry 
    35 const TInt      KSizeOfFatDirEntryLog2  = 5;     ///< Log2 of size in bytes of a Fat directry entry 
    36 const TUint     KSizeOfFatDirEntry      = 1 << KSizeOfFatDirEntryLog2;    ///< Size in bytes of a Fat directry entry 
    36 const TUint     KSizeOfFatDirEntry      = 1 << KSizeOfFatDirEntryLog2;    ///< Size in bytes of a Fat directry entry 
    37 
    37 
    72 public:
    72 public:
    73     inline TFatDirEntry();
    73     inline TFatDirEntry();
    74     inline void InitZ();
    74     inline void InitZ();
    75 
    75 
    76     inline const TPtrC8 Name() const;
    76     inline const TPtrC8 Name() const;
    77     inline TInt Attributes() const;
    77     inline void SetName(const TDesC8& aDes);
       
    78 
       
    79     inline TUint Attributes() const;
       
    80     inline void SetAttributes(TUint anAtt);
       
    81 
    78     inline TTime Time(TTimeIntervalSeconds aOffset) const;
    82     inline TTime Time(TTimeIntervalSeconds aOffset) const;
    79     inline TInt StartCluster() const;
    83     inline void SetTime(TTime aTime, TTimeIntervalSeconds aOffset);
       
    84     inline TBool IsTimeTheSame(TTime aTime, TTimeIntervalSeconds aOffset) const; 
       
    85     
       
    86 
       
    87     inline TUint32 StartCluster() const;
       
    88     inline void SetStartCluster(TUint32 aStartCluster);
       
    89 
    80     inline TUint32 Size() const;
    90     inline TUint32 Size() const;
       
    91     inline void SetSize(TUint32 aFilesize);
       
    92 
    81     inline TBool IsErased() const;
    93     inline TBool IsErased() const;
       
    94     inline void SetErased();
       
    95 
    82     inline TBool IsCurrentDirectory() const;
    96     inline TBool IsCurrentDirectory() const;
       
    97     inline void SetCurrentDirectory();
       
    98 
    83     inline TBool IsParentDirectory() const;
    99     inline TBool IsParentDirectory() const;
       
   100     inline void SetParentDirectory();
       
   101 
    84     inline TBool IsEndOfDirectory() const;
   102     inline TBool IsEndOfDirectory() const;
       
   103     inline void SetEndOfDirectory();
       
   104 
    85     inline TBool IsGarbage() const;
   105     inline TBool IsGarbage() const;
    86     inline void SetName(const TDesC8& aDes);
   106     
    87     inline void SetAttributes(TInt anAtt);
       
    88     inline void SetTime(TTime aTime, TTimeIntervalSeconds aOffset);
       
    89     inline void SetCreateTime(TTime aTime, TTimeIntervalSeconds aOffset);
   107     inline void SetCreateTime(TTime aTime, TTimeIntervalSeconds aOffset);
    90     inline void SetStartCluster(TInt aStartCluster);
   108 
    91     inline void SetSize(TUint32 aFilesize);
   109     inline TUint16 RuggedFatEntryId() const;
    92     inline void SetErased();
       
    93     inline void SetCurrentDirectory();
       
    94     inline void SetParentDirectory();
       
    95     inline void SetEndOfDirectory();
       
    96     inline TUint RuggedFatEntryId() const;
       
    97     inline void  SetRuggedFatEntryId(TUint16 aId);
   110     inline void  SetRuggedFatEntryId(TUint16 aId);
    98 
   111 
    99 public:
   112     inline TInt NumFollowing() const;
       
   113     inline TUint8 CheckSum() const;
       
   114 
   100     void SetVFatEntry(const TDesC& aName, TUint aRemainderLen, TUint8 aCheckSum);
   115     void SetVFatEntry(const TDesC& aName, TUint aRemainderLen, TUint8 aCheckSum);
   101     void ReadVFatEntry(TDes16& aVBuf) const;
   116     void ReadVFatEntry(TDes16& aVBuf) const;
       
   117     
   102     inline TBool IsLongNameStart() const;
   118     inline TBool IsLongNameStart() const;
   103     inline TBool IsVFatEntry() const;
   119     inline TBool IsVFatEntry() const;
   104     inline TInt NumFollowing() const;
       
   105     inline TUint8 CheckSum() const;
       
   106 
   120 
   107 
   121 
   108 public:
   122 public:
   109     TUint8 iData[KSizeOfFatDirEntry]; ///< The directory entry data
   123     TUint8 iData[KSizeOfFatDirEntry]; ///< The directory entry data
   110     };
   124     };