diff -r 9f5ae1728557 -r db3f5fa34ec7 messagingfw/msgtestproduct/testutils/inc/MessagingTestUtilityServer2.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingfw/msgtestproduct/testutils/inc/MessagingTestUtilityServer2.h Wed Nov 03 22:41:46 2010 +0530 @@ -0,0 +1,128 @@ +/** +* Copyright (c) 2006-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: +* +*/ + + + +/** + @file +*/ + +#ifndef __MESSAGINGTESTUTILITYSERVER2_H__ +#define __MESSAGINGTESTUTILITYSERVER2_H__ + +#include +#include +#include +#include "cmsgtestpropertymappair.h" +#include "mmsgtestpropertywatcher.h" + +class CMsgTestPropertyWatcher; + +/** +Enumerations for panic code +*/ +enum TTestPanic + { + ETestPanicBadDescriptor, + ETestPanicIllegalFunction, + ETestPanicAlreadyReceiving + }; + +void PanicClient(RMessage2& aMessage,TTestPanic TMyPanic); + + +/** +Shuts down a server +*/ +class CShutdown : public CTimer + { + enum {KMyShutdownDelay = 0x200000}; // approx 2s +public: + inline CShutdown(); + inline void ConstructL(); + inline void Start(); + +private: + void RunL(); + }; + + +/** +An utility server that handles the sessions and requests from the client +*/ +class CMessagingTestUtilityServer2 : public CServer2 + { +public: + static CServer2* NewLC(); + void AddSession(); + void DropSession(); + +private: + CMessagingTestUtilityServer2(); + void ConstructL(); + CSession2* NewSessionL(const TVersion& aVersion, const RMessage2& aMessage) const; + +private: + TInt iSessionCount; + CShutdown iShutdown; + }; + + +/** +Perfroms the file system operations +*/ +class CMessagingTestUtilitySession2 : public CSession2, public MMsgTestPropertyWatcher + { +public: + CMessagingTestUtilitySession2(); + void CreateL(); +private: + ~CMessagingTestUtilitySession2(); + inline CMessagingTestUtilityServer2& Server(); + void ServiceL(const RMessage2& aMessage); + void ServiceError(const RMessage2& aMessage,TInt aError); + inline TBool ReceivePending() const; + + //From MMsgTestPropertyWatcher + void HandleEventL(RProperty& aProperty, TUint /*aKey*/); + +private: + TInt DoDeleteMessageStoreL(const RMessage2& aMessage); + TInt DoKillProcessL(const RMessage2& aMessage); + TInt DoCopyFileL(const RMessage2& aMessage); + TInt DoDeleteFileL(const RMessage2& aMessage); + TInt DoMkDirL(const RMessage2& aMessage); + TInt DoRmDirL(const RMessage2& aMessage); + TInt DoGetDirL(const RMessage2& aMessage); + TInt DoGetDirCountL(const RMessage2& aMessage); + TInt DoGetDirEntryL(const RMessage2& aMessage); + TInt DoFileExistsL(const RMessage2& aMessage); + + //EventHandler + TInt DoEventHandlerInitL(); + TInt DoEventHandlerAddL(const RMessage2& aMessage); + TInt DoEventHandlerCheck(); + +private: + RFs iFs; + CDir* iDir; + + CMsgTestPropertyWatcher* iWatcherNetTestStub; + RPointerArray iEventList; + }; + +#endif //__MESSAGINGTESTUTILITYSERVER2__