diff -r 5c72fd91570d -r 594d15129e2c services/terminalmodeservice_plat/inc/upnptmserver.h --- a/services/terminalmodeservice_plat/inc/upnptmserver.h Tue Aug 31 16:06:48 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,159 +0,0 @@ -/** -* Copyright (c) 2010 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: CUpnpTmServer class declaration -* -*/ - -#ifndef __UPNPTMSERVER_H__ -#define __UPNPTMSERVER_H__ - -// Include Files -#include // CBase -#include -#include -#include - -//Forward Declaration -class CUpnpTmServerImpl; - - -/** - * The Main interface for the Terminal Mode Service. - * The client of this class (Automotive Server or equivalent) is responsible - * for registering/unregistering the remotable apps and updating the status - * of the running apps. - * The client should also "start" and "stop" the service through the API - * provided in this class - */ -class CUpnpTmServer: public CBase - { -public: - /** - * Standard Symbian Two-phased constructor. - * @param aDeviceInfo The IAP and device Settings that the - * Terminal Mode Service needs to operate. - * A valid IAP ID is mandatory. - * @param aUpnpTmServerObserver The callback interface that the client - * application must implement. - */ - IMPORT_C static CUpnpTmServer* NewL( CUpnpTmServerDeviceInfo& aDeviceInfo, - MUpnpTmServerObserver& aUpnpTmServerObserver ); - ~CUpnpTmServer(); - -public: - /** - * Method to register a single App (aka Remotable App ). - * The caller must create a CUpnpRemotableApp object and - * populate it before calling this method. - * @param aRemotableApp A pointer to a Remotable App object. - * "Ownership" of the object is passed. - * Must not be NULL. - */ - IMPORT_C void RegisterAppL( CUpnpRemotableApp* aRemotableApp ); - /** - * Method to register a list of Apps (aka Remotable Apps). - * The caller must create all the CUpnpRemotableApp objects - * and populate them before calling this method. - * This list of apps will be appended to existing list of - * registered apps. - * @param aRemotableAppList A RPointerArray of Remotable App objects. - * "Ownership" of all the objects is passed. - * None of the objects must be NULL. - */ - IMPORT_C void RegisterAppsL( const RPointerArray& aRemotableAppList ); - /** - * Method to unregister a single App from the service. - * The specified App must be registered with the - * Terminal Mode Service. - * @param aAppId The ID of the app to be unregistered - */ - IMPORT_C TInt UnRegisterApp( TUint aAppId ); - /** - * Method to unregister multiple Apps from the service. - * The specified Apps must be registered with the - * Terminal Mode Service. - * In case of duplicate appIDs ,TM service will sort out the duplicate ones - * and will unregister only once for a particular appID. - * Even if a single app from the requested array is unable to get - * un-registered the method should return KErrNotFound. - * @param aAppIdArray The list of IDs of the apps to be unregistered - */ - IMPORT_C TInt UnRegisterApps( const RArray& aAppIdArray ); - /** - * Method to set the XML signature of the registered apps - * This is done as specified in XML Signature Syntax. - * The signature value is opaque to the TM Service. - * @param aSignature XML formatted buffer - */ - IMPORT_C void SetXmlSignatureL( const TDesC8& aSignature ); - /** - * Method to Start the Terminal Moder Server Device and its services. - * This must be called to initiate all the UPnP related - * activities. - */ - IMPORT_C void StartL(); - /** - * Method to Stop the Terminal Moder Server Device and its services. - * No further UPnP related activities will occur after this. - */ - IMPORT_C void StopL(); - /** - * Method to fetch the Remotable App object by passing the - * App ID of the same. Method is invoked by the Automotive Server - * when it wishes to modify any of the existing remotable app. - * @param aAppId App ID of the requested App - * @param aErr[out] Error code - * @return Returns reference to CUpnpRemotableApp object - */ - IMPORT_C CUpnpRemotableApp& GetRemotableApp( TUint aAppId, TInt& aErr ); - /** - * Method through which the notification of applications whose status - * has changed is sent across to the Car Kit through the Service . - * TM Service ignores the duplicate appIDs and sends only the list of - * unique appIDs. - * @param aUpdatedAppIdList List of appIDs whose status has changed - */ - IMPORT_C void UpdateAppStatusL( const RArray& aUpdatedAppIdList ); - /** - * Method through which the notification of applications whose entries - * in the application list have changed is sent across to the Car Kit - * through the Service. - * TM Service ignores the duplicate appIDs and sends only the list of - * unique appIDs. - * @param aUpdatedAppIdList List of appIDs whose entries haave changed - */ - IMPORT_C void UpdateAppListL( const RArray& aUpdatedAppIdList ); - /** - * Method through which the notification of profileIDs which are not used - * used by any Terminal Mode service hosted on the Terminal Mode device - * is sent across to the Car Kit through the Service. - * TM Service ignores the duplicate profileIDs and sends only the list of - * unique profileIDs. - * @param aUnusedProfileIdList List of profile IDs for profiles which are - * currently not being used by any Terminal Mode service - */ - IMPORT_C void UpdateUnusedProfileIdsL( const RArray& aUnusedProfileIdList ); - -private: - CUpnpTmServer(); - void ConstructL( CUpnpTmServerDeviceInfo& aDeviceInfo, - MUpnpTmServerObserver& aUpnpRemoteServer ); - -private: - // The "body"/implementation - CUpnpTmServerImpl* iTmServerImpl; - }; - -#endif // __UPNPTMSERVER_H__ -