webengine/widgetregistry/Server/inc/WidgetRegistrySession.h
changeset 0 dd21522fd290
child 36 0ed94ceaa377
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/widgetregistry/Server/inc/WidgetRegistrySession.h	Mon Mar 30 12:54:55 2009 +0300
@@ -0,0 +1,361 @@
+/*
+* Copyright (c) 2006, 2008 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:  This file contains the header file of the
+*                CWidgetRegistryServerSession class.
+*
+*                This class implements the CWidgetRegistryServerSession class.
+*
+*/
+
+#ifndef WIDGETREGISTRYSESSION_H
+#define WIDGETREGISTRYSESSION_H
+
+// INCLUDES
+#include "WidgetRegistryData.h"
+
+// FORWARD DECLARATIONS
+
+class CWidgetRegistryServer;
+class CWidgetData;
+class CWidgetRegistry;
+class RWriteStream;
+
+class CWidgetRegistryServerSession : public CSession2
+    {
+public:
+    /**
+    * Returns singleton of factory.
+    * @since 3.1
+    * @param aServer WidgetRegistry server
+    * @return CWidgetRegistryServerSession object
+    */
+    static CWidgetRegistryServerSession* NewL(
+        CWidgetRegistryServer& aServer,
+        const RMessage2& aMessage );
+
+    /**
+    * Destructor.
+    * @since 3.1
+    */
+    ~CWidgetRegistryServerSession();
+
+    /**
+    * Called by the CServer framework.
+    * @since 3.1
+    * @return none
+    */
+    void CreateL();
+    
+    static void ResetAndDestroy(TAny *aPtr)
+        {
+            static_cast<RWidgetInfoArray *>(aPtr)->ResetAndDestroy();
+        }
+    
+
+private:
+    /**
+    * C++ constructor.
+    * @since 3.1
+    */
+    CWidgetRegistryServerSession();
+
+    /**
+    * 2-phased constructor.
+    * @since 3.1
+    * @param aServer WidgetRegistry server
+    * @param aMessage message from client
+    * @return none
+    */
+    void ConstructL( CWidgetRegistryServer& aServer,
+        const RMessage2& aMessage );
+
+private:
+    /**
+    * From CSession2, handles messages from client
+    * @since 3.1
+    * @param aMessage message from client
+    * @return none
+    */
+    void ServiceL( const RMessage2& aMessage );
+
+    /**
+    * From CSession2, handles leaves from ServiceL()
+    * @since 3.2
+    * @param aMessage message from client
+    * @param aError
+    * @return none
+    */
+    void ServiceError(const RMessage2& aMessage,TInt aError);
+
+private: // Op Codes
+    /**
+    * Register widget
+    * @since 3.1
+    * @param aMessage message from client
+    * @return Error code
+    */
+    TInt OpRegisterWidgetL( const RMessage2& aMessage );
+
+    /**
+    * Whether widget exists or not for a given UId
+    * @since 3.1
+    * @param aMessage message from client
+    * @return boolean value whether widget exists or not
+    */
+    TBool OpWidgetExists( const RMessage2& aMessage );
+
+    /**
+    * Checks if the UId is in the range allocated for widgets
+    * @since 3.1
+    * @param aMessage message from client
+    * @return true if the given UId falls within the range allocated
+    * for widgets otherwise false
+    */
+    TBool OpIsWidget( const RMessage2& aMessage );
+
+    /**
+    * Checks if widget is running
+    * @since 3.1
+    * @param aMessage message from client
+    * @return true if widget is running otherwise false
+    */
+    TBool OpIsWidgetRunning( const RMessage2& aMessage );
+
+    /**
+    * Checks if widget sapi access is prompted, promptless or denied
+    * @since 5.0
+    * @param aMessage message from client
+    * @return TInt as state
+    */
+    TInt OpWidgetSapiAccessState(const RMessage2& aMessage );
+
+    /**
+    * Checks if widget is in mini view
+    * @since 
+    * @param aMessage message from client
+    * @return true if widget is miniview otherwise false
+    */
+    TBool OpIsWidgetInMiniView(const RMessage2& aMessage );
+
+     /**
+    * Checks if widget is started  in full view
+    * @since 
+    * @param aMessage message from client
+    * @return true if widget is started in fullview otherwise false
+    */
+    TBool OpIsWidgetInFullView(const RMessage2& aMessage );
+
+    /**
+    * Checks if mini view will be prompted for platform access
+    * @since 5.0
+    * @param aMessage message from client
+    * @return true if prompt is needed
+    */
+    TBool OpIsWidgetPromptNeeded(const RMessage2& aMessage );
+
+    /**
+    * Count of the widgets installed
+    * @since 3.1
+    * @param aMessage message from client
+    * @return number of widgets installed
+    */
+    TInt OpWidgetCount( const RMessage2& aMessage );
+
+    /**
+    * Get array of installed widgets.
+    * @since 3.1
+    * @param aMessage message from client
+    * @return count of installed widgets
+    */
+    TInt OpInstalledWidgetsPhase1L( const RMessage2& aMessage );
+
+    /**
+    * Get array of installed widgets.
+    * @since 3.1
+    * @param aMessage message from client
+    * @return count of installed widgets
+    */
+    TInt OpInstalledWidgetsPhase2L( const RMessage2& aMessage );
+
+    /**
+    * Get array of running widgets.
+    * @since 3.1
+    * @param aMessage message from client
+    * @return count of running widgets
+    */
+    TInt OpRunningWidgetsPhase1L( const RMessage2& aMessage );
+
+    /**
+    * Get array of running widgets.
+    * @since 3.1
+    * @param aMessage message from client
+    * @return count of running widgets
+    */
+    TInt OpRunningWidgetsPhase2L( const RMessage2& aMessage );
+
+    /**
+    * Get widget bundle Id.
+    * @since 3.1
+    * @param aMessage message from client
+    * @return length of widget bundle Id
+    */
+    TInt OpGetWidgetBundleId( const RMessage2& aMessage );
+
+    /**
+    * Get widget info.plist key string value.
+    * @since 3.1
+    * @param aMessage message from client
+    * @return error code
+    */
+    TInt OpGetWidgetPropertyValueL( const RMessage2& aMessage );
+
+    /**
+    * Get widget bundle display name.
+    * @since 3.1
+    * @param aMessage message from client
+    * @return length of widget bundle display name
+    */
+    TInt OpGetWidgetBundleName( const RMessage2& aMessage );
+
+    /**
+    * Get widget path.
+    * @since 3.1
+    * @param aMessage message from client
+    * @return length of widget path
+    */
+    TInt OpGetWidgetPath( const RMessage2& aMessage );
+
+    /**
+    * Get widget UId of the widget with the given bundle Id.
+    * @since 3.1
+    * @param aMessage message from client
+    * @return UId
+    */
+    TInt OpGetWidgetUid( const RMessage2& aMessage );
+
+    /**
+    * widget UId of the widget with the given url.
+    * @since 3.1
+    * @param aMessage message from client
+    * @return UId
+    */
+    TInt OpGetWidgetUidForUrl( const RMessage2& aMessage );
+
+    /**
+    * Register the widget.
+    * @since 3.1
+    * @param aMessage message from client
+    * @return Error code
+    */
+    TInt OpDeRegisterWidgetL( const RMessage2& aMessage );
+
+    /**
+    * next available UId
+    * @since 3.1
+    * @param aMessage message from client
+    * @return next available UId
+    */
+    TInt OpGetAvailableUidL( const RMessage2& aMessage );
+
+    /**
+    * Set/Reset active status of the widget
+    * @since 3.1
+    * @param aMessage message from client
+    * @return none
+    */
+    void OpSetActive( const RMessage2& aMessage );
+
+    /**
+    * Set/Reset active status of the widget
+    * @since 3.1
+    * @param aMessage message from client
+    * @return none
+    */
+    void OpSetMiniView( const RMessage2& aMessage );
+
+    /**
+    * Set/Reset active status of the widget
+    * @since 3.1
+    * @param aMessage message from client
+    * @return none
+    */
+    void OpSetFullView( const RMessage2& aMessage );
+
+    /**
+    * Set/Reset prompt required for miniview platform access
+    * @since 5.0
+    * @param aMessage message from client
+    * @return none
+    */
+    void OpSetPromptNeeded( const RMessage2& aMessage );
+
+    /**
+    * Disconnect from client
+    * @since 3.1
+    * @param aMessage message from client
+    * @return Error code
+    */
+    TInt OpDisconnect( const RMessage2& aMessage );
+
+    /**
+    * Get lproj name.
+    * @since 3.1
+    * @param aMessage message from client
+    * @return length of lproj name
+    */
+    TInt OpGetLprojNameL( const RMessage2& aMessage );
+
+    /**
+    * Get Security PolicyId
+    * @since 5.0
+    * @param aMessage message from client
+    * @return Security PolicyId
+    */
+    TInt OpSecurityPolicyId( const RMessage2& aMessage );
+
+    /**
+    * Get WidgetRegistry server object as reference
+    * @since 3.1
+    * @return WidgetRegistry server object
+    */
+    CWidgetRegistryServer& WidgetRegistryServer();
+
+    /**
+    * Write data to aStream
+    * @since 3.1
+    * @return none
+    */
+    void ExternalizeL(
+        RWriteStream& aStream, RWidgetInfoArray& aWidgetInfoArr );
+
+    /**
+    * Creates heap descriptor which holds contents of RWidgetInfoArray
+    * @since 3.1
+    * @return heap descriptor
+    */
+    HBufC8* MarshalDataL( RWidgetInfoArray& aWidgetInfoArr );
+
+    /**
+    * delete each item in RWidgetInfoArray
+    * @since 3.1
+    * @return none
+    */
+    void ResetWidgetInfo( RWidgetInfoArray& aWidgetInfoArr );
+
+private:
+    RFs                     iRfs;// file session, owned
+    static CWidgetRegistry* iWidgetRegistry;// widget registry object, owned
+    };
+
+#endif