--- a/telephonyprotocols/csdagt/TS_CsdAgt/DbUndo.h Mon May 03 13:37:20 2010 +0300
+++ b/telephonyprotocols/csdagt/TS_CsdAgt/DbUndo.h Thu May 06 15:10:38 2010 +0100
@@ -1,257 +1,257 @@
-// Copyright (c) 2003-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:
-//
-
-#ifndef __DBUNDO_H__
-#define __DBUNDO_H__
-
-#include <commsdattypesv1_1.h>
-#include <metadatabase.h>
-using namespace CommsDat;
-#include <e32base.h>
-#include <e32std.h>
-#include <e32def.h>
-
-// For Connection Preferences table
-#include <cdbpreftable.h>
-
-// COMMDB Connection Preference settings
-#include <comms-infras/connectionsettings.h>
-
-// Indexes of the CDMA, GPRS and Dial Out IAP records
-// Dependent on the database used
-#define KGprsIAPIndex 2
-#define KDialOutIAPIndex 1
-
-_LIT( KDialOutIap, "DialOutIsp" );
-_LIT( KGprsIap, "NTRas GPRS" );
-
-// Classes to maintain an "undo" linked list to restore database state
-// between tests
-class CDbAgtBase;
-
-// Base class for storing undo data, derived classes store data specific to the
-// type of column we're dealing with
-class CDbUndoBase : public CBase
- {
-public:
- virtual void UndoL(CDbAgtBase *aTable)=0;
-
-public:
- TDblQueLink iLink;
-
-protected:
- TPtrC iColumn;
- };
-
-// Derived from CDbUndoBase to store integer values requiring Undo
-class CDbUndoInt : public CDbUndoBase
- {
-public:
-
- static CDbUndoInt* NewL(const TDesC &aColumn, const TUint32 &aValue);
- void ConstructL(const TDesC &aColumn, const TUint32 &aValue);
-
- // Concrete implementation of pure virtual in CDbUndoBase
- virtual void UndoL(CDbAgtBase *aDb);
-
-private:
- // Data specific to the type of column we're are dealing with
- // In this class we undo integer data.
- TUint32 iValue;
- };
-
-// Derived from CDbUndoBase to store boolean values requiring Undo
-class CDbUndoBool : public CDbUndoBase
- {
-public:
-
- static CDbUndoBool* NewL(const TDesC &aColumn, const TBool &aValue);
- void ConstructL(const TDesC &aColumn, const TBool &aValue);
-
- // Concrete implementation of pure virtual in CDbUndoBase
- virtual void UndoL(CDbAgtBase *aDb);
-
-private:
- // Data specific to the type of column we're are dealing with
- // In this class we undo boolean data.
- TBool iValue;
- };
-
-// Derived from CDbUndoBase to store text values requiring Undo
-class CDbUndoText : public CDbUndoBase
- {
-public:
-
- static CDbUndoText* NewL(const TDesC &aColumn, const TDesC16& aValue);
- void ConstructL(const TDesC &aColumn, const TDesC16& aValue);
-
- // Concrete implementation of pure virtual in CDbUndoBase
- virtual void UndoL(CDbAgtBase *aDb);
-
-private:
- // Data specific to the type of column we're are dealing with
- // In this class we undo text data.
- TBuf16<KCommsDbSvrMaxFieldLength> iText;
- };
-
-// Derived from CDbUndoBase to store long text values requiring Undo
-class CDbUndoLongText : public CDbUndoBase
- {
-public:
-
- static CDbUndoLongText* NewL(const TDesC &aColumn, const HBufC* aValue);
- void ConstructL(const TDesC &aColumn, const HBufC* aValue);
-
- // Concrete implementation of pure virtual in CDbUndoBase
- virtual void UndoL(CDbAgtBase *aDb);
-
-private:
- // Data specific to the type of column we're are dealing with
- // In this class we undo long text data.
- HBufC* iLongText;
- };
-
-// Derived from CDbUndoBase to store agent extension name requiring Undo
-class CDbUndoAgentExt : public CDbUndoBase
- {
-public:
-
- static CDbUndoAgentExt* NewL(const TDesC &aService, const TDesC& aAgentExt);
- void ConstructL(const TDesC &aService, const TDesC& aAgentExt);
-
- // Concrete implementation of pure virtual in CDbUndoBase
- virtual void UndoL(CDbAgtBase *aDb);
-
-private:
- // Data specific to the type of column we're are dealing with
- // In this class we undo text data.
- TBuf16<KCommsDbSvrMaxFieldLength> iText;
- };
-
-// Base class for all database access
-class CDbAgtBase : public CBase
- {
- friend class CDbUndoInt;
- friend class CDbUndoBool;
- friend class CDbUndoText;
- friend class CDbUndoLongText;
- friend class CDbUndoAgentExt;
-public:
- ~CDbAgtBase();
- void SetColumnIntL(const TDesC& aColumn, const TUint32& aValue);
- void SetColumnBoolL(const TDesC& aColumn, const TBool& aValue);
- void SetColumnTextL(const TDesC& aColumn, const TDesC16& aValue);
- void SetColumnLongTextL(const TDesC& aColumn, const TDesC16& aValue);
- void UndoDatabaseChangesL();
- CMDBRecordSetBase* Table();
-
-protected:
- CDbAgtBase();
- void ConstructL();
-
-
-protected:
- // Used to access the database and retain a view on whichever table is of interest
- CMDBSession *iDb;
- CMDBRecordSetBase* iTable;
- TUint iCurrentRecord;
-
-private:
- void ModifyColumnIntL(const TDesC& aColumn, const TUint32& aValue);
- void ModifyColumnBoolL(const TDesC& aColumn, const TBool& aValue);
- void ModifyColumnTextL(const TDesC& aColumn, const TDesC16& aValue);
- void ModifyColumnLongTextL(const TDesC& aColumn, const TDesC16& aValue);
-
-private:
- // Double linked list header for undo functionality
- TDblQue<CDbUndoBase> iQHeader;
-
- // Double linked list iterator for undo functionality
- TDblQueIter<CDbUndoBase> iQIter;
-
- };
-
-// GPRS OUTGOING specific class
-class CDbGPRSOutgoingTable : public CDbAgtBase
- {
-public:
- static CDbGPRSOutgoingTable *NewL();
- ~CDbGPRSOutgoingTable();
-
-private:
- CDbGPRSOutgoingTable();
- void ConstructL();
- };
-
-// CSD specific class
-class CDbCsdTable : public CDbAgtBase
- {
-public:
- static CDbCsdTable *NewL();
- ~CDbCsdTable();
- CMDBRecordSetBase* Table();
-
-private:
- CDbCsdTable();
- void ConstructL();
- };
-
-// MODEM specific class
-class CDbModemTable : public CDbAgtBase
- {
-public:
- static CDbModemTable *NewL();
- ~CDbModemTable();
-
-private:
- CDbModemTable();
- void ConstructL();
- };
-/*
-// Preference table
-class CDbPrefTable : public CDbAgtBase
- {
-public:
- static CDbPrefTable *NewL( TCommDbConnectionDirection aDirection, CCommsDbConnectionPrefTableView::TCommDbIapBearer aBearerUpdate, TBool aReadOnly, TCommDbDialogPref aDialogPref );
- ~CDbPrefTable();
-
-private:
- CDbPrefTable();
- void ConstructL();
- CCommsDbConnectionPrefTableView* iPrefTable;
-
- TBuf16<KCommsDbSvrMaxFieldLength> iIapName;
- TCommDbConnectionDirection iDirection;
- CCommsDbConnectionPrefTableView::TCommDbIapBearer iBearerUpdate;
- CCommsDbConnectionPrefTableView::TCommDbIapConnectionPref iOldPrefs;
- TBool iReadOnly;
- TCommDbDialogPref iDialogPref;
- };
-
-// IAP table
-class CDbIapTable : public CDbAgtBase
- {
-public:
- static CDbIapTable *NewL(const TDesC16& aIapName);
- ~CDbIapTable();
- void GetBearerSetIapId(TUint32& aIapId);
-
-private:
- CDbIapTable();
- void ConstructL();
- TBuf16<KCommsDbSvrMaxFieldLength> iIapName;
- };
-*/
-#endif // DBUNDO
+// Copyright (c) 2003-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:
+//
+
+#ifndef __DBUNDO_H__
+#define __DBUNDO_H__
+
+#include <commsdattypesv1_1.h>
+#include <metadatabase.h>
+using namespace CommsDat;
+#include <e32base.h>
+#include <e32std.h>
+#include <e32def.h>
+
+// For Connection Preferences table
+#include <cdbpreftable.h>
+
+// COMMDB Connection Preference settings
+#include <comms-infras/connectionsettings.h>
+
+// Indexes of the CDMA, GPRS and Dial Out IAP records
+// Dependent on the database used
+#define KGprsIAPIndex 2
+#define KDialOutIAPIndex 1
+
+_LIT( KDialOutIap, "DialOutIsp" );
+_LIT( KGprsIap, "NTRas GPRS" );
+
+// Classes to maintain an "undo" linked list to restore database state
+// between tests
+class CDbAgtBase;
+
+// Base class for storing undo data, derived classes store data specific to the
+// type of column we're dealing with
+class CDbUndoBase : public CBase
+ {
+public:
+ virtual void UndoL(CDbAgtBase *aTable)=0;
+
+public:
+ TDblQueLink iLink;
+
+protected:
+ TPtrC iColumn;
+ };
+
+// Derived from CDbUndoBase to store integer values requiring Undo
+class CDbUndoInt : public CDbUndoBase
+ {
+public:
+
+ static CDbUndoInt* NewL(const TDesC &aColumn, const TUint32 &aValue);
+ void ConstructL(const TDesC &aColumn, const TUint32 &aValue);
+
+ // Concrete implementation of pure virtual in CDbUndoBase
+ virtual void UndoL(CDbAgtBase *aDb);
+
+private:
+ // Data specific to the type of column we're are dealing with
+ // In this class we undo integer data.
+ TUint32 iValue;
+ };
+
+// Derived from CDbUndoBase to store boolean values requiring Undo
+class CDbUndoBool : public CDbUndoBase
+ {
+public:
+
+ static CDbUndoBool* NewL(const TDesC &aColumn, const TBool &aValue);
+ void ConstructL(const TDesC &aColumn, const TBool &aValue);
+
+ // Concrete implementation of pure virtual in CDbUndoBase
+ virtual void UndoL(CDbAgtBase *aDb);
+
+private:
+ // Data specific to the type of column we're are dealing with
+ // In this class we undo boolean data.
+ TBool iValue;
+ };
+
+// Derived from CDbUndoBase to store text values requiring Undo
+class CDbUndoText : public CDbUndoBase
+ {
+public:
+
+ static CDbUndoText* NewL(const TDesC &aColumn, const TDesC16& aValue);
+ void ConstructL(const TDesC &aColumn, const TDesC16& aValue);
+
+ // Concrete implementation of pure virtual in CDbUndoBase
+ virtual void UndoL(CDbAgtBase *aDb);
+
+private:
+ // Data specific to the type of column we're are dealing with
+ // In this class we undo text data.
+ TBuf16<KCommsDbSvrMaxFieldLength> iText;
+ };
+
+// Derived from CDbUndoBase to store long text values requiring Undo
+class CDbUndoLongText : public CDbUndoBase
+ {
+public:
+
+ static CDbUndoLongText* NewL(const TDesC &aColumn, const HBufC* aValue);
+ void ConstructL(const TDesC &aColumn, const HBufC* aValue);
+
+ // Concrete implementation of pure virtual in CDbUndoBase
+ virtual void UndoL(CDbAgtBase *aDb);
+
+private:
+ // Data specific to the type of column we're are dealing with
+ // In this class we undo long text data.
+ HBufC* iLongText;
+ };
+
+// Derived from CDbUndoBase to store agent extension name requiring Undo
+class CDbUndoAgentExt : public CDbUndoBase
+ {
+public:
+
+ static CDbUndoAgentExt* NewL(const TDesC &aService, const TDesC& aAgentExt);
+ void ConstructL(const TDesC &aService, const TDesC& aAgentExt);
+
+ // Concrete implementation of pure virtual in CDbUndoBase
+ virtual void UndoL(CDbAgtBase *aDb);
+
+private:
+ // Data specific to the type of column we're are dealing with
+ // In this class we undo text data.
+ TBuf16<KCommsDbSvrMaxFieldLength> iText;
+ };
+
+// Base class for all database access
+class CDbAgtBase : public CBase
+ {
+ friend class CDbUndoInt;
+ friend class CDbUndoBool;
+ friend class CDbUndoText;
+ friend class CDbUndoLongText;
+ friend class CDbUndoAgentExt;
+public:
+ ~CDbAgtBase();
+ void SetColumnIntL(const TDesC& aColumn, const TUint32& aValue);
+ void SetColumnBoolL(const TDesC& aColumn, const TBool& aValue);
+ void SetColumnTextL(const TDesC& aColumn, const TDesC16& aValue);
+ void SetColumnLongTextL(const TDesC& aColumn, const TDesC16& aValue);
+ void UndoDatabaseChangesL();
+ CMDBRecordSetBase* Table();
+
+protected:
+ CDbAgtBase();
+ void ConstructL();
+
+
+protected:
+ // Used to access the database and retain a view on whichever table is of interest
+ CMDBSession *iDb;
+ CMDBRecordSetBase* iTable;
+ TUint iCurrentRecord;
+
+private:
+ void ModifyColumnIntL(const TDesC& aColumn, const TUint32& aValue);
+ void ModifyColumnBoolL(const TDesC& aColumn, const TBool& aValue);
+ void ModifyColumnTextL(const TDesC& aColumn, const TDesC16& aValue);
+ void ModifyColumnLongTextL(const TDesC& aColumn, const TDesC16& aValue);
+
+private:
+ // Double linked list header for undo functionality
+ TDblQue<CDbUndoBase> iQHeader;
+
+ // Double linked list iterator for undo functionality
+ TDblQueIter<CDbUndoBase> iQIter;
+
+ };
+
+// GPRS OUTGOING specific class
+class CDbGPRSOutgoingTable : public CDbAgtBase
+ {
+public:
+ static CDbGPRSOutgoingTable *NewL();
+ ~CDbGPRSOutgoingTable();
+
+private:
+ CDbGPRSOutgoingTable();
+ void ConstructL();
+ };
+
+// CSD specific class
+class CDbCsdTable : public CDbAgtBase
+ {
+public:
+ static CDbCsdTable *NewL();
+ ~CDbCsdTable();
+ CMDBRecordSetBase* Table();
+
+private:
+ CDbCsdTable();
+ void ConstructL();
+ };
+
+// MODEM specific class
+class CDbModemTable : public CDbAgtBase
+ {
+public:
+ static CDbModemTable *NewL();
+ ~CDbModemTable();
+
+private:
+ CDbModemTable();
+ void ConstructL();
+ };
+/*
+// Preference table
+class CDbPrefTable : public CDbAgtBase
+ {
+public:
+ static CDbPrefTable *NewL( TCommDbConnectionDirection aDirection, CCommsDbConnectionPrefTableView::TCommDbIapBearer aBearerUpdate, TBool aReadOnly, TCommDbDialogPref aDialogPref );
+ ~CDbPrefTable();
+
+private:
+ CDbPrefTable();
+ void ConstructL();
+ CCommsDbConnectionPrefTableView* iPrefTable;
+
+ TBuf16<KCommsDbSvrMaxFieldLength> iIapName;
+ TCommDbConnectionDirection iDirection;
+ CCommsDbConnectionPrefTableView::TCommDbIapBearer iBearerUpdate;
+ CCommsDbConnectionPrefTableView::TCommDbIapConnectionPref iOldPrefs;
+ TBool iReadOnly;
+ TCommDbDialogPref iDialogPref;
+ };
+
+// IAP table
+class CDbIapTable : public CDbAgtBase
+ {
+public:
+ static CDbIapTable *NewL(const TDesC16& aIapName);
+ ~CDbIapTable();
+ void GetBearerSetIapId(TUint32& aIapId);
+
+private:
+ CDbIapTable();
+ void ConstructL();
+ TBuf16<KCommsDbSvrMaxFieldLength> iIapName;
+ };
+*/
+#endif // DBUNDO