williamr@2
|
1 |
// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
|
williamr@2
|
2 |
// All rights reserved.
|
williamr@2
|
3 |
// This component and the accompanying materials are made available
|
williamr@2
|
4 |
// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
|
williamr@2
|
5 |
// which accompanies this distribution, and is available
|
williamr@2
|
6 |
// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
|
williamr@2
|
7 |
//
|
williamr@2
|
8 |
// Initial Contributors:
|
williamr@2
|
9 |
// Nokia Corporation - initial contribution.
|
williamr@2
|
10 |
//
|
williamr@2
|
11 |
// Contributors:
|
williamr@2
|
12 |
//
|
williamr@2
|
13 |
// Description:
|
williamr@2
|
14 |
//
|
williamr@2
|
15 |
|
williamr@2
|
16 |
|
williamr@2
|
17 |
|
williamr@2
|
18 |
/**
|
williamr@2
|
19 |
@file
|
williamr@2
|
20 |
@deprecated since v9.1. Functionality is replaced with commsdat.
|
williamr@2
|
21 |
*/
|
williamr@2
|
22 |
|
williamr@2
|
23 |
#ifndef CDBOVER_H
|
williamr@2
|
24 |
#define CDBOVER_H
|
williamr@2
|
25 |
|
williamr@2
|
26 |
#include <e32base.h>
|
williamr@2
|
27 |
#include <commdb.h>
|
williamr@2
|
28 |
#include <cdbpreftable.h>
|
williamr@2
|
29 |
|
williamr@2
|
30 |
class CCommDbOverride;
|
williamr@2
|
31 |
class CCommDbLongDesOverride;
|
williamr@2
|
32 |
class TCommDbIapConnectionPrefOverride;
|
williamr@2
|
33 |
|
williamr@2
|
34 |
class CCommDbOverrideSettings : public CBase
|
williamr@2
|
35 |
/** Repository of override settings for columns in tables.
|
williamr@2
|
36 |
@deprecated
|
williamr@2
|
37 |
Overrides are deprecated from v9.1
|
williamr@2
|
38 |
|
williamr@2
|
39 |
Holds all information about CommDb overrides.
|
williamr@2
|
40 |
Allows the client to store, retrieve and test the existence of overrides.
|
williamr@2
|
41 |
*/
|
williamr@2
|
42 |
{
|
williamr@2
|
43 |
public:
|
williamr@2
|
44 |
/** @deprecated v7.0
|
williamr@2
|
45 |
|
williamr@2
|
46 |
Override setting flags returned by PartialFull().
|
williamr@2
|
47 |
The only use of TParamList is during the comparison of two override sets. */
|
williamr@2
|
48 |
enum TParamList
|
williamr@2
|
49 |
{
|
williamr@2
|
50 |
/** The override settings are partial; the CCommDbOverrideSettings object maintains
|
williamr@2
|
51 |
override values for only some of the columns. */
|
williamr@2
|
52 |
EParamListPartial,
|
williamr@2
|
53 |
/** The override settings are full; the CCommDbOverrideSettings object maintains
|
williamr@2
|
54 |
override values for all columns */
|
williamr@2
|
55 |
EParamListFull
|
williamr@2
|
56 |
};
|
williamr@2
|
57 |
|
williamr@2
|
58 |
/** The value types that may be stored in as overrides
|
williamr@2
|
59 |
@deprecated
|
williamr@2
|
60 |
Overrides are deprecated from v9.1
|
williamr@2
|
61 |
@internalComponent "Could just use TDbColType" */
|
williamr@2
|
62 |
enum TValueType
|
williamr@2
|
63 |
{
|
williamr@2
|
64 |
/** a TUint32. */
|
williamr@2
|
65 |
EIntValue,
|
williamr@2
|
66 |
/** a TBool. */
|
williamr@2
|
67 |
EBoolValue,
|
williamr@2
|
68 |
/** a TDes8. */
|
williamr@2
|
69 |
EDes8Value,
|
williamr@2
|
70 |
/** a TDes16. */
|
williamr@2
|
71 |
EDes16Value,
|
williamr@2
|
72 |
/** a TDes. */
|
williamr@2
|
73 |
ELongDesValue,
|
williamr@2
|
74 |
/** Unkown type. */
|
williamr@2
|
75 |
EUnknownType
|
williamr@2
|
76 |
};
|
williamr@2
|
77 |
|
williamr@2
|
78 |
public:
|
williamr@2
|
79 |
IMPORT_C static CCommDbOverrideSettings* NewL(TParamList aParamList);
|
williamr@2
|
80 |
IMPORT_C virtual ~CCommDbOverrideSettings();
|
williamr@2
|
81 |
|
williamr@2
|
82 |
// Setting override values in the override set
|
williamr@2
|
83 |
IMPORT_C TInt SetIntOverride(const TDesC& aTableName, const TDesC& aColumnName, TUint32 aValue);
|
williamr@2
|
84 |
IMPORT_C TInt SetBoolOverride(const TDesC& aTableName, const TDesC& aColumnName, TBool aValue);
|
williamr@2
|
85 |
IMPORT_C TInt SetDesOverride(const TDesC& aTableName, const TDesC& aColumnName, const TDesC8& aValue);
|
williamr@2
|
86 |
IMPORT_C TInt SetDesOverride(const TDesC& aTableName, const TDesC& aColumnName, const TDesC16& aValue);
|
williamr@2
|
87 |
IMPORT_C TInt SetLongDesOverride(const TDesC& aTableName, const TDesC& aColumnName, const TDesC& aValue);
|
williamr@2
|
88 |
|
williamr@2
|
89 |
// Getting override values from the override set. Returns `KErrNotFound` if the
|
williamr@2
|
90 |
// column has not been overriden.
|
williamr@2
|
91 |
IMPORT_C TInt GetIntOverride(const TDesC& aTableName, const TDesC& aColumnName, TUint32& aValue);
|
williamr@2
|
92 |
IMPORT_C TInt GetBoolOverride(const TDesC& aTableName, const TDesC& aColumnName, TBool& aValue);
|
williamr@2
|
93 |
IMPORT_C TInt GetDesOverride(const TDesC& aTableName, const TDesC& aColumnName, TDes8& aValue);
|
williamr@2
|
94 |
IMPORT_C TInt GetDesOverride(const TDesC& aTableName, const TDesC& aColumnName, TDes16& aValue);
|
williamr@2
|
95 |
IMPORT_C TInt GetLongDesOverride(const TDesC& aTableName, const TDesC& aColumnName, TDes& aValue);
|
williamr@2
|
96 |
IMPORT_C TInt GetLongDesOverrideLength(const TDesC& aTableName, const TDesC& aColumnName, TInt& aLength);
|
williamr@2
|
97 |
|
williamr@2
|
98 |
IMPORT_C TInt SetConnectionPreferenceOverride(const CCommsDbConnectionPrefTableView::TCommDbIapConnectionPref& aPref);
|
williamr@2
|
99 |
|
williamr@2
|
100 |
IMPORT_C TInt GetConnectionPreferenceOverride(CCommsDbConnectionPrefTableView::TCommDbIapConnectionPref& aPref);
|
williamr@2
|
101 |
|
williamr@2
|
102 |
IMPORT_C TBool Compare(CCommDbOverrideSettings* aOverrides) const;
|
williamr@2
|
103 |
|
williamr@2
|
104 |
IMPORT_C TBool IsOverridden(const TDesC& aTableName, const TDesC& aColumnName, TValueType aType);
|
williamr@2
|
105 |
|
williamr@2
|
106 |
inline TParamList PartialFull() const;
|
williamr@2
|
107 |
|
williamr@2
|
108 |
IMPORT_C static CCommDbOverrideSettings* NewL(TParamList aParamList, TCommDbDatabaseType aDbType);
|
williamr@2
|
109 |
|
williamr@2
|
110 |
IMPORT_C TInt GetConnectionPreferenceOverride(CCommsDbConnectionPrefTableView::TCommDbIspConnectionPref& aPref); // will be deprecated in 7.0
|
williamr@2
|
111 |
|
williamr@2
|
112 |
IMPORT_C TInt SetConnectionPreferenceOverride(const CCommsDbConnectionPrefTableView::TCommDbIspConnectionPref& aPref); // will be deprecated in 7.0
|
williamr@2
|
113 |
|
williamr@2
|
114 |
protected:
|
williamr@2
|
115 |
CCommDbOverrideSettings(TParamList aParamList);
|
williamr@2
|
116 |
virtual void ConstructL();
|
williamr@2
|
117 |
TInt FindOverride(const TDesC& aTableName, const TDesC& aColumnName, TValueType aType) const;
|
williamr@2
|
118 |
TBool IllegalOverride(const TDesC& aTableName, const TDesC& aColumnName) const;
|
williamr@2
|
119 |
void CheckL(const TDesC& aTableName, const TDesC& aColumnName, TValueType aType) const;
|
williamr@2
|
120 |
static TBool MatchIapOverride(const TCommDbIapConnectionPrefOverride& aFirst,
|
williamr@2
|
121 |
const TCommDbIapConnectionPrefOverride& aSecond);
|
williamr@2
|
122 |
protected:
|
williamr@2
|
123 |
TParamList iPartialFull;
|
williamr@2
|
124 |
RPointerArray<CCommDbOverride> iOverrides;
|
williamr@2
|
125 |
RArray<TCommDbIapConnectionPrefOverride> iIapOverrides;
|
williamr@2
|
126 |
CCommsDatabase* iDb;
|
williamr@2
|
127 |
|
williamr@2
|
128 |
};
|
williamr@2
|
129 |
|
williamr@2
|
130 |
#include <cdbover.inl>
|
williamr@2
|
131 |
|
williamr@2
|
132 |
#endif
|