williamr@2: // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@2: // 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: // which accompanies this distribution, and is available williamr@2: // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // williamr@2: williamr@2: williamr@2: williamr@2: /** williamr@2: @file williamr@2: @deprecated since v9.1. Functionality is replaced with commsdat. williamr@2: */ williamr@2: williamr@2: #ifndef CDBOVER_H williamr@2: #define CDBOVER_H williamr@2: williamr@2: #include williamr@2: #include williamr@2: #include williamr@2: williamr@2: class CCommDbOverride; williamr@2: class CCommDbLongDesOverride; williamr@2: class TCommDbIapConnectionPrefOverride; williamr@2: williamr@2: class CCommDbOverrideSettings : public CBase williamr@2: /** Repository of override settings for columns in tables. williamr@2: @deprecated williamr@2: Overrides are deprecated from v9.1 williamr@2: williamr@2: Holds all information about CommDb overrides. williamr@2: Allows the client to store, retrieve and test the existence of overrides. williamr@2: */ williamr@2: { williamr@2: public: williamr@2: /** @deprecated v7.0 williamr@2: williamr@2: Override setting flags returned by PartialFull(). williamr@2: The only use of TParamList is during the comparison of two override sets. */ williamr@2: enum TParamList williamr@2: { williamr@2: /** The override settings are partial; the CCommDbOverrideSettings object maintains williamr@2: override values for only some of the columns. */ williamr@2: EParamListPartial, williamr@2: /** The override settings are full; the CCommDbOverrideSettings object maintains williamr@2: override values for all columns */ williamr@2: EParamListFull williamr@2: }; williamr@2: williamr@2: /** The value types that may be stored in as overrides williamr@2: @deprecated williamr@2: Overrides are deprecated from v9.1 williamr@2: @internalComponent "Could just use TDbColType" */ williamr@2: enum TValueType williamr@2: { williamr@2: /** a TUint32. */ williamr@2: EIntValue, williamr@2: /** a TBool. */ williamr@2: EBoolValue, williamr@2: /** a TDes8. */ williamr@2: EDes8Value, williamr@2: /** a TDes16. */ williamr@2: EDes16Value, williamr@2: /** a TDes. */ williamr@2: ELongDesValue, williamr@2: /** Unkown type. */ williamr@2: EUnknownType williamr@2: }; williamr@2: williamr@2: public: williamr@2: IMPORT_C static CCommDbOverrideSettings* NewL(TParamList aParamList); williamr@2: IMPORT_C virtual ~CCommDbOverrideSettings(); williamr@2: williamr@2: // Setting override values in the override set williamr@2: IMPORT_C TInt SetIntOverride(const TDesC& aTableName, const TDesC& aColumnName, TUint32 aValue); williamr@2: IMPORT_C TInt SetBoolOverride(const TDesC& aTableName, const TDesC& aColumnName, TBool aValue); williamr@2: IMPORT_C TInt SetDesOverride(const TDesC& aTableName, const TDesC& aColumnName, const TDesC8& aValue); williamr@2: IMPORT_C TInt SetDesOverride(const TDesC& aTableName, const TDesC& aColumnName, const TDesC16& aValue); williamr@2: IMPORT_C TInt SetLongDesOverride(const TDesC& aTableName, const TDesC& aColumnName, const TDesC& aValue); williamr@2: williamr@2: // Getting override values from the override set. Returns `KErrNotFound` if the williamr@2: // column has not been overriden. williamr@2: IMPORT_C TInt GetIntOverride(const TDesC& aTableName, const TDesC& aColumnName, TUint32& aValue); williamr@2: IMPORT_C TInt GetBoolOverride(const TDesC& aTableName, const TDesC& aColumnName, TBool& aValue); williamr@2: IMPORT_C TInt GetDesOverride(const TDesC& aTableName, const TDesC& aColumnName, TDes8& aValue); williamr@2: IMPORT_C TInt GetDesOverride(const TDesC& aTableName, const TDesC& aColumnName, TDes16& aValue); williamr@2: IMPORT_C TInt GetLongDesOverride(const TDesC& aTableName, const TDesC& aColumnName, TDes& aValue); williamr@2: IMPORT_C TInt GetLongDesOverrideLength(const TDesC& aTableName, const TDesC& aColumnName, TInt& aLength); williamr@2: williamr@2: IMPORT_C TInt SetConnectionPreferenceOverride(const CCommsDbConnectionPrefTableView::TCommDbIapConnectionPref& aPref); williamr@2: williamr@2: IMPORT_C TInt GetConnectionPreferenceOverride(CCommsDbConnectionPrefTableView::TCommDbIapConnectionPref& aPref); williamr@2: williamr@2: IMPORT_C TBool Compare(CCommDbOverrideSettings* aOverrides) const; williamr@2: williamr@2: IMPORT_C TBool IsOverridden(const TDesC& aTableName, const TDesC& aColumnName, TValueType aType); williamr@2: williamr@2: inline TParamList PartialFull() const; williamr@2: williamr@2: IMPORT_C static CCommDbOverrideSettings* NewL(TParamList aParamList, TCommDbDatabaseType aDbType); williamr@2: williamr@2: IMPORT_C TInt GetConnectionPreferenceOverride(CCommsDbConnectionPrefTableView::TCommDbIspConnectionPref& aPref); // will be deprecated in 7.0 williamr@2: williamr@2: IMPORT_C TInt SetConnectionPreferenceOverride(const CCommsDbConnectionPrefTableView::TCommDbIspConnectionPref& aPref); // will be deprecated in 7.0 williamr@2: williamr@2: protected: williamr@2: CCommDbOverrideSettings(TParamList aParamList); williamr@2: virtual void ConstructL(); williamr@2: TInt FindOverride(const TDesC& aTableName, const TDesC& aColumnName, TValueType aType) const; williamr@2: TBool IllegalOverride(const TDesC& aTableName, const TDesC& aColumnName) const; williamr@2: void CheckL(const TDesC& aTableName, const TDesC& aColumnName, TValueType aType) const; williamr@2: static TBool MatchIapOverride(const TCommDbIapConnectionPrefOverride& aFirst, williamr@2: const TCommDbIapConnectionPrefOverride& aSecond); williamr@2: protected: williamr@2: TParamList iPartialFull; williamr@2: RPointerArray iOverrides; williamr@2: RArray iIapOverrides; williamr@2: CCommsDatabase* iDb; williamr@2: williamr@2: }; williamr@2: williamr@2: #include williamr@2: williamr@2: #endif