--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/brandingserver/inc/mbselement.h Thu Dec 17 08:54:49 2009 +0200
@@ -0,0 +1,127 @@
+/*
+* Copyright (c) 2006 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: MBSElement.h
+*
+*/
+
+
+#ifndef __MBSELEMENT_H
+#define __MBSELEMENT_H
+
+#include <e32std.h>
+#include <rbsobjowningptrarray.h>
+
+enum TBSElementType
+ {
+ EBSInt,
+ EBSText,
+ EBSList,
+ EBSBuffer,
+ EBSBitmap,
+ EBSFile
+ };
+
+/**
+ * Class encapsulating the structure type branding items
+ *
+ * @since
+ */
+
+class RWriteStream;
+class CBSBitmap;
+
+NONSHARABLE_CLASS( MBSElement )
+ {
+
+ public:
+
+ /*
+ * Element type
+ * @return the element type
+ */
+ virtual TBSElementType ElementType() = 0;
+
+ /*
+ * Element id
+ * @return the element id
+ */
+ virtual const TDesC8& ElementId() = 0;
+
+ /*
+ * Integer data
+ * Panics if trying to get wrong type data.
+ * @return the integer data of the item
+ */
+ virtual TInt IntDataL() = 0;
+
+ /*
+ * Text data
+ * Panics if trying to get wrong type data.
+ * @return the text data of the item
+ */
+ virtual const TDesC& TextDataL() = 0;
+
+ /*
+ * 8-bit buffer data
+ * Panics if trying to get wrong type data.
+ * @return the text data of the item
+ */
+ virtual const TDesC8& BufferDataL() = 0;
+
+ /*
+ * Bitmap data
+ * Panics if trying to get wrong type data.
+ * @return the text data of the item
+ */
+ virtual const CBSBitmap& BitmapDataL() = 0;
+
+ /*
+ * Structure data
+ * Panics if trying to get wrong type data.
+ * @return the list data
+ */
+ virtual TArray<MBSElement*> GetStructureL() = 0;
+
+ /*
+ * Finds the first entry from the list of a list type element with
+ * the given element id. Note that if there are several subelements
+ * with the same elementId then TBrandingElementIterator should be
+ * used to iterate through them.
+ * @param aElementId elementId of the subelement to be found.
+ * @return the subelement
+ */
+ virtual const MBSElement& FindSubEntryL( const TDesC& aElementId ) = 0;
+
+ /*
+ * Writes the internal state to stream.
+ * @param aWriteStream output stream;
+ */
+ virtual void ExternalizeL( RWriteStream& aWriteStream ) = 0;
+
+ /*
+ * Deletes the element.
+ */
+ virtual void Close() = 0;
+
+ /*
+ * Destructor
+ */
+ virtual ~MBSElement() {};
+
+ };
+
+
+
+
+#endif //__MBSELEMENT_H