commsconfig/commsdatabaseshim/commdbshim/SCDB/OVERRIDE.CPP
changeset 0 dfb7c4ff071f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commsconfig/commsdatabaseshim/commdbshim/SCDB/OVERRIDE.CPP	Thu Dec 17 09:22:25 2009 +0200
@@ -0,0 +1,339 @@
+// Copyright (c) 2006-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:
+// Override settings
+// 
+//
+
+/**
+ @file
+ @deprecated since v9.1. Functionality is replaced with commsdat.
+*/
+
+#include "OVERRIDE.H"
+
+// CCommDbOverride
+
+CCommDbOverride::CCommDbOverride(CCommDbOverrideSettings::TValueType aType)
+	: iType(aType), iTableName(), iColumnName()
+/**
+Constructor
+
+@param aType The value types that may be stored in as overrides
+*/
+	{}
+
+void CCommDbOverride::InternalizeL(RReadStream& aStream)
+/**
+Internalises the override settings from a stream
+
+@param aStream The stream to read from
+*/
+	{
+	iType = (CCommDbOverrideSettings::TValueType) aStream.ReadUint32L();
+	aStream >> iTableName;
+	aStream >> iColumnName;
+	}
+
+void CCommDbOverride::ExternalizeL(RWriteStream& aStream) const
+/**
+Externalises override settings to a stream.
+
+@param aStream The stream to write to
+*/
+	{
+	aStream.WriteUint32L(iType);
+	aStream << iTableName;
+	aStream << iColumnName;
+	}
+
+TBool CCommDbOverride::MatchOverrides(const CCommDbOverride& aFirst,
+									  const CCommDbOverride& aSecond)
+/**
+Checks if the iColumnName, iTableName fields in the passed objects of CCommDbOverride are equal.
+
+@param aFirst A reference to CCommDbOverride class
+@param aSecond A reference to CCommDbOverride class
+@return ETrue if Successful else EFalse
+*/
+	{
+	return (aFirst.iColumnName == aSecond.iColumnName &&
+			aFirst.iTableName == aSecond.iTableName);
+	}
+
+// CCommDbIntOverride
+
+CCommDbIntOverride::CCommDbIntOverride(const TDesC& aTable, const TDesC& aColumn)
+	: CCommDbOverride(CCommDbOverrideSettings::EIntValue)
+/**
+Constructor
+
+@param aTable A reference to a descriptor containing the name Table
+@param aColumn A reference to a descriptor containing the name of a column in table aTableName.
+*/
+	{
+	iTableName.Copy(aTable);
+	iColumnName.Copy(aColumn);
+	}
+
+void CCommDbIntOverride::InternalizeL(RReadStream& aStream)
+/**
+Internalises the override settings from a stream
+
+@param aStream The stream to read from
+*/
+	{
+	iValue = aStream.ReadUint32L();
+	}
+
+void CCommDbIntOverride::ExternalizeL(RWriteStream& aStream) const
+/**
+Externalises override settings to a stream.
+
+@param aStream The stream to write to
+*/
+	{
+	CCommDbOverride::ExternalizeL(aStream);
+	aStream.WriteUint32L(iValue);
+	}
+
+// CCommDbBoolOverride
+
+CCommDbBoolOverride::CCommDbBoolOverride(const TDesC& aTable, const TDesC& aColumn)
+	: CCommDbOverride(CCommDbOverrideSettings::EBoolValue)
+/**
+Constructor
+
+@param aTable A reference to a descriptor containing the name Table
+@param aColumn A reference to a descriptor containing the name of a column in table aTableName.
+*/
+	{
+	iTableName.Copy(aTable);
+	iColumnName.Copy(aColumn);
+	}
+
+void CCommDbBoolOverride::InternalizeL(RReadStream& aStream)
+/**
+Internalises the override settings from a stream
+
+@param aStream The stream to read from
+*/
+	{
+	iValue = (TBool)aStream.ReadUint32L();
+	}
+
+void CCommDbBoolOverride::ExternalizeL(RWriteStream& aStream) const
+/**
+Externalises override settings to a stream.
+
+@param aStream The stream to write to
+*/
+	{
+	CCommDbOverride::ExternalizeL(aStream);
+	aStream.WriteUint32L((TBool)iValue);
+	}
+
+//CCommDbDes8Override
+
+CCommDbDes8Override::CCommDbDes8Override(const TDesC& aTable, const TDesC& aColumn)
+	: CCommDbOverride(CCommDbOverrideSettings::EDes8Value)
+/**
+Constructor
+
+@param aTable A reference to a descriptor containing the name Table
+@param aColumn A reference to a descriptor containing the name of a column in table aTableName.
+*/
+	{
+	iTableName.Copy(aTable);
+	iColumnName.Copy(aColumn);
+	}
+
+void CCommDbDes8Override::InternalizeL(RReadStream& aStream)
+/**
+Internalises the override settings from a stream
+
+@param aStream The stream to read from
+*/
+	{
+	aStream >> iValue;
+	}
+
+void CCommDbDes8Override::ExternalizeL(RWriteStream& aStream) const
+/**
+Externalises override settings to a stream.
+
+@param aStream The stream to write to
+*/
+	{
+	CCommDbOverride::ExternalizeL(aStream);
+	aStream << iValue;
+	}
+
+//CCommDbDes16Override
+
+CCommDbDes16Override::CCommDbDes16Override(const TDesC& aTable, const TDesC& aColumn)
+	: CCommDbOverride(CCommDbOverrideSettings::EDes16Value)
+/**
+Constructor
+
+@param aTable A reference to a descriptor containing the name Table
+@param aColumn A reference to a descriptor containing the name of a column in table aTableName.
+*/
+	{
+	iTableName.Copy(aTable);
+	iColumnName.Copy(aColumn);
+	}
+
+void CCommDbDes16Override::InternalizeL(RReadStream& aStream)
+/**
+Internalises the override settings from a stream
+
+@param aStream The stream to read from
+*/
+	{
+	aStream >> iValue;
+	}
+
+void CCommDbDes16Override::ExternalizeL(RWriteStream& aStream) const
+/**
+Externalises override settings to a stream.
+
+@param aStream The stream to write to
+*/
+	{
+	CCommDbOverride::ExternalizeL(aStream);
+	aStream << iValue;
+	}
+
+// CCommDbLongDesOverride
+
+CCommDbLongDesOverride* CCommDbLongDesOverride::NewL(const TDesC& aTable, const TDesC& aColumn)
+/**
+Allocates and constructs a new communications database override object on the heap.
+
+@param aTable A reference to a descriptor containing the name Table
+@param aColumn A reference to a descriptor containing the name of a column in table aTableName.
+@return A pointer to a communications database override object.
+*/
+	{
+	CCommDbLongDesOverride* r = new(ELeave) CCommDbLongDesOverride(aTable,aColumn);
+	return r;
+	}
+
+CCommDbLongDesOverride* CCommDbLongDesOverride::NewL(const TDesC& aTable, const TDesC& aColumn, const TDesC& aValue)
+/**
+Allocates and constructs a new communications database override object on the heap.
+
+@param aTable A reference to a descriptor containing the name Table
+@param aColumn A reference to a descriptor containing the name of a column in table aTableName.
+@param aValue A reference to a descriptor passed by the caller.
+@return A pointer to a communications database override object.
+*/
+	{
+	CCommDbLongDesOverride* r = new(ELeave) CCommDbLongDesOverride(aTable,aColumn);
+	CleanupStack::PushL(r);
+	r->ConstructL(aValue);
+	CleanupStack::Pop(r);
+	return r;
+	}
+
+CCommDbLongDesOverride::CCommDbLongDesOverride(const TDesC& aTable, const TDesC& aColumn)
+	: CCommDbOverride(CCommDbOverrideSettings::ELongDesValue)
+/**
+Constructor
+
+@param aTable A reference to a descriptor containing the name Table
+@param aColumn A reference to a descriptor containing the name of a column in table aTableName.
+*/
+	{
+	iTableName.Copy(aTable);
+	iColumnName.Copy(aColumn);
+	}
+
+void CCommDbLongDesOverride::ConstructL(const TDesC& aValue)
+	{
+	iValue = aValue.AllocL();
+	}
+
+CCommDbLongDesOverride::~CCommDbLongDesOverride()
+/**
+Destructor
+*/
+	{
+	delete iValue;
+	}
+
+// Would it be possible to stream iValue directly?
+void CCommDbLongDesOverride::InternalizeL(RReadStream& aStream)
+/**
+Internalises the override settings from a stream
+
+@param aStream The stream to read from
+*/
+	{
+	TUint32 length=aStream.ReadUint32L();
+	if (iValue != NULL)
+		{
+		delete iValue;
+		}
+	iValue = HBufC::NewL(aStream, length);
+	}
+
+void CCommDbLongDesOverride::ExternalizeL(RWriteStream& aStream) const
+/**
+Externalises override settings to a stream.
+
+@param aStream The stream to write to
+*/
+	{
+	CCommDbOverride::ExternalizeL(aStream);
+	aStream.WriteUint32L(iValue->Length());
+	aStream << iValue->Des();
+	}
+
+//TCommDbIapConnectionPrefOverride
+
+TCommDbIapConnectionPrefOverride::TCommDbIapConnectionPrefOverride() :
+/**
+Constructor
+*/
+	iPref()
+	{}
+
+void TCommDbIapConnectionPrefOverride::InternalizeL(RReadStream& aStream)
+/**
+Internalises the override settings from a stream
+
+@param aStream The stream to read from
+*/
+	{
+	iPref.iRanking = aStream.ReadUint32L();
+	iPref.iDirection = (TCommDbConnectionDirection)aStream.ReadUint32L();
+	iPref.iDialogPref = (TCommDbDialogPref)aStream.ReadUint32L();
+	iPref.iBearer.iBearerSet = aStream.ReadUint32L();
+	iPref.iBearer.iIapId = aStream.ReadUint32L();
+	}
+
+void TCommDbIapConnectionPrefOverride::ExternalizeL(RWriteStream& aStream) const
+/**
+Externalises override settings to a stream.
+
+@param aStream The stream to write to
+*/
+	{
+	aStream.WriteUint32L(iPref.iRanking);
+	aStream.WriteUint32L(iPref.iDirection);
+	aStream.WriteUint32L(iPref.iDialogPref);
+	aStream.WriteUint32L(iPref.iBearer.iBearerSet);
+	aStream.WriteUint32L(iPref.iBearer.iIapId);
+	}