diff -r 2669f8761a99 -r fbd2e7cec7ef xdmprotocols/XcapProtocol/XcapCache/inc/XcapCache.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xdmprotocols/XcapProtocol/XcapCache/inc/XcapCache.h Wed Sep 01 12:23:14 2010 +0100 @@ -0,0 +1,159 @@ +/* +* Copyright (c) 2005 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: RXcapCache +* +*/ + + + + +#ifndef __XCAPCACHE_H__ +#define __XCAPCACHE_H__ + +// INCLUDES +#include +#include + +//Constants +#ifdef _DEBUG + _LIT( KCacheClientLogDir, "XDM" ); + _LIT( KCacheClientLogFile, "CacheClient.txt" ); +#endif + +//FORWARD DECLARATIONS +class TCacheEntryInfo; +class CXcapCacheClient; + +//CLASS DECLARATION +class RXcapCache : public RSessionBase + { + public: // New functions + + /** + * C++ Constructor. + */ + IMPORT_C RXcapCache(); + + /** + * Return the version of this component + * + * @return TVersion The version number + */ + IMPORT_C TVersion Version() const; + + /** + * Connect to the server side session object + * + * @return TInt Error code + */ + IMPORT_C TInt Connect(); + + /** + * Destructor + */ + IMPORT_C ~RXcapCache(); + + /** + * Store a new document + * + * @param TDesC8& ETag of the new document + * @param TDesC& Name of the document + * @param TDesC8& Root location of the document + * @param TDesC8& The document content + * @return void + */ + IMPORT_C void Store( const TDesC8& aETag, + const TDesC& aDocumentName, + const TDesC8& aRootLocation, + const TDesC8& aResponseData ); + + /** + * Remove a named document from the cache + * + * @param TDesC& Name of the document + * @param TDesC8& Root location of the document + * @return TInt Error code + */ + IMPORT_C TInt Delete( const TDesC& aDocumentName, + const TDesC8& aRootLocation ); + + /** + * Fetch information on a named document + * + * @param TDes8& Contains the ETag string on completion + * @param TCacheEntryInfo& Encapsulates root & name + * @return TInt Error code + */ + IMPORT_C TInt FetchDocumentInfo( TDes8& aETagDescriptor, + const TDesC& aDocumentName, + const TDesC8& aRootLocation, + TCacheEntryInfo& aEntryInfo ); + + /** + * Fetch content for the named document + * + * @param TRequestStatus& Request status of the client + * @param TDes8& Contains the document contents on completion + * @param TCacheEntryInfo& Encapsulates root & name + * @return TInt Error code + */ + IMPORT_C void FetchDocumentContent( TDes8& aContentDescriptor, + const TDesC& aDocumentName, + const TDesC8& aRootLocation ); + + /** + * Check validity of the named document + * + * @param TDesC8& ETag of the document + * @param TDesC& Name of the document + * @param TDesC8& Root location of the document + * @return TInt Error code + */ + IMPORT_C TInt IsCurrent( const TDesC8& aETag, + const TDesC& aDocumentName, + const TDesC8& aRootLocation ); + + /** + * Flush (externalise) cache metadata to disk + * + * @return void + */ + IMPORT_C void Flush(); + + public: //Not exported + + /** + * Start the server + * + * @return TInt Error code + */ + TInt StartServer(); + + /** + * Check whether the server is already running + * + * @return TBool Is the server running + */ + TBool IsRunning(); + + + private: //Data + + TBool iConnected; + }; + +#endif //__XCAPCACHE_H__ + + +