syncmlfw/ds/settings/src/NSmlDSResourceProfile.cpp
changeset 0 b497e44ab2fc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/syncmlfw/ds/settings/src/NSmlDSResourceProfile.cpp	Thu Dec 17 09:07:52 2009 +0200
@@ -0,0 +1,161 @@
+/*
+* Copyright (c) 2004 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:  Resource reader for DS-settings 
+*
+*/
+
+
+
+// INCLUDE FILES
+#include "NSmlDSResourceProfile.h"
+
+
+
+// ----------------------------------------------------------
+// CNSmlDSResourceProfile implementation 
+// ----------------------------------------------------------
+
+// ----------------------------------------------------------
+// CNSmlDSResourceProfile::~CNSmlDSResourceProfile()
+// ----------------------------------------------------------
+CNSmlDSResourceProfile::~CNSmlDSResourceProfile()
+	{
+	if (iContentTypeArray)
+		{
+		iContentTypeArray->ResetAndDestroy();
+		delete iContentTypeArray;
+		}
+
+	delete iProfileDisplayName;
+	delete iServerUserName;
+	delete iServerPassWord;
+	delete iServerURL;
+
+	delete iServerId;
+	delete iVisibilityStr;
+	
+	delete iHttpAuthUsername;
+	delete iHttpAuthPassword;
+	}
+
+// ----------------------------------------------------------
+// CNSmlDSResourceProfile* CNSmlDSResourceProfile::NewLC( TResourceReader& aReader )
+// ----------------------------------------------------------
+CNSmlDSResourceProfile* CNSmlDSResourceProfile::NewLC( TResourceReader& aReader )
+	{
+	CNSmlDSResourceProfile* self = new (ELeave) CNSmlDSResourceProfile;
+	CleanupStack::PushL( self );
+	self->ConstructL( aReader );
+	return self;
+	}
+
+// ----------------------------------------------------------
+// TBool CNSmlDSResourceProfile::SaveProfileL( CNSmlDSProfile* aProfile )
+// ----------------------------------------------------------
+TBool CNSmlDSResourceProfile::SaveProfileL( CNSmlDSProfile* aProfile )
+	{
+	for ( TInt i = 0; i < iContentTypeArray->Count(); i++ )
+		{
+		iContentTypeArray->At(i)->SaveContentL( aProfile );
+		}
+	if(iProfileDisplayName)
+		{
+		aProfile->SetStrValue( EDSProfileDisplayName, iProfileDisplayName->Des() );
+		}
+	aProfile->SetIntValue( EDSProfileIAPId, iIapId );
+	aProfile->SetIntValue( EDSProfileTransportId, iTransportId );
+	if(iServerUserName)
+		{
+		aProfile->SetStrValue( EDSProfileSyncServerUsername, iServerUserName->Des() );
+		}
+	if(iServerPassWord)
+		{
+		aProfile->SetStrValue( EDSProfileSyncServerPassword, iServerPassWord->Des() );
+		}
+	if(iServerURL)
+		{
+		aProfile->SetStrValue( EDSProfileServerURL, iServerURL->Des() );
+		}
+	if(iServerId)
+		{
+		aProfile->SetStrValue( EDSProfileServerId, iServerId->Des() );
+		}
+	aProfile->SetIntValue( EDSProfileServerAlertedAction, iServerAlertedAction );
+	aProfile->SetIntValue( EDSProfileDeleteAllowed, iDeleteAllowed );
+	aProfile->SetIntValue( EDSProfileHidden, iProfileHidden );
+	if(iVisibilityStr)
+		{
+		aProfile->InitVisibilityArray( iVisibilityStr->Des() );
+		}
+	aProfile->SetIntValue( EDSProfileProtocolVersion, iProtocolVersion );
+	aProfile->SetIntValue( EDSProfileHttpAuthUsed, iHttpAuthUsed );
+	if( iHttpAuthPassword )
+		{
+		aProfile->SetStrValue( EDSProfileHttpAuthPassword, *iHttpAuthPassword );
+		}
+	if( iHttpAuthUsername )
+		{
+		aProfile->SetStrValue( EDSProfileHttpAuthUsername, *iHttpAuthUsername );
+		}
+	aProfile->SetIntValue( EDSProfileCreatorId, iCreatorId );
+	
+	return ETrue;
+	}
+
+// ----------------------------------------------------------
+// void CNSmlDSResourceProfile::ConstructL( TResourceReader& aReader )
+// ----------------------------------------------------------
+void CNSmlDSResourceProfile::ConstructL( TResourceReader& aReader )
+	{
+	iContentTypeArray = new (ELeave) CArrayPtrFlat<CNSmlDSResourceContentType> (3);
+	AddDataL( aReader );
+	}
+
+// ----------------------------------------------------------
+// void CNSmlDSResourceProfile::AddDataL( TResourceReader& aReader )
+// ----------------------------------------------------------
+void CNSmlDSResourceProfile::AddDataL( TResourceReader& aReader )
+	{
+	TInt number = aReader.ReadInt16();
+	for ( TInt index = 0; index < number; index++ )
+		{
+		CNSmlDSResourceContentType* contentType = CNSmlDSResourceContentType::NewLC( aReader );
+		iContentTypeArray->AppendL( contentType );
+		CleanupStack::Pop();		
+		}
+	iProfileDisplayName = aReader.ReadHBufC16L();
+
+	iIapId = aReader.ReadInt16();
+	iTransportId = aReader.ReadInt32();
+
+	iServerUserName = aReader.ReadHBufC16L();
+	iServerPassWord = aReader.ReadHBufC16L();
+	iServerURL = aReader.ReadHBufC16L();
+	iServerId = aReader.ReadHBufC16L();
+	
+	iServerAlertedAction = aReader.ReadInt16();
+	iDeleteAllowed = aReader.ReadInt8();
+	iProfileHidden = aReader.ReadInt8();
+
+	iVisibilityStr = aReader.ReadHBufC16L();
+
+	iProtocolVersion = aReader.ReadInt16();
+	
+	iCreatorId = aReader.ReadInt32();
+	iHttpAuthUsed = aReader.ReadInt8();
+	iHttpAuthPassword = aReader.ReadHBufC16L();
+	iHttpAuthUsername = aReader.ReadHBufC16L();		
+	
+	}
+// End of File