remotestoragefw/remotefileengine/inc/rsfwfileentry.h
branchRCL_3
changeset 19 88ee4cf65e19
parent 16 87c71b25c937
child 20 1aa8c82cb4cb
--- a/remotestoragefw/remotefileengine/inc/rsfwfileentry.h	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,181 +0,0 @@
-/*
-* Copyright (c) 2003-2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  data struct for a remote file metadata
-*
-*/
-
-
-#ifndef C_RSFWFILEENTRY_H
-#define C_RSFWFILEENTRY_H
-
-#include "rsfwinterface.h"
-#include "rsfwlrulistnode.h"
-
-class TDirEntAttr;
-class CRsfwLockManager;
-class CRsfwDirEntAttr;
-class CRsfwFileTable;
-
-
-class CRsfwFileEntry: public CBase
-    {
-    friend class CRsfwFileTable;
-    friend class CRsfwVolumeTable;
-    friend class CRsfwLockManager;
-
-public:
-    ~CRsfwFileEntry();
-    static CRsfwFileEntry* NewLC(const TDesC& aName, CRsfwFileEntry* aParent);
-    static CRsfwFileEntry* NewL(const TDesC& aName, CRsfwFileEntry* aParent);
-    static CRsfwFileEntry* NewL(RReadStream& aStream);
-
-    CRsfwFileEntry* FindKidByName(const TDesC& aName);
-    void RenameL(const TDesC& aName);
-    void AddKid(CRsfwFileEntry& aFe);
-    TInt RemoveKidL(CRsfwFileEntry* aFep);
-    TInt KidsCount();
-    void UnmarkKids();
-    void DropUnmarkedKidsL();
-    void DropLD();
-    void GetAttributes(TDirEntAttr& aAttr) const;
-    void GetAttributesL(CRsfwDirEntAttr& aAttr) const;
-    void SetAttributesL(CRsfwDirEntAttr& aAttr, TBool aAllMetaData);
-    TDesC* CacheFileName();
-    void SetCacheFileName(TDesC* aFn);
-    TBool IsCached() const;
-    TBool IsFullyCached() const;
-    void SetCached(TBool aCached);
-    void SetCachedSize(TInt aFetchedSize);
-    void RemoveCacheFile();
-    void ValidateCacheFile();
-    void PrintL(TInt aLevel, TBool aKids, TBool aall) const;
-    HBufC* FullNameLC() const;
-    TInt TotalCachedSize();
-    TInt TotalEntryCount();
-    CRsfwFileEntry* Lookup(const TFid& aFid);
-    void SetLockedL(CRsfwLockManager* aLockManager, TDesC8* aLockToken);
-    void RemoveLocked();
-    static int LockTimerExpiredL(TAny* aParam);
-    TBool UseCachedData();
-    void SetAttribValidationTime();
-    void ExternalizeL(RWriteStream& aStream) const;
-    void InternalizeL(RReadStream& aStream);
-    void SetType(TUint8 aType);
-    void SetSize(TInt aSize);
-    void SetModified(const TTime& aModified);
-    void SetAtt(TUint aAtt);
-    void SetMimeTypeL(const TDesC8& aMimeType);
-    void SetOpaqueFileIdL(const TDesC8& aOpaqueFileId);
-    TBool IsLocallyDirty() const;
-    TBool IsCancelled() const;
-    void SetLocallyDirty();
-    void ResetLocallyDirty();
-    TBool RemotelyDirty() const;
-    void SetRemotelyDirty();
-    void ResetRemotelyDirty();
-    void SetNewlyCreated();
-    void ResetNewlyCreated();
-    TBool IsNewlyCreated() const;
-    TBool IsMarked() const;
-    void Mark();
-    void Unmark();
-    void SetFlags(TUint aFlags);
-    void ResetFlags(TUint aFlags);
-    void SetOpenedForWriting(TBool aOpenedForWriting);
-    TBool IsOpenedForWriting() const;
-    // for a remote file which has been locally modified, but not yet written back to the
-    // server the cache file is set as read only until the file has been resolved
-    TBool IsLocked() const;
-    void ReportEvent(TInt aEvent);
-    inline const TFid& Fid() const;
-    inline void SetFid(const TFid& aFid);
-    inline const TDesC* Name() const;
-    inline TUint8 Type() const;
-    inline TInt Size() const;
-    inline TTime Modified() const;
-    inline TUint Att() const;
-    inline const TDesC8* MimeType() const;
-    inline const TDesC8* OpaqueFileId() const;
-    inline void SetUid(TUid anUid);
-    inline CRsfwFileEntry* Parent();
-    inline void SetParent(CRsfwFileEntry* aFep);
-    inline TInt CachePriority() const;
-    inline TBool IsFlagged(TUint aFlag) const;
-    inline RPointerArray<CRsfwFileEntry>* Kids();
-    inline const TDesC8* LockToken();
-    inline const TDesC* ProtectionDomainName() const;
-    inline void SetCachePriority(TCachePriority);
-    inline TInt ProtectionDomainId() const;
-    void ResolveDirtyFilesL();
-
-private:
-    void ConstructL(const TDesC& aName, CRsfwFileEntry* aParent);
-    void ConstructL(RReadStream& aStream);
-    
-    void SetLockTimeout();
-
-public:
-
-    // how much has been cached
-    TInt                    iCachedSize;
-
-    // when the file attributes have been fetched from the server
-    TTime                   iAttribValidation;
-
-    // uid of the symbian app which handles this datatype
-    TUid                    iUid;
-
-    // Timer associated with a possible file locked
-    CPeriodic*              iLockTimer;
-
-
-protected:
-    RPointerArray<CRsfwFileEntry> iKids;             // contained files and dirs
-
-private:
-    TFid                    iFid;            // id
-    HBufC*                  iName;           // name
-    TInt                    iSize;           // file size in bytes
-    TUint                   iAtt;            // attribute bits
-    TUint                   iFlags;          // local state
-    TTime                   iModified;       // last modified
-    TUint8                  iType;           // type (unknown, file, dir)
-    HBufC8*                 iMimeType;       // MIME type
-    HBufC8*                 iOpaqueFileId;   // e.g. ETag in WebDAV
-    CRsfwFileEntry*             iParent;         // parent dir
-    TBuf<KMaxPath>  iCacheName;   // local cache filename
-    TDesC8*                 iLockToken;      // lock token
-    // cache priority is currently always KCachePriorityNormal
-    TInt                    iCachePriority;
-    
-    // Lock timeout for this locked file
-    // In practise we need to store this per-file
-    // as server may always ignore our request
-    // and e.g. mod_dav allows setting different min timeout
-    // for different directories.
-    TUint                   iLockTimeout;
-
-public:
-    // pointer to lock manager that can be called to refresh the lock
-    CRsfwLockManager*           iLockManager;
-    TBool                   iUseCachedData;
-    // only used at recovery when iParent is not set (yet)
-    TInt                    iParentNodeId;
-    // the table in which the entry belongs
-    CRsfwFileTable*             iFileTable;
-    };
-
-#include "rsfwfileentry.inl"
-
-#endif
\ No newline at end of file