diff -r 000000000000 -r c8caa15ef882 xdmprotocols/XcapProtocol/XcapCache/Server/inc/XcapCacheServer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xdmprotocols/XcapProtocol/XcapCache/Server/inc/XcapCacheServer.h Tue Feb 02 01:05:17 2010 +0200 @@ -0,0 +1,206 @@ +/* +* 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: CXcapCacheServer +* +*/ + + + + +#ifndef __XCAPCACHESERVER_H__ +#define __XCAPCACHESERVER_H__ + +// INCLUDES +#include +#include +#include "ServerDefines.h" +#include "CommonDefines.h" +#include "XcapShutdownTimer.h" + +//CONSTANTS +_LIT( KCacheServerRoot, "C:\\private\\10207421\\" ); +_LIT( KCacheServerIndex, "C:\\private\\10207421\\index.ch" ); +_LIT( KCacheServerPageFile, "C:\\private\\10207421\\pagefile.ch" ); +_LIT( KCacheServerIndexF, "index.ch" ); +_LIT( KCacheServerPageFileF, "pagefile.ch" ); + +_LIT( KCacheServerLogDir, "XDM" ); +_LIT( KCacheServerLogFile, "CacheServer.txt" ); +const TUint KAppDefaultHeapSize = 0x10000; + +//FORWARD DECLARATIONs +class CXcapCacheIndex; +class CXcapCacheIndexAdmin; + +// CLASS DECLARATION +class CXcapCacheServer : public CServer2 + { + public: // Constructors and destructor + + /** + * Returns KErrNone + * @return TInt System wide error code + */ + IMPORT_C static TInt StartThreadL(); + + /** + * A global logging function for 8 bit data. + * @param aCommand command to be handled + */ + IMPORT_C static void WriteToLog( TRefByValue aFmt,... ); + + /** + * Returns the MIME type of the messages + * @return TPtrC8 The MIME type of the messages + */ + static CServer2* NewLC( void ); + + /** + * Returns the MIME type of the messages + * @return TPtrC8 The MIME type of the messages + */ + virtual CSession2* NewSessionL( const TVersion& aVersion, + const RMessage2& /*aMessage*/ ) const; + + /** + * Returns the MIME type of the messages + * @return TPtrC8 The MIME type of the messages + */ + RFs* Session(); + + /** + * Returns the MIME type of the messages + * @return TPtrC8 The MIME type of the messages + */ + TInt CacheSize( TInt& aEntryCount ); + + /** + * Returns the MIME type of the messages + * @return TPtrC8 The MIME type of the messages + */ + TInt MaxCacheSize() const; + + /** + * Returns the MIME type of the messages + * @return TPtrC8 The MIME type of the messages + */ + ~CXcapCacheServer(); + + public: //static + + /** + * A global logging function for 8 bit data. + * @param aCommand command to be handled + */ + static RFs& FileSession(); + + /** + * A global logging function for 8 bit data. + * @param aCommand command to be handled + */ + static CXcapCacheIndex* Index(); + + /** + * A global logging function for 8 bit data. + * @param aCommand command to be handled + */ + static CXcapCacheIndexAdmin* IndexAdmin(); + + /** + * A global logging function for 8 bit data. + * @param aCommand command to be handled + */ + static TInt ConvertDesc( const TDesC8& aNumberDesc ); + + /** + * A function to handle descriptor data. + * @return Date in heap descriptor + */ + static HBufC* DateL(); + + /** + * A function to handle descriptor data. + * @return Time in heap descriptor + */ + static HBufC* TimeL(); + + /** + * A function to handle descriptor data. + * @return Random string heap descriptor + */ + static HBufC* RandomStringL(); + + /** + * A function to handle descriptor data. + * @return Date and time heap descriptor + */ + static HBufC* DateTimeL(); + + /** + * A function to handle descriptor data. + * @return Date and time heap descriptor + */ + static HBufC* DateTimeL( const TTime& aTime ); + + /** + * A function to handle descriptor data. + * @param aCommand command to be handled + */ + static TPtr8 DescriptorCast( const TDesC8& aConstData ); + + private: + + /** + * Returns the MIME type of the messages + * @return TPtrC8 The MIME type of the messages + */ + CXcapCacheServer( TInt aPriority ); + + /** + * Returns the MIME type of the messages + * @return TPtrC8 The MIME type of the messages + */ + void ConstructL(); + + /** + * Returns the MIME type of the messages + * @return TPtrC8 The MIME type of the messages + */ + void ReadMaxCacheSizeL(); + + /** + * Returns the MIME type of the messages + * @return TPtrC8 The MIME type of the messages + */ + void AddSession(); + + /** + * Returns the MIME type of the messages + * @return TPtrC8 The MIME type of the messages + */ + void DropSession(); + + private: // Data + + RFs iFileSession; + TInt iMaxCacheSize; + TUint iSessionCount; + CDir* iCacheDirectory; + CXcapShutdownTimer iShutdownTimer; + friend class CXcapCacheSession; + }; + +#endif + +// End of File