brandingserver/bsclient/cbselement.cpp
changeset 46 860cd8a5168c
parent 35 085f765766a0
--- a/brandingserver/bsclient/cbselement.cpp	Fri May 28 18:27:27 2010 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,343 +0,0 @@
-/*
-* Copyright (c) 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: cbselement.cpp
-*
-*/
-//  INCLUDE FILES
-
-#include <utf.h>
-#include "e32base.h"
-#include "s32strm.h"
-#include "cbselement.h"
-#include "cbsbitmap.h"
-
-
-CBSElement* CBSElement::NewL(
-						const TDesC8& aElementId,
-						TInt aData )
-    {
-
-	CBSElement* self = new ( ELeave ) CBSElement() ;
-    CleanupStack::PushL( self );
-    self->ConstructL( EBSInt,
-    				  aElementId,
-    				  aData,
-    				  ETrue,
-    				  NULL,
-    				  KNullDesC,
-    				  KNullDesC8,
-    				  NULL );
-    CleanupStack::Pop( self );  //self
-    return self;
-    }
-
-
-CBSElement* CBSElement::NewL(
-						const TDesC8& aElementId,
-						const TDesC& aData,
-						TBSElementType aType /*= EText*/ )
-    {
-    if( aType != EBSFile && aType != EBSText )
-        {
-        User::Leave( KErrArgument );
-        }
-
-    CBSElement* self = new ( ELeave ) CBSElement() ;
-    CleanupStack::PushL( self );
-    self->ConstructL( aType,
-    				  aElementId,
-    				  0,
-    				  EFalse,
-    				  NULL,
-    				  aData,
-    				  KNullDesC8,
-    				  NULL);
-    CleanupStack::Pop( self );  //self
-    return self;
-    }
-
-
-CBSElement* CBSElement::NewL(
-						const TDesC8& aElementId,
-						const TDesC8& aData )
-    {
-    CBSElement* self = new ( ELeave ) CBSElement() ;
-    CleanupStack::PushL( self );
-    self->ConstructL( EBSBuffer,
-    				  aElementId,
-    				  0,
-    				  EFalse,
-    				  NULL,
-    				  KNullDesC,
-    				  aData,
-    				  NULL);
-    CleanupStack::Pop( self );  //self
-    return self;
-    }
-
-CBSElement* CBSElement::NewL(
-						const TDesC8& aElementId,
-						RBSObjOwningPtrArray<MBSElement>& aStructure )
-    {
-    CBSElement* self = new ( ELeave ) CBSElement();
-    CleanupStack::PushL( self );
-    self->ConstructL( EBSList,
-    				  aElementId,
-    				  0,
-    				  EFalse,
-    				  NULL,
-    				  KNullDesC,
-    				  KNullDesC8,
-    				  &aStructure );
-    CleanupStack::Pop( self );  //self
-    return self;
-    }
-
-CBSElement* CBSElement::NewL(
-    					const TDesC8& aElementId,
-    					CBSBitmap* aBitmap )
-    {
-    CBSElement* self = new ( ELeave ) CBSElement() ;
-    CleanupStack::PushL( self );
-    self->ConstructL( EBSBitmap,
-    				  aElementId,
-    				  0,
-    				  EFalse,
-    				  aBitmap,
-    				  KNullDesC,
-    				  KNullDesC8,
-    				  NULL );
-
-	if( !aBitmap )
-		{
-		User::Leave( KErrArgument );
-		}
-
-    CleanupStack::Pop( self );  //self
-    return self;
-    }
-
-void CBSElement::ConstructL(
-						 TBSElementType aElementType,
-					 	 const TDesC8& aElementId,
-					 	 TInt aIntData,
-					 	 TBool aIntDataInitialized,
-					 	 CBSBitmap* aBitmap,
-					 	 const TDesC& aTextData,
-					 	 const TDesC8& aBufferData,
-					 	 RBSObjOwningPtrArray<MBSElement>* aStructure )
-    {
-	iElementType = aElementType;
-
-	iElementId = aElementId.AllocL();
-
-	iIntData = aIntData;
-	iIntDataInitialized = aIntDataInitialized;
-
-	iBitmapData = aBitmap;
-
-	if( 0 != aTextData.Compare( KNullDesC() ) )
-		{
-		iTextData = aTextData.AllocL();
-		}
-	if( 0 != aBufferData.Compare( KNullDesC8() ) )
-		{
-		iBufferData = aBufferData.AllocL();
-		}
-	if( aStructure )
-		{
-		iArrayInitialized = ETrue;
-		iArray = *aStructure;
-		}
-    }
-
-
-CBSElement::~CBSElement()
-    {
-	delete iTextData;
-	delete iBufferData;
-	delete iElementId;
-
-	iArray.Close();
-	delete iBitmapData;
-    }
-
-
-CBSElement::CBSElement()
-	{
-	}
-
-void CBSElement::Close()
-	{
-	delete this;
-	}
-	
-	
-TBSElementType CBSElement::ElementType()
-	{
-	return iElementType;
-	}
-
-const TDesC8& CBSElement::ElementId()
-	{
-	return *iElementId;
-	}
-
-TInt CBSElement::IntDataL()
-	{
-	if( !iIntDataInitialized )
-		{
-		User::Leave( KErrArgument );
-		}
-	return iIntData;
-	}
-
-const TDesC& CBSElement::TextDataL()
-	{
-	if( !iTextData )
-		{
-		User::Leave( KErrArgument );
-		}
-	return *iTextData;
-	}
-
-const TDesC8& CBSElement::BufferDataL()
-	{
-	if( !iBufferData )
-		{
-		User::Leave( KErrArgument );
-		}
-	return *iBufferData;
-	}
-
-const CBSBitmap& CBSElement::BitmapDataL()
-    {
-	if( !iBitmapData )
-		{
-		User::Leave( KErrArgument );
-		}
-    return *iBitmapData;
-    }
-
-TArray<MBSElement*> CBSElement::GetStructureL()
-	{
-	if( !iArrayInitialized )
-		{
-		User::Leave( KErrArgument );
-		}
-
-	return iArray.Array();
-	}
-
-const MBSElement& CBSElement::FindSubEntryL( const TDesC& aElementId )
-	{
-    if ( !iArray.Count() )
-        {
-        User::Leave( KErrNotFound );
-        }
-    
-	MBSElement* element = NULL;
-	HBufC8* id = CnvUtfConverter::ConvertFromUnicodeToUtf8L( aElementId );	
-	User::LeaveIfNull( id );
-	CleanupStack::PushL( id );
-	for ( TInt i( 0 ) ; i < iArray.Count() ; i++ )
-	    {
-	    if ( iArray[ i ] )
-	        {
-    	    if ( !iArray[ i ]->ElementId().CompareC( *id ) )
-    	        {
-    	        // Match found
-    	        element = iArray[ i ];
-    	        i = iArray.Count();// Exit loop.
-    	        }
-	        }
-	    }
-	CleanupStack::PopAndDestroy( id );
-	  
-	if ( !element )
-	    {
-	    User::Leave( KErrNotFound );
-	    }
-	      
-	return *element;
-	}
-
-void CBSElement::ExternalizeL( RWriteStream& aWriteStream )
-    {
-    // Write common header for all elements
-    aWriteStream.WriteInt16L( iElementType );
-    aWriteStream.WriteInt16L( iElementId->Length() );
-    if( iElementId->Length() > 0 )
-        {
-        // Write ID only if it's defined
-        aWriteStream.WriteL( *iElementId );
-        }
-
-    // Write element type specific data
-    switch( iElementType )
-        {
-        case EBSInt:
-            {
-            aWriteStream.WriteInt16L( iIntData );
-            break;
-            }
-        case EBSText:     // flowthrough
-        case EBSFile:
-            {
-            aWriteStream.WriteInt16L( iTextData->Length() );
-            aWriteStream.WriteL( *iTextData );
-            break;
-            }
-        case EBSList:
-            {
-			TInt count = iArray.Count();
-            aWriteStream.WriteInt16L( count );
-            // Write all subitems to stream
-            for( TInt i = 0; i < count; i++ )
-                {
-				MBSElement* element = iArray[i];
-                element->ExternalizeL( aWriteStream );
-                }
-            break;
-            }
-        case EBSBitmap:
-            {
-			TPtrC8 ptr = iBitmapData->BitmapFileId();
-			aWriteStream.WriteInt16L( ptr.Length() );
-            aWriteStream.WriteL( ptr );
-            
-            aWriteStream.WriteInt16L( iBitmapData->BitmapId() );
-            aWriteStream.WriteInt16L( iBitmapData->BitmapMaskId() );
-            aWriteStream.WriteInt16L( iBitmapData->SkinIdMajor() );
-            aWriteStream.WriteInt16L( iBitmapData->SkinIdMinor() );
-
-            break;
-            }
-        case EBSBuffer:
-        	{
-            aWriteStream.WriteInt16L( iBufferData->Length() );
-            aWriteStream.WriteL( *iBufferData );
-        	break;
-        	}
-        default:
-            {
-            // unknown type!
-            User::Leave( KErrCorrupt );
-            break;
-            }
-        }
-    }
-
-
-//  END OF FILE