diff -r 5c72fd91570d -r 594d15129e2c services/terminalmodeservice_plat/inc/upnpremotableapp.h --- a/services/terminalmodeservice_plat/inc/upnpremotableapp.h Tue Aug 31 16:06:48 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,130 +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: CUpnpRemotableApp class declaration -* -*/ - -#ifndef __UPNPREMOTABLEAPP_H__ -#define __UPNPREMOTABLEAPP_H__ - -#include -#include -#include - -/** -* Class represents a Remotable App or just "app" in the -* context of Terminal Mode Service. -* The Automotive Server (or equivalent) is responsible for creating an object -* of this class and registering it with the Terminal Mode Service. -* The Terminal Mode Service will maintain a list of these registered apps throughout -* it's lifetime. The Automotive Server can remove apps from this list by -* unregistering them. -*/ -class CUpnpRemotableApp : public CBase - { -public: - /** - * Standard Symbian Two-Phase constructor - * @param aAppId The locally unique ID of the App being registered. - * The Terminal Mode Service will check for the uniqueness - * of this ID when this Remotable app object is registered. - * @param aAppName The Name of the App being registered. The Terminal Mode - * Service will *not* check for uniqueness. However, it's - * recommended that this is unique as well. - * @see CUpnpTmServer::RegisterAppL, CUpnpTmServer::RegisterAppsL - */ - IMPORT_C static CUpnpRemotableApp* NewL( TUint aAppId ,const TDesC8& aAppName ); - - ~CUpnpRemotableApp(); - /** - * Method that sets the brief description about the application( remotable app ) - * An optional element. - * @param aDescription Description of the Application - */ - IMPORT_C void SetAppDescriptionL( const TDesC8& aDescription ); - /** - * Method to set the list of allowed profile IDs associated with the remotable app. - * An optional element. - * @aProfileIdList Reference to an array of profile IDs. - * A copy of array is maintained. - */ - IMPORT_C void SetAllowedProfileIdListL( const RArray& aProfileIdList ); - /** - * Method that adds a new icon to this Remotable App. - * An optional element. - * @param aIcon [in] The Icon object. Must be instantiated by the caller prior to - * this call. Should be non-NULL. - * The ownership is transferred to the CUpnpRemotableApp object. - * @see CUpnpTerminalModeIcon - */ - IMPORT_C void AddIconL( CUpnpTerminalModeIcon* aIcon ); - /** - * Method that creates a new terminal mode info object and adds it to the list of - * terminal mode info objects supported by this app. The terminal mode info object thus - * created will be internally maintained by Remotable App object.A reference of the same - * will be returned to the caller. - * Only protocolID of the remotingInfo element is the required element as per the schema, - * otherwise all other info types and their elements are optional. - * @param aTerminalModeInfoType Terminal Mode Info Type as an Enum value. - * @see CUpnpTerminalModeInfoElement - */ - IMPORT_C CUpnpTmInfoElement& CreateTmInfoElementL( CUpnpTmInfoElement - ::TTerminalModeInfoType aTerminalModeInfoType ); - /** - * Method is used to define the current status of the resource. - * An optional element. - * @param aResourceStatus Status of the resource. Can take one of these values; - * Free, busy or NA - */ - IMPORT_C void SetResourceStatusL( const TDesC8& aResourceStatus ); - /** - * "Getter" method for retrieving the list of icons associated with this - * Remotable app object.An optional element. - * @return Returns RPointerArray of icons. - * @see CUpnpTerminalModeIcon - */ - inline const RPointerArray& IconList()const; - /** - * "Getter" Method for retrieving the list of terminal mode info details associated with - * this Remotable app object. - * @return Returns RPointerArray of terminal mode info objects. - * @see CUpnpTerminalModeInfo - */ - inline const RPointerArray& TmInfoElementList()const; - - // inlined "Getter" methods - inline TUint AppId()const; - inline const TDesC8& AppName()const; - inline const TDesC8& AppDescription()const; - inline const TDesC8& ResourceStatus()const; - inline const RArray& AllowedProfileIdList()const; - -protected: - CUpnpRemotableApp( TUint aAppId ); - void ConstructL( const TDesC8& aAppName ); - -private: - TUint iAppId; - RBuf8 iAppName; - RBuf8 iAppDescription; - RBuf8 iResourceStatus; - RPointerArray iIconList; - RPointerArray iTmInfoElementList; - RArray iProfileIdList; - }; - -#include - -#endif //__UPNPREMOTABLEAPP_H__ -