diff -r 000000000000 -r dfb7c4ff071f commsprocess/commsrootserverconfig/inc/c32Exe.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsprocess/commsrootserverconfig/inc/c32Exe.h Thu Dec 17 09:22:25 2009 +0200 @@ -0,0 +1,121 @@ +// Copyright (c) 2003-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(__C32EXE_H__) +#define __C32EXE_H__ + +/** +@file + +@internalComponent +@released +*/ + +#include +#ifdef SYMBIAN_ZERO_COPY_NETWORKING +#include +#else +#include +#endif // SYMBIAN_ZERO_COPY_NETWORKING +#include +#include "c32policy.h" + +namespace RootServer +{ + +class CC32ProviderModule : public CCommsProviderModule +/** C32 process specific rootserver extensions. +@internalComponent +@released +*/ + { +public: + + static CCommsProviderModule* NewL(CRootServer* aRootServer, const TRSStartModuleParams& aParams, HBufC8* aIniData); + +private: + CC32ProviderModule() : + CCommsProviderModule(iRCFThread) + { + } + virtual TInt CreateModuleThread(const TDesC& aName, TThreadFunction aOtherThreadFunction, + TInt aStackSize, RHeap* aHeap, TAny* aModuleArgs); +private: + /** Thread handle of running module context. + */ + CommsFW::RCFThread iRCFThread; + }; + +class CC32RootServer : public CRootServer +/** C32 process specific rootserver extensions. +@internalComponent +@released +*/ + { +public: + ~CC32RootServer(); + + static CRootServer* NewL(const TRootServerStartupInfo& aRootServerStartupInfo); + + virtual void LazyLoadL(); + virtual TInt AdjustMBufPool(const TRSSetMBufMnr &aMBufParams); + virtual TInt AdjustMBufSizeAllocInfo(const TRSAddMBufAllocInfo &aMBufParamsPckg); + virtual TBool IsCallerConfigurator(const CRootServerSession* aSession, const RMessage2& aMessage); + virtual void DisconnectSession(const CRootServerSession* aSession); + + virtual CSession2* NewSessionL(const TVersion &aVersion, const RMessage2& aMessage) const; +#ifdef _DEBUG + virtual TInt RunError( TInt aError ); +#endif //_DEBUG + +private: + CC32RootServer(TInt aPriority): + CRootServer(aPriority,CC32RootServerPolicy) + { + } + +private: + RArray iMBufSizeAllocInfo; +#ifdef SYMBIAN_ZERO_COPY_NETWORKING + RCommsBufPondOp iCommsBufPond; +#else + TUint iInitMBufPoolSize; + TUint iMaxMBufPoolSize; + + CMBufManager* iMBufManager; + MMBufSizeAllocator *iMBufSizeAllocator; +#endif // SYMBIAN_ZERO_COPY_NETWORKING + const CRootServerSession* iTheConfiguratorSession; + }; + +class CC32RootServerSession : public CRootServerSession +/** C32 process specific RootServer Session extensions. +@internalComponent +@released +*/ + { +public: + CC32RootServerSession(const CRootServer* aRootServer); + virtual void ServiceL(const RMessage2& aMessage); + ~CC32RootServerSession(); + +private: + TInt SetMBufPoolSize(const RMessage2& aMessage); + virtual TInt IsCallerConfigurator(const RMessage2& aMessage); + TInt AddMBufAllocInfo(const RMessage2& aMessage); + + }; +} +#endif // __C32ROOT_H__