diff -r 35488577e233 -r 2fa1fa551b0b satengine/SatServer/Engine/inc/CSatSServer.h --- a/satengine/SatServer/Engine/inc/CSatSServer.h Mon Aug 23 15:50:31 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,290 +0,0 @@ -/* -* Copyright (c) 2002-2005 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: Server class -* -*/ - - -#ifndef CSATSSERVER_H -#define CSATSSERVER_H - -#include -#include "TSatEventMediator.h" -#include "MSatSSessions.h" - -class CSatCommandContainer; -class CSatSUiClientHandler; -class MSatUtils; - -// ---------------------------------------------------------------------------------------- -// Server's policy here -// ---------------------------------------------------------------------------------------- - -//Total number of ranges -const TUint KSatServerCount = 14; // 13 + 0 - -//Definition of the ranges of IPC numbers -const TInt satServerRanges[KSatServerCount] = - { - // Illegal service request. - 0, //ESatSNone, //Range 0 - - /*// Server test commands - ESatSDisplayText, - ESatSNotifyTest, - ESatSNotifyTestCancel, - ESatSShutdown,*/ - 1, // Range 1. - - /*These proactive commands need no capability checling - Proactive commands (asynchronous) - ESatSProactiveDisplayText, - ESatSProactiveGetInkey, - ESatSProactiveGetInput, - ESatSProactiveSetUpMenu, - ESatSProactiveSelectItem, - ESatSProactivePlayTone, - ESatSProactiveRefresh,*/ - 5, // Range 2. - - /* This range needs capability checking, NetworkServices. - //ESatSProactiveSendSs, - ESatSProactiveSendUssd, - ESatSProactiveSendDtmf, - ESatSProactiveQuery, // for Send SM and Set Up Call - ESatSProactiveEvent, // for server event notification - ESatSProactiveSetUpCall,*/ - 12, // Range 3. - - // Envelope commands (synchronous) - // ESatSActiveMenuSelection, - 18, // Range 4 - - // CallControl command - //ESatSCallControl, - 19, // Range 5 - - - // MoSmControl command - // ESatSMoSmControl, - 20, // Range 6 - - /* Command responses (synchronous) - ESatSProactiveDisplayTextResponse, - ESatSProactiveGetInkeyResponse, - ESatSProactiveGetInputResponse, - ESatSProactiveSetUpMenuResponse, - ESatSProactiveSelectItemResponse, - ESatSProactivePlayToneResponse, - ESatSProactiveSendSsResponse, - ESatSProactiveSendUssdResponse, - ESatSProactiveSendDtmfResponse, - ESatSProactiveQueryResponse, - ESatSProactiveEventResponse, - ESatSProactiveSetUpCallResponse,*/ - 21, // Range 7 - - // SAT UI related call control response - //ESatSCallControlUIResponse, - 33, // Range 8 - - // ESatSProactiveRefreshResponse, - 34, // Range 9 - - // SAT UI related response - // ESatSMoSmControlUIResponse, - 35, // Range 10 - - /* Session indicators (for internal use) - ESatSOpenUiSubSession, - ESatSGetSIMAppStatus, - ESatSCloseUiSubSession,*/ - - 36, // Range 11 - - /* Refresh handling - ESatSOpenRefreshSubSession, - ESatSCloseRefreshSubSession, - ESatSRefreshAllowed, - ESatSNotifyAllowRefresh, - ESatSNotityAllowRefreshCancel, - ESatSNotifyRefresh, - ESatSCancelNotifyRefresh,*/ - - 39, // Range 12 - - /* Icon handling - ESatSOpenIconSubSession, - ESatSCloseIconSubSession, - ESatSGetIconInfo, - ESatSGetIconInstance, - ESatSIconInstanceGot*/ - - 46, // Range 13 - - }; - -//Policy to implement for each of the above ranges -const TUint8 satServerElementsIndex[KSatServerCount] = - { - CPolicyServer::EAlwaysPass, // 0 - CPolicyServer::EAlwaysPass, // 1 - CPolicyServer::EAlwaysPass, // 2 - 0, // Check Network Capabilites for this range - CPolicyServer::EAlwaysPass, // 4 - CPolicyServer::EAlwaysPass, // 5 - CPolicyServer::EAlwaysPass, // 6 - CPolicyServer::EAlwaysPass, // 7 - CPolicyServer::EAlwaysPass, // 8 - CPolicyServer::EAlwaysPass, // 9 - CPolicyServer::EAlwaysPass, // 10 - CPolicyServer::EAlwaysPass, // 11 - CPolicyServer::EAlwaysPass, // 12 - CPolicyServer::EAlwaysPass // 13 - }; - -//Specific capability checks -const CPolicyServer::TPolicyElement satServerElements[] = - { - // policy "0"; fail call if NetworkServices not present. - //lint -e{778,1924} Macro can not be affected. - { - _INIT_SECURITY_POLICY_C1( ECapabilityNetworkServices ), - CPolicyServer::EFailClient - }, - }; - -//Package all the above together into a policy -const CPolicyServer::TPolicy satServerPolicy = - { - CPolicyServer::EAlwaysPass, //specifies all connect attempts should pass - KSatServerCount, //number of ranges - satServerRanges, //ranges array - satServerElementsIndex, //elements<->ranges index - satServerElements, //array of elements - }; - -// End Server's Policy - -/** -* Manages sessions -* -* @lib SatServer.exe -* @since Series 60 3.0 -*/ -class CSatSServer : public CPolicyServer, - public MSatSSessions - { - public: // Constructors and destructor - - /** - * Two-phased constructor. - */ - static CSatSServer* NewL(); - - /** - * Destructor. - */ - virtual ~CSatSServer(); - - public: // New functions - - /** - * Completes current message from client. - * @param aError Standard Symbian error code. - */ - void CompleteMessage( TInt aError ) const; - - /** - * Creates new container for sessions. - * @return New container. - */ - CObjectCon* CreateNewContainerL(); - - /** - * Gets MSatUtils interface - * @return MSatUtils interface - */ - MSatUtils* SatUtils(); - - /** - * Adds refresh subsession. - * @param aSubSession refresh subsession. - */ - void AddL( const MSatRefreshSubSession* aSubSession ); - - /** - * Removes refresh subsession. - * @param aSubSession Sub session to be removed. - */ - void Remove( const MSatRefreshSubSession* aSubSession ); - - public: // Functions from base classes - - /** - * From MSatSSessions Gives ui session interface. - * @return Interface for ui session - */ - MSatUiSession* UiSession(); - - /** - * From MSatSSessions Gives refresh subsessions. - * @return Pointer array containing refresh subsessions - */ - const RPointerArray& RefreshSubSessions(); - - private: // Functions from base classes - - /** - * From CServer2, creates a new server session. - * @param aVersion Client interface version. - * @param aMessage 'connect' message from the client. - * @return Pointer to the created server session. - */ - CSession2* NewSessionL( - const TVersion& aVersion, - const RMessage2& aMessage ) const; - - private: - - /** - * C++ default constructor. - */ - CSatSServer(); - - /** - * By default Symbian 2nd phase constructor is private. - */ - void ConstructL(); - - private: // Data - - // SAT Command handler container - CSatCommandContainer* iCmdContainer; - - // SAT Ui client handler - CSatSUiClientHandler* iUiHandler; - - // Event mediator - TSatEventMediator iEventMediator; - - // CObjectCon factory. - CObjectConIx* iObjectConIx; - - // Refresh subsessions - RPointerArray iRefreshSubSessions; - - }; - -#endif // CSATSSERVER_H