diff -r 000000000000 -r 094583676ce7 PECengine/StorageManager2/ServerSrc/MPEngStorageServer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/PECengine/StorageManager2/ServerSrc/MPEngStorageServer.h Thu Dec 17 08:41:52 2009 +0200 @@ -0,0 +1,253 @@ +/* +* Copyright (c) 2002 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: Storage Server Abstract interface +* +*/ + + + +#ifndef __MPENGSTORAGESERVER_H__ +#define __MPENGSTORAGESERVER_H__ + +// INCLUDES + +#include +#include +#include "TPEngStorageServerMessages.h" + +// FORWARD DECLARATIONS +class CPEngStorageFolder; +class RPEngMessage; + + +/** +* Storage Server Abstract interface +* +* @since 3.0 +*/ +class MPEngStorageServer + { + public: // New functions + + /** + * Add subsession to the container + * + * @since 3.0 + * @param aSubSession sub session instance + */ + virtual void AddSubSessionL( CObject& aSubSession ) = 0; + + /** + * Remove subsession from the container + * + * @since 3.0 + * @param aSubSession subsession instance + */ + virtual void RemoveSubSessionL( CObject& aSubSession ) = 0; + + /** + * Start Listening of the Global events + * Content of the client message is defined in the + * + * + * @since 3.0 + * @param aMessage message from the client + * @param aSessionId Id of the session request came from + */ + virtual void RegisterGlobEventListenerL( const RPEngMessage& aMessage, + TUint32 aSessionId ) = 0; + + /** + * Cancel specified asynchronous request of the client + * Content of the client message is defined in the + * + * + * @since 3.0 + * @param aMessage message from the client + * @param aSessionId Id of the session request came from + */ + virtual void CancelRequestL( const RPEngMessage& aMessage, + TUint32 aSessionId ) = 0; + + /** + * Cancel all session's asynchronous request + * + * @since 3.0 + * @param aSessionId Id of the session request came from + */ + virtual void CancelAllSessionRequests( TUint32 aSessionId ) = 0; + + /** + * Reload Asynchronous scout of the async observer + * Content of the client message is defined in the + * + * + * @since 3.0 + * @param aMessage message from the client + * @param aSessionId Id of the session request came from + */ + virtual void ReloadAsynchronousScoutL( const RPEngMessage& aMessage, + TUint32 aSessionId ) = 0; + + /** + * Create Session slot Folder + * If session Slot folder exists, new Application ID is just + * registered there. + * Content of the client message is defined in the + * + * + * @since 3.0 + * @param aMessage message from the client + * @param aSessionId Id of the session request came from + */ + virtual void CreateSessionFolderL( + const RPEngMessage& aMessage ) = 0; + + /** + * Remove Session slot Folder + * If session Slot folder has registered more Application Ids + * it stays in the storage, till last one is unregistered + * Content of the client message is defined in the + * + * + * @since 3.0 + * @param aMessage message from the client + * @param aSessionId Id of the session request came from + */ + virtual void RemoveSessionFolderL( + const RPEngMessage& aMessage ) = 0; + + /** + * Get session slot state + * Returns to the client buffer with the session slot state + * Content of the client message is defined in the + * + * + * @since 3.0 + * @param aMessage message from the client + */ + virtual void SessionStateL( const RPEngMessage& aMessage ) = 0; + + /** + * Get All Session slots states + * Returns to the client buffer with all session slot states + * Content of the client message is defined in the + * + * + * @since 3.0 + * @param aMessage message from the client + */ + virtual void AllSessionStatesL( const RPEngMessage& aMessage ) = 0; + + /** + * Get Storage Folder Instance and return its pointer + * Content of the client message is defined in the + * + * + * @since 3.0 + * @param aMessage message from the client + */ + virtual CPEngStorageFolder* StorageFolderL( + const RPEngMessage& aMessage ) = 0; + + /** + * Notify new global event to the listeners + * + * @since 3.0 + * @param aGlobalEvent global event des buffer + */ + virtual void NotifyGlobalEvent( const TDesC8& aGlobalEvent ) = 0; + + /** + * Notify Error to the listeners of new events + * + * @since 3.0 + * @param aError error code + */ + virtual void NotifyError( TInt aError ) = 0; + + /** + * Check if passed Application Id is registered for + * defined session slot + * Content of the client message is defined in the + * + * + * @since 3.0 + * @param aMessage message from the client + */ + virtual void IsAppIdRegisteredL( const RPEngMessage& aMessage ) = 0; + + /** + * Is back up operation active + * + * @since 3.0 + * @return ETrue if back up is active + */ + virtual TBool BackUpActive() = 0; + + + public: // testing support + + /** + * Wipe Session Slot folder + * Nothing is checked, folder is wipe out with force + * + * @since 3.0 + * @param aMessage message from the client + */ + virtual void WipeSessionSlotFolderL( + const RPEngMessage& aMessage ) = 0; + + public: // Reference counted access related functions + + /** + * Session has been created + * More in the file + * + * @since 3.0 + */ + virtual void SessionCreated() = 0; + + /** + * Session is dying, check if server is needed + * More in the file + * + * @since 3.0 + */ + virtual void SessionDied() = 0; + + public: // used by server timer + + /** + * Timer expired + * + * @since 3.0 + */ + virtual void TimeExpired() = 0; + + protected: //Destructor + + /** + * Virtual inline destructor. + * + * Server cannot be destroyed through this interface + * destroyed using this interface. + */ + virtual ~MPEngStorageServer() {}; + + }; + +#endif // __MPENGSTORAGESERVER_H__ + +// End of File