diff -r 000000000000 -r dd21522fd290 webengine/widgetregistry/Server/inc/WidgetRegistrySession.h --- /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(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