Update contrib.
2 * Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of the License "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
15 * testutil - server classes
27 #include "testutilfilewatcher.h"
29 class CTestUtilServer;
34 /** Client's implementation gets called on timer expiry */
35 virtual void HandleTimeout() = 0;
38 /** Simple timer class which calls a callback on timer expiry */
39 class CGenericTimer : public CTimer
42 static CGenericTimer* NewL(MTimeoutClient& aClient);
44 CGenericTimer(MTimeoutClient& aClient);
47 MTimeoutClient& iClient;
50 class CTestFileDetector : public CActive, public MTimeoutClient
53 static CTestFileDetector* NewL(const RMessage2& iMessage, RFs& aFs);
54 CTestFileDetector(const RMessage2& iMessage, RFs& aFs);
59 virtual void HandleTimeout();
62 void CheckAndComplete();
65 CGenericTimer* iTimer;
68 const RMessage2& iMessage;
71 class CTestUtilSession : public CSession2
78 inline CTestUtilServer& Server();
79 void ServiceL(const RMessage2& aMessage);
80 void ServiceError(const RMessage2& aMessage,TInt aError);
82 RArray<RFile> iLockedFileHandles;
83 CFileWatcher* iFileWatcher;
84 CTestFileDetector* iDetector;
88 inline CTestUtilServer& CTestUtilSession::Server()
89 {return *static_cast<CTestUtilServer*>(const_cast<CServer2*>(CSession2::Server()));}