Update contrib.
1 // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
16 #ifndef __LOGSERVSERVER_H__
17 #define __LOGSERVSERVER_H__
20 #include "LogCliServShared.h"
21 #include "LogServSessionLifetimeObserver.h"
24 class CLogServRecentListManager;
25 class CLogServOperationQueue;
26 class CLogServDatabaseDriver;
27 class CLogServDatabaseMarshall;
28 class CLogServResourceInterpreter;
29 class CLogServBackupManager;
30 class CLogServShutdownTimer;
31 class CLogServDatabaseChangeTracker;
34 The LogEng server class. Implements the MLogServSessionLifetimeObserver interface.
35 Owns the following objects (private data members):
36 - Shutdown timer (CLogServShutdownTimer instance);
37 - Backup manager (CLogServBackupManager instance);
38 - Resource interpreter (CLogServResourceInterpreter instance);
39 - CLogServDatabaseMarshall instance;
40 - CLogServDatabaseChangeTracker instance;
41 - CLogServDatabaseDriver instance;
42 - CLogServOperationQueue instance;
44 @see MLogServSessionLifetimeObserver
45 @see CLogServShutdownTimer
46 @see CLogServBackupManager
47 @see CLogServResourceInterpreter
48 @see CLogServDatabaseMarshall
49 @see CLogServDatabaseChangeTracker
50 @see CLogServDatabaseDriver
51 @see CLogServOperationQueue
54 class CLogServServer : public CServer2, public MLogServSessionLifetimeObserver
57 static CLogServServer* NewLC();
59 void MakeTransient(TBool aTransient);
64 // FROM MLogServSessionLifetimeObserver
65 void SLOHandleEvent(TLogServSessionId aId, TLogServSessionEvent aEvent);
67 CSession2* NewSessionL(const TVersion& aVersion,const RMessage2& aMessage) const;
70 TInt iSessionCount;//Number of connected sessions
71 TBool iTransient;//Whether the server is transient or not
72 TLogServSessionId iNextFreeSessionId;//The next id to assign to any new session
73 TLogOperationId iNextFreeOperationId;//The next free id to assign to an operation
74 TLogViewId iNextFreeViewId;//The next free id to assign to a view
76 CLogServShutdownTimer* iShutdownTimer;
77 CLogServBackupManager* iBackupManager;
78 CLogServResourceInterpreter* iResourceInterpreter;
79 CLogServRecentListManager* iRecentListManager;
80 CLogServDatabaseMarshall* iDatabaseMarshall;
81 CLogServDatabaseChangeTracker* iChangeTracker;
82 CLogServDatabaseDriver* iDatabaseDriver;
83 CLogServOperationQueue* iOperationQueue;