browserui/browser/Launcher2/inc/LauncherServerBase.h
changeset 0 84ad3b177aa3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/browserui/browser/Launcher2/inc/LauncherServerBase.h	Mon Mar 30 12:49:49 2009 +0300
@@ -0,0 +1,172 @@
+/*
+* 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 the License "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:  Header file for CLauncherServerBase
+*
+*
+*/
+
+
+#ifndef __LAUNCHERSERVERBASE_H__
+#define __LAUNCHERSERVERBASE_H__
+
+// INCLUDE FILES
+#include <e32base.h>
+#include <AknServerApp.h>
+
+// FORWARD DECLARATION
+class TBrowserOverriddenSettings;
+class CBrowserAppDocument;
+class CBrowserAppUi;
+
+// CLASS DECLARATION
+class CLauncherServerBase : public CAknAppServiceBase
+{
+public:
+
+    /**
+    * Default constructor
+    */
+    IMPORT_C CLauncherServerBase();
+
+    /**
+    * Handle incoming IPC messages.
+    * @param aMessage Object which encapsulates a client request.
+    */
+    IMPORT_C void ServiceL( const RMessage2& aMessage );
+    
+    /**
+    * Pointer to the Browser`s Ui.
+    */    
+    CBrowserAppUi* iBrowserAppUi; // not owned     
+
+private:
+
+    /**
+    * Handle syncronous messages. Parse the recieved message, 
+    * and call ProcessMessageSyncL
+    * @param aMessage Object which encapsulates a client request.
+    */
+    void HandleMessageSyncL( /*const RMessage2& aMessage*/ );
+
+    /**
+    * Handle asyncronous messages. Parse the recieved message, 
+    * and call ProcessMessageASyncL.
+    * @param aMessage Object which encapsulates a client request.
+    */    
+    void HandleMessageASyncL( /*const RMessage2& aMessage*/ );
+
+    /**
+    *
+    * @param aMessage Object which encapsulates a client request.
+    */    
+    void HandleMessageSyncBufferL( /*const RMessage2& aMessage*/ );
+
+    /**
+    *
+    * @param aMessage Object which encapsulates a client request.
+    */    	
+    void HandleMessageSyncBoolsL( /*const RMessage2& aMessage*/ );
+
+    /**
+    *
+    * @param aMessage Object which encapsulates a client request.
+    */    	
+    void HandleBrowserExit( /*const RMessage2& aMessage*/ );
+    
+
+    /**
+    * Process incoming messages syncronously.
+    * @param aEmbeddingApplicationUid Embedding application`s UID	
+    * @param aSettings Overridden user preferences.
+    * @param aFolderUid Uid of the folder that the Browser should open.
+    * @param aSeamlessParam 
+    * @param aIsContentHandlerRegistered True if a content handler is registered
+    * @return The result of processing. ( same as SendRecieve() )
+    */ 
+    virtual TInt ProcessMessageSyncL( TUid aEmbeddingApplicationUid, 
+    								  TBrowserOverriddenSettings aSettings, 
+    								  TInt aFolderUid, TPtrC aSeamlessParam, 
+    								  TBool aIsContentHandlerRegistered ) = 0;
+
+    /**
+    * Process incoming messages asyncronously.
+    * @param aEmbeddingApplicationUid Embedding application`s UID
+    * @param aSettings Overridden user preferences.
+    * @param aFolderUid Uid of the folder that the Browser should open.
+    * @param aSeamlessParam
+    * @param aIsContentHandlerRegistered True if a content handler is registered    
+    * @param isOverridenSettings True if the client sended an overidden setting
+    */
+    virtual void ProcessMessageASyncL( TUid aEmbeddingApplicationUid, 
+    								   TBrowserOverriddenSettings aSettings, 
+    								   TInt aFolderUid, 
+    								   TPtrC aSeamlessParam, 
+    								   TBool aIsContentHandlerRegistered, 
+    								   TBool aIsOverridenSettings ) = 0;
+
+    /**
+    * Process incoming messages asyncronously.
+    * @param aMessage Object which encapsulates a client request.
+    * @param aSettings Overridden user preferences.
+    * @param aFolderUid Uid of the folder that the Browser should open.
+    * @param aSeamlessParam  
+    * @param aParam The index of the parameter, in SendRecieve() function`s
+    * 		 parameters, which is the buffer on client side.
+    */
+    virtual TInt ProcessMessageSyncBufferL( ) = 0;
+
+    /**
+    * Process TBool parameters.
+    */
+    virtual void ProcessBoolsL( TBool aClientWantsToContinue, TBool aWasContentHandled ) = 0;
+
+    /**
+    * Process BrowserExit.
+    */
+    virtual void DoBrowserExit( ) = 0;       
+
+protected:
+
+    /**
+    * Buffer which will be copied to the client`s address
+    * space on completing asyncronous requests.
+    */
+    HBufC8* iClientBuffer;
+
+    /**
+    * Pointer to the Browser`s document.
+    */    
+    CBrowserAppDocument* iBrowserDocument; // not owned
+
+    /**
+    * Object which encapsulates a copy of a client request.
+    */	
+    RMessage2 iMySyncMessage; // One slot for synchronous requests.
+    RMessage2 iMyAsyncMessage; // One slot for asynchronous requests.
+
+/* Capability check will come later...
+public:
+	CLauncherServerBase( TCapability aClientReqs );
+
+private:
+	CPolicyServer::TCustomResult SecurityCheckL ( const RMessage2& aMsg, 
+												  TInt& aAction, 
+												  TSecurityInfo& aMissing );
+	TCapability iClientReqs;
+*/
+};
+
+#endif // __LAUNCHERSERVERBASE_H__
+
+// End of File
\ No newline at end of file