os/persistentdata/loggingservices/eventlogger/LogServ/inc/LogServOperationFactory.h
First public contribution.
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 __LOGSERVOPERATIONFACTORY_H__
17 #define __LOGSERVOPERATIONFACTORY_H__
20 #include "LogServDefs.h"
21 #include "LogCliServShared.h"
25 class CLogServViewBase;
26 class CLogServOperationBase;
27 class MLogServTaskInterface;
28 class MLogServBackupInterface;
29 class MLogServOperationManager;
30 class MLogServDatabaseTransactionInterface;
33 A factory class, used for creation of operation objects and queueing them for execution.
35 Operation objects. Every operation class derives from CLogServOperationBase.
37 @see CLogServOperationBase
39 @see CLogServOpEventAdd
40 @see CLogServOpEventGet
41 @see CLogServOpEventChange
42 @see CLogServOpEventDelete
43 @see CLogServOpTypeAdd
44 @see CLogServOpTypeGet
45 @see CLogServOpTypeChange
46 @see CLogServOpTypeDelete
47 @see CLogServOpClearLog
48 @see CLogServOpClearRecent
49 @see CLogServOpConfigGet
50 @see CLogServOpConfigChange
51 @see CLogServOpMaintenance
53 @see CLogServOpViewSetup
54 @see CLogServOpViewEventRemove
55 @see CLogServOpViewClearDuplicates
56 @see CLogServOpViewSetFlags
57 @see CLogServOpViewWindowFetcher
59 View objects.Every view class derives from CLogServViewBase.
63 @see CLogServViewEvent
64 @see CLogServViewRecent
65 @see CLogServViewDuplicate
67 The class also offers a factory method for views creation - NewViewL().
68 All created objects accept a reference to the MLogServOperationManager object and add themselves to the
71 @see MLogServOperationManager
78 static CLogServOperationBase* NewOperationL(const TLogClientServerData& aCliServData,
79 MLogServTaskInterface& aTaskInterface,
80 MLogServOperationManager& aOperationManager,
81 const RMessage2& aMessage,
82 CLogPackage& aLogPackage,
83 TLogServSessionId aSessionId
86 static CLogServOperationBase* NewViewOperationL(const TLogClientServerData& aCliServData,
87 MLogServTaskInterface& aTaskInterface,
88 MLogServOperationManager& aOperationManager,
89 const RMessage2& aMessage,
90 CLogPackage& aLogPackage,
91 TLogServSessionId aSessionId,
92 CLogServViewBase& aView
96 static CLogServViewBase* NewViewL(TLogViewType aType,
98 MLogServDatabaseTransactionInterface& aDatabase,
99 MLogServBackupInterface& aBackupInterface,
100 CLogPackage& aPackage,
101 const RMessage2& aMessage