diff -r 87c71b25c937 -r 88ee4cf65e19 remotestoragefw/remotefileengine/inc/rsfwrfeserver.h --- a/remotestoragefw/remotefileengine/inc/rsfwrfeserver.h Wed Jun 09 10:37:35 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,129 +0,0 @@ -/* -* Copyright (c) 2003-2006 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: Remote File Engine server -* -*/ - - -#ifndef C_RSFWRFESERVER_H -#define C_RSFWRFESERVER_H - -// INCLUDES -#include -#include - -class CRsfwVolumeTable; - -// CONSTANTS -/** Panic Category */ -_LIT(KRfeServer, "RemoteFileEngine"); - -// for security check, same as File Server UID -const TUint KFileServerSecureUid = 0x100039e3; - -/** server inactivity timeout, in seconds */ -const TInt KRfeServerShutdownInterval = 5; - - -// DATA TYPES -/** Remote File Engine panic codes */ -enum TRfePanic - { - EBadRequest, - EBadDescriptor, - ESrvCreateServer, - ECreateTrapCleanup, - ENullRequestHandler, - EUndefinedRequest, - ECacheInconsistency, - EConstructingServerStructs - }; - -// MACROS - -// FORWARD DECLARATIONS -class CRsfwConfig; -class CRsfwRfeServer; - - -// CLASS DECLARATION -class TRfeEnv - { -public: - RFs iFs; - TInt iCacheDrive; - TFileName iCacheRoot; - CRsfwConfig* iRsfwConfig; - }; - - -// CLASS DECLARATION - -class CRsfwRfeServer: public CPolicyServer - { - friend class CRsfwRfeSession; - -public: - static CRsfwRfeServer* NewL(); - static CRsfwRfeServer* NewLC(); - static TInt ThreadFunction(TAny* aNone); - - void IncrementSessions(); - void DecrementSessions(); - - void AllEnginesIdling(TInt aTimeout); - void ServiceRequested(); - - static TRfeEnv* Env() - { - return iEnvp; - } - -protected: - TInt RunError(TInt aError); - - // custom action when capability checked failed - basically this allows File Server to always - // pass based on its SID (File Server does not have NetworkServices or ReadDeviceData capabilities) - TCustomResult CustomFailureActionL(const RMessage2& aMsg, - TInt aAction, - const TSecurityInfo& aMissing); - -private: - CRsfwRfeServer(TInt aPriority, TServerType aType) ; - void ConstructL() ; - static void PanicClient(const RMessage2& aMessage, TRfePanic aReason); - static void PanicServer(TRfePanic aReason); - static void ThreadFunctionL(); - CSession2* NewSessionL(const TVersion &aVersion, - const RMessage2& aMessage) const; - void PrepareCacheRootL(); - void ShutDown(); - void StartDelayedShutdownTimer(TInt aTimeout); - void StopDelayedShutdownTimer(); - static TInt DelayedShutdownTimerExpired(TAny* aArg); - -protected: - CRsfwVolumeTable* iVolumes; - -private: - TInt iSessionCount; - TRfeEnv iEnv; - static TRfeEnv* iEnvp; - TBool iShuttingDown; - CPeriodic* iDelayedShutdownTimer; - }; - -#endif // RFESERVER_H - -// End of File