diff -r 000000000000 -r dfb7c4ff071f commsprocess/commsrootserverconfig/configurator/src/c32startserv.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsprocess/commsrootserverconfig/configurator/src/c32startserv.h Thu Dec 17 09:22:25 2009 +0200 @@ -0,0 +1,98 @@ +// Copyright (c) 2005-2009 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: +// + +#if !defined(__C32STARTSERV_H__) +#define __C32STARTSERV_H__ + +#include +#include "c32start.h" + + +class CRsConfiguratorServer : public CPolicyServer +/** The main class implementing the Configurator server. +@internalComponent +*/ + { + public: + CSession2* NewSessionL(const TVersion& aVersion, const RMessage2& aMessage) const; + + public : + + static CRsConfiguratorServer* NewLC(CCommsProcessStarter& aCommsProcess); + ~CRsConfiguratorServer(); + static CRsConfiguratorServer* NewL(CCommsProcessStarter& aCommsProcess); + + TInt EnumerateModules(const TCFGroupNameF& aGroupName, TInt& aStartAt, TCFModuleNameF& aName); + TInt LoadCpm(const TCFModuleNameF& aName,const RMessage2& aMessage); + TInt GetModuleIniData(const TCFModuleNameF& aName, TDes8& aIniData,TInt& aActualSize);//to be deleted + TInt GetModuleIniData(const TCFModuleNameF& aName, const RMessage2& aMessage); + TInt UnLoadCpm(const TCFModuleNameF& aName, const RMessage2& aMessage); + TInt CancelLoadCpm(const TCFModuleNameF& aName); + TInt CancelUnLoadCpm(const TCFModuleNameF& aName); + + private: + RPointerArray& GetModulesList() // Get the modules listed. + { + return iCommsProcess.GetModulesList(); + }; + + protected: + CRsConfiguratorServer(CCommsProcessStarter& aCommsProcess); + void ConstructL(); + static const CPolicyServer::TPolicy Policy; + + private: + CModuleRef* FindCpm(const TCFModuleNameF& aName); + CCommsProcessStarter& iCommsProcess; + static const TUint iPolicyRangeCount; + static const TInt iPolicyRanges[]; + static const TUint8 iPolicyElementsIndex[]; + static const CPolicyServer::TPolicyElement iPolicyElements[]; + static const CPolicyServer::TPolicy iPolicy; + // Debug build logging + __FLOG_DECLARATION_MEMBER; + }; + +class CRsConfiguratorServerSession : public CSession2 +/** Session object as required by the client/server framework. +Implements the "Secure IPC" API for configurator server. +@internalComponent +*/ + { + public: + CRsConfiguratorServerSession(const CRsConfiguratorServer* aConfiguratorServer); + + //service request + void ServiceL(const RMessage2& aMessage); + + //services available + private: + TInt LoadCpm(const RMessage2& aMessage); + TInt UnloadCpm(const RMessage2& aMessage); + TInt CancelLoadCpm(const RMessage2& aMessage); + TInt CancelUnloadCpm(const RMessage2& aMessage); + TInt EnumerateModules(const RMessage2& aMessage); + TInt GetModuleIniData(const RMessage2& aMessage); + + private: + CRsConfiguratorServer* iConfiguratorServer; + // Debug build logging + __FLOG_DECLARATION_MEMBER; + + }; + + +#endif +