diff -r 88ee4cf65e19 -r 1aa8c82cb4cb remotestoragefw/remotefilesystemplugin/inc/rsfwfsdircb.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/remotestoragefw/remotefilesystemplugin/inc/rsfwfsdircb.h Wed Sep 01 12:15:08 2010 +0100 @@ -0,0 +1,119 @@ +/* +* 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: Remote File System Plug-in implementation +* +*/ + + +#ifndef CRSFWFSDIRCB_H +#define CRSFWFSDIRCB_H + +// INCLUDES +#include +#include +//#include "rsfwsession.h" +#include "rsfwinterface.h" + +// CONSTANTS + +// DATA TYPES + +// FORWARD DECLARATIONS + +// CLASS DECLARATIONS + +/** + * Classes that a plug-in file system must implement. A plug-in + * filesystem must implement CFileSystem, which is a factory class for + * a file system. That class must create objects derived from CMountCB, + * CFileCB, CDirCB and CFormatCB. These are defined in f32fsys.h + * + * @lib eremotefs.fsy + * @since Series 60 3.2 + */ +class CRsfwFsDirCB : public CDirCB + { +public: // Constructors and destructor + + /** + * Static constructor. + */ + static CRsfwFsDirCB* NewL(); + + /** + * Destructor. + */ + ~CRsfwFsDirCB(); + +public: // New functions + + /** + * Prepares the class to read directory entries from a local cache container file + * @since Series 60 3.2 + * @param aPath path of the directory container in the local cache + * @param aName the entries to be read from the directory, for example, "*" + * @return + */ + void SetDirL( const TDesC& aPath, + const TDesC& aName ); + +public: // Functions from base classes + + /** + * From CDirCB Gets information from the first suitable entry in the directory, + * starting from the current read position. + * @since Series 60 3.2 + * @param anEntry Entry information object. + * @return + */ + void ReadL( TEntry& anEntry ); + +private: + + /** + * C++ default constructor. + */ + CRsfwFsDirCB(); + +public: // Data + + // the Fid of this dir + TFid iThisFid; + +private: // Data + + // stream attached to the local cache container file + RFileReadStream iDirContReadStream; + + // the entries to be read from the directory, for example, "*" + HBufC* iMatch; + + // whether the cache container includes the contents the directory + TBool iHasBeenFetched; + + // which entry position to read next + TInt iEntryPos; + + // at which stream position to read next + TStreamPos iStreamPos; + + // where to read if we must re-read the last entry to be read + TStreamPos iPendingPos; + + }; + +#endif // CRSFWFSDIRCB_H + +// End of File +