mmuifw_plat/alf_widgetmodel_api/inc/alf/alfvarianttype.h
changeset 17 3eca7e70b1b8
parent 3 4526337fb576
--- a/mmuifw_plat/alf_widgetmodel_api/inc/alf/alfvarianttype.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1102 +0,0 @@
-/*
-* 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:  This interface defines a generic data type
-*
-*/
-
-
-
-#ifndef ALFVARIANTTYPE_H
-#define ALFVARIANTTYPE_H
-
-
-//  INCLUDES
-#include <e32def.h>
-#include <osn/osndefines.h>
-#include <osn/osncommon.h>
-#include <alf/ialfvarianttype.h>
-#include <alf/ialfcontainer.h>
-#include <alf/ialfmap.h>
-#include <alf/ialfbranch.h>
-#include <memory>
-#include <alf/ialfsortfunction.h>
-
-
-namespace osncore
-    {
-class UString;
-    }
-namespace std
-    {
-template <class T> class auto_ptr;
-    }
-
-using namespace osncore;
-using std::auto_ptr;
-
-namespace Alf
-    {
-
-// FORWARD DECLARATIONS
-class IAlfContainer;
-class IAlfMap;
-class AlfBranch;
-class AlfVariantDataImpl;
-class AlfContainerDataImpl;
-class AlfMapDataImpl;
-class AlfBranchDataImpl;
-class IAlfModelBase;
-// CLASS DECLARATIONS
-
-/**
- *  @class AlfVariantType alfvarianttype.h "alf/alfvarianttype.h"
- *  Concrete implementation of the variant data type interface. 
- *  AlfVariantType can hold data of integer,real,string and unsigned integer types.
- *  @see IAlfVariantType
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class AlfVariantType: public IAlfVariantType
-    {
-public:
-
-    /**
-     * Constructor for variant data type creation for a descriprtor type of data
-     * @exception std::bad_alloc
-     *
-     * @param aValue - Descriptor to be assigned for the variant data
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT  AlfVariantType(const UString& aValue);
-
-
-    /**
-     * Constructor for variant data type creation for a integer type of data
-     * @exception std::bad_alloc
-     *
-     * @param aValue - integer to be assigned for the variant data
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT   AlfVariantType(const int& aValue);
-
-
-    /**
-     * Constructor for variant data type creation for a Unsigned integer type of data
-     * @exception std::bad_alloc
-     *
-     * @param aValue - unsigned integer to be assigned for the variant data
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT  AlfVariantType(const uint& aValue);
-
-
-    /**
-     * Constructor for variant data type creation for a real type of data
-     * @exception std::bad_alloc
-     *
-     * @param aValue - Real value to be assigned for the variant data
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT   AlfVariantType(const double& aValue);
-
-
-    /**
-      * Constructor for variant data type creation for a user defined type of data
-      * @exception std::bad_alloc
-      *
-      * @param aValue - IAlfModelBase* to be assigned for the variant data
-      * @since S60 ?S60_version
-      */
-    OSN_IMPORT  AlfVariantType(IAlfModelBase* aValue) ;
-
-    /**
-     * Constructor for variant data type creation for a bool type of data
-     * @exception std::bad_alloc
-     *
-     * @param aValue - Boolean value to be assigned for the variant data
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT  AlfVariantType(const bool& aValue);
-
-    //from IAlfVariantType Interface
-    /**
-     * Set the Data the variantData. From IAlfVariantType Interface
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType if aValue  
-     *                                      is of invalid type.  
-     * @exception std::bad_alloc
-     *
-     * @param aValue    The new value.
-     * @return void
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    void set(IAlfVariantType& aValue);
-
-    /**
-     * Get the data type.From IAlfVariantType Interface
-     *
-     * @since S60 ?S60_version
-     * @return The data type.
-     */
-    OSN_IMPORT    IAlfVariantType::Type type() const;
-
-    /**
-     * Get the data value as an bool .From IAlfVariantType Interface
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType if aValue  
-     *                                      is not of boolean type.  
-     *
-     * @return bool data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    bool boolean() const;
-
-    /**
-     * Get the data value as an Integer .From IAlfVariantType Interface
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType if aValue  
-     *                                      is not of integer type.  
-     *
-     * @return Integer data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    int integer() const;
-
-    /**
-     * Get the data value as unsigned  int.From IAlfVariantType Interface
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType if aValue  
-     *                                      is not of unsigned integer type.  
-     *
-     * @return unsigned integer value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    uint uinteger() const;
-
-    /**
-     * Get the data value as an bool .From IAlfVariantType Interface
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType if aValue  
-     *                                      is not of real type.  
-     *
-     * @return real data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    double real() const;
-
-    /**
-     * Get the data value as an Descriptor .From IAlfVariantType Interface
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType if aValue  
-     *                                      is not of string type.  
-     *
-     * @return string data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    const UString& string() const;
-
-    /**
-     * Get the data value as an Container .From IAlfVariantType Interface. 
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfVariantType is not a container.   
-     * 
-     * @return AlfContainer .
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfContainer* container();
-
-    /**
-     * Get the data value as Map .From IAlfVariantType Interface.
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfVariantType is not a map.   
-     *
-     * @return Map
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfMap* map() ;
-
-    /**
-     * Get the data value as Branch .From IAlfVariantType Interface
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfVariantType is not a branch.   
-     *
-     * @return Map
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfBranch* branch() ;
-
-    /**
-     * Get the data value as a User Defined Data Pointer.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType if aValue  
-     *                                      is not of custom type.  
-     *
-     * @return IAlfModelBase interface.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT IAlfModelBase* customData();
-
-    /**
-     * Destructor
-     *
-     * @return
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT ~AlfVariantType();
-
-
-    /**
-     * The default constructor.
-     *
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT AlfVariantType();
-
-    /**
-     * Equality comparison operator.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType if aValue  
-     *                                      is of invalid type.  
-     *
-     * @param aOther object to compare against.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT bool operator==(const IAlfVariantType& aOther) const;
-
-private:
-
-
-    /**
-     * 2nd Phase Constructor
-     *
-     * @since S60 ?S60_version
-     * @param aType
-     */
-    void  construct(Type aType);
-
-
-private:
-    //data owned
-    auto_ptr<AlfVariantDataImpl> mVarData;
-
-    };
-
-
-/**
- *  @class AlfVariantType alfvarianttype.h "alf/alfvarianttype.h"
- *  Concrete implementation of the variant data type interface. 
- *  Simple default container of variant types.
- *  @see IAlfContainer
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft
- */
-class AlfContainer : public IAlfContainer
-    {
-public:
-
-     /**
-     * Constructor for creating a variant data type which can store a alfcontainer
-     * @exception std::bad_alloc
-     *
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT  AlfContainer();
-
-    /**
-     * Destructor
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT  ~AlfContainer();
-
-    //IAlfContainer APIs
-
-    /**
-     * Adds a variantData item into the container .From IAlfContainer interface
-     * @aData variant data to be added into the container. Ownership is transferred
-     * if the method completes without exceptions. If there is an exception
-     * (e.g. due to out of memory), the client code is responsible for cleaning up the object.
-     * @exception std::bad_alloc
-     *
-     * @return void.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void addItem(IAlfVariantType* aData);
-
-    /**
-     * Adds a variantData item into the container .From IAlfContainer interface
-     * @aIndex index where the data is added
-     * @aData variant data to be added into the container. Ownership is transferred
-     * if the method completes without exceptions. If there is an exception
-     * (e.g. due to out of memory), the client code is responsible for cleaning up the object.
-     * @exception std::bad_alloc
-     *
-     * @return void.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void addItem(uint aIndex, IAlfVariantType* aData);
-
-    /**
-     * Gets the Number of items in  the container . From IAlfContainer interface
-     *
-     * @return number of items in the container
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT int count();
-
-    /**
-     * Gets the Item at a given index in  the container From IAlfContainer interface
-     * @param aIndex - index at which the element is required
-     * @return item as a MlfVariantType
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT IAlfVariantType* item(uint aIndex);
-
-    /**
-     * Clones the  entire container From IAlfContainer interface
-     * @exception std::bad_alloc
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType if 
-     *                                      there is an invalid data type in the container.   
-     *
-     * @return the cloned container
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT IAlfContainer* clone();
-
-
-    /**
-     * Removes  an item from  given index in  the container. From IAlfContainer interface
-     * @param aIndex - index at which the element is to be removed.
-     * @return item as a IAlfVariantType
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void removeItem(uint aIndex);
-
-    /**
-     * Clear the Container. From IAlfContainer interface
-     *
-     * @return void
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void clear() ;
-
-    /**
-     * Replace  an item from  given index in  the container.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidContainerOperation if
-     *                                      the replaceItem fails.   
-     *
-     * @param aIndex - index at which the element is to be replaced
-     * @param aNewData - new Data to be replaced
-     * @return void
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void replaceItem(uint aIndex, IAlfVariantType* aNewData );
-
-    /**
-     * sorts the container using user defined sort function.
-     *
-     * @param aSortFunction - sort function.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void sort( const IAlfSortFunction& aSortFunction );
-
-    //from IAlfVariantType Interface
-    /**
-     * Set the Data the variantData. From IAlfVariantType Interface.
-     * Always throws an exception always.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidContainerOperation always. 
-     *                                      Use the addItem API.   
-     *
-     * @param aValue    The new value.
-     * @return void
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void set(IAlfVariantType& aValue);
-
-    /**
-     * Get the data type.From IAlfVariantType Interface
-     *
-     * @return The data type.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT IAlfVariantType::Type type() const;
-
-    /**
-     * Get the data value as an bool .From IAlfVariantType Interface.
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfContainer is not boolean.   
-     *
-     * @return bool data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT bool boolean() const;
-
-    /**
-     * Get the data value as an Integer .From IAlfVariantType Interface.
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfContainer is not an integer.   
-     *
-     * @return Integer data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT  int integer() const;
-
-    /**
-     * Get the data value as unsigned  int.From IAlfVariantType Interface.
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfContainer is not an unsigned integer.   
-     *
-     * @return unsigned integer data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT  uint uinteger() const;
-
-    /**
-     * Get the data value as an bool .From IAlfVariantType Interface.
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfContainer is not a real value.   
-     *
-     * @return real data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT double real() const;
-
-    /**
-     * Get the data value as an Descriptor .From IAlfVariantType Interface.
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfContainer is not a string.   
-     *
-     * @return string data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT  const UString& string() const;
-
-    /**
-     * Get the data value as an Conatiner .From IAlfVariantType Interface.
-     *
-     * @return AlfContainer .
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfContainer* container();
-
-    /**
-     * Get the data value as Map .From IAlfVariantType Interface.
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfContainer is not a map.   
-     *
-     * @return Map
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfMap* map();
-
-    /**
-     * Get the data value as Branch .From IAlfVariantType Interface.
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfContainer is not a map.   
-     *
-     * @return Map
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfBranch* branch();
-
-    /**
-     * Get the data value as a User Defined Data Pointer.
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfContainer is not a custom data type.   
-     *
-     * @return IAlfModelBase interface.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT IAlfModelBase* customData();
-
-    /**
-     * Equality comparison operator.
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidContainerOperation always.
-     *
-     * @param aOther object to compare against.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT bool operator==(const IAlfVariantType& aOther) const;
-private:
-    void construct();
-    //Data owned
-    auto_ptr<AlfContainerDataImpl> mContainerData;
-
-    };
-
-/**
- *  @class AlfMap alfvarianttype.h "alf/alfvarianttype.h"
- *  Concrete implementation of the variant data type interface. 
- *  Simple map of variant types.The map is contains data and a key.
- *  @see IAlfMap
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft 
- */
-class AlfMap : public IAlfMap
-    {
-public:
-
-
-    /**
-     * 1st phase Constructor for creating a variant data type which can store a AlfMap
-     * @exception std::bad_alloc
-     * 
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT  AlfMap();
-
-
-
-    //IAlfContainer APIs
-
-    /**
-     * Gets the Number of items in  the container . From IAlfContainer interface
-     *
-     * @return number of items in the container
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    int count() const;
-
-    /**
-     * Gets the Item at a given index in  the container From IAlfContainer interface
-     * @param aIndex - index at which the element is required
-     * @return item as a MlfVariantType
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfVariantType* item(uint aIndex);
-
-    /**
-     * Clones the  entire container From IAlfContainer interface
-     * @exception std::bad_alloc
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType if 
-     *                                      there is an invalid data type in the container.   
-     *
-     * @return the cloned container
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfMap* clone();
-
-
-    /**
-     * Removes  an item from  given index in  the container. From IAlfContainer interface.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidMapOperation if
-     *                                      the removeItem fails.   
-     *     
-     * @param aIndex - index at which the element is to be removed
-     * @return void
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    void removeItem(uint aIndex);
-
-    /**
-     * Clear the Container. From IAlfContainer interface
-     *
-     * @return void
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    void clear() ;
-
-    /**
-     * Replace  an item from  given index in  the container
-     * @exception std::bad_alloc
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidMapOperation if
-     *                                      the replaceItem fails.   
-     * @param aIndex - index at which the element is to be replaced
-     * @param aNewData - new Data to be replaced
-     * @return void
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    void replaceItem(uint aIndex, IAlfVariantType* aNewData );
-
-
-
-    //IAlfMap Interface APis
-
-    /**
-     * Gets the Item for a given name  in  the map. From IAlfContainer interface
-     * @param aName - name of the element that is required
-     * @return item as a IAlfVariantType
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfVariantType* item(const UString& aName);
-
-    /**
-     * Gets the index of the item by the given name.
-     * @param aName The name associated with requested item.
-     * @return The index corresponding to the name of the item.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    int itemIndex(const UString& aName);
-
-    /**
-     * Removes  an item for a given Name in map. From IAlfContainer interface
-     * @exception std::bad_alloc
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidMapOperation if
-     *                                      the removeItem fails.   
-     *
-     * @param aName - name of the element that is to be removed
-     * @return item as a MlfVariantType
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    void removeItem(const UString& aName);
-
-    /**
-     * Replace  an item for a given name in  the container
-     * @exception std::bad_alloc
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidMapOperation if
-     *                                      the replaceItem fails.   
-     *
-     * @param aName - name  of the element that is to be replaced
-     * @param aNewData - new Data to be replaced
-     * @return void
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    void replaceItem(const UString& aName,IAlfVariantType* aNewData);
-
-    /**
-     * Adds a variantData item into the container .From IAlfContainer interface
-     * @exception std::bad_alloc
-     *
-     * @param aName - name of the data that needs to be added
-     * @param aData- variant data to be added into the container. Ownership is transferred
-     * if the method completes without exceptions. If there is an exception
-     * (e.g. due to out of memory), the client code is responsible for cleaning up the object.
-     * @return void.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    void addItem(IAlfVariantType* aData, const UString& aName);
-
-    /**
-     * Adds a variantData item into the container .From IAlfContainer interface
-     * @exception std::bad_alloc
-     *
-     * @aIndex index where the data is added
-     * @param aName - name of the data that needs to be added
-     * @param aData- variant data to be added into the container. Ownership is transferred
-     * if the method completes without exceptions. If there is an exception
-     * (e.g. due to out of memory), the client code is responsible for cleaning up the object.
-     * @return void.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    void addItem(uint aIndex, IAlfVariantType* aData, const UString& aName);
-
-    /**
-     * Gets the Name at a given index in  the container
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidArrayIndex if
-     *                                      aIndex is invalid.   
-     *
-     * @param aIndex - index at which the name of the element in the map  is required
-     * @return item name as a TPtr
-     * @since S60 ?S60_version
-     */
-    const UString& name(uint aIndex) const;
-
-    //class methods
-    /**
-     * Destructor
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT ~AlfMap();
-
-
-    //from IAlfVariantType Interface
-    /**
-     * Set the Data the variantData. From IAlfVariantType Interface.
-     * Always throws an exception always.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidMapOperation always. 
-     *                                      Use the addItem API.   
-     * @param aValue    The new value.
-     * @return void
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    void set(IAlfVariantType& aValue);
-
-    /**
-     * Get the data type.From IAlfVariantType Interface
-     *
-     * @return The data type.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfVariantType::Type type() const;
-
-    /**
-     * Get the data value as an bool .From IAlfVariantType Interface
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfMap is not boolean.   
-     *
-     * @return bool data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    bool boolean() const;
-
-    /**
-     * Get the data value as an Integer .From IAlfVariantType Interface
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfMap is not an integer.   
-     *
-     * @return Integer data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    int integer() const;
-
-    /**
-     * Get the data value as unsigned  int.From IAlfVariantType Interface
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfMap is not an unsigned integer.   
-     *
-     * @return unsigned integer data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    uint uinteger() const;
-
-    /**
-     * Get the data value as an bool .From IAlfVariantType Interface
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfMap is not a real value.   
-     *
-     * @return double data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    double real() const;
-
-    /**
-     * Get the data value as an Descriptor .From IAlfVariantType Interface
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfMap is not a string value.   
-     *
-     * @return string data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    const UString& string() const;
-
-    /**
-     * Get the data value as an Conatiner .From IAlfVariantType Interface
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfMap is not a container.   
-     *
-     * @return AlfContiner .
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfContainer* container();
-
-    /**
-     * Get the data value as Map .From IAlfVariantType Interface
-     *
-     * @return Map
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfMap* map();
-
-    /**
-     * Get the data value as Branch .From IAlfVariantType Interface
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfMap is not a branch.   
-     *
-     * @return Branch
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfBranch* branch();
-
-    /**
-     * Get the data value as a User Defined Data Pointer.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfMap is not a custom data type.   
-     *
-     * @return IAlfModelBase interface.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT IAlfModelBase* customData();
-
-    /**
-     * Equality comparison operator.
-     *
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT bool operator==(const IAlfVariantType& aOther) const;
-
-private:
-    void construct();
-    //data
-    auto_ptr<AlfMapDataImpl> mMapDataImpl;
-    };
-
-/**
- *  @class AlfBranch alfvarianttype.h "alf/alfvarianttype.h"
- *  Concrete implementation of the variant data type interface. 
- *  @see IAlfBranch
- *
- *  @lib alfwidgetmodel.lib
- *  @since S60 ?S60_version
- *  @status Draft 
- */
-class AlfBranch: public IAlfBranch
-    {
-public:
-
-
-    /**
-     * Parameterized Constructor
-     * @exception std::bad_alloc
-     *
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    AlfBranch( IAlfMap* aData, IAlfMap* aChildData);
-
-    /**
-     * Default Constructor
-     * @exception std::bad_alloc
-     *
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    AlfBranch();
-
-    /**
-     *
-     * @return
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfMap* data();
-
-    /**
-     *
-     * @param  aData -
-     * @return void.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    void setData( IAlfMap* aData );
-
-    /**
-     *
-     * @param  aIndex -
-     * @return .
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfVariantType* childData(int aIndex);
-
-    /**
-     *
-     * @param  aIndex -
-     * @return .
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    const UString& childName(int aIndex);
-
-    /**
-     *
-     * @return .
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfMap* childData();
-
-    /**
-     *
-     * @param  aChildData -
-     * @return void
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    void setChildData( IAlfMap* aChildData );
-
-    /**
-     *
-     * @return
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    uint childrenCount();
-
-    /**
-     * Destructor
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT ~AlfBranch();
-
-    /**
-     * sorts the branch using user defined sort function.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidBranchOperation if
-     *                                      sorting fails.   
-     *
-     * @param aSortFunction - sort function.
-     * return void
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT void sort( const IAlfSortFunction& aSortFunction );
-
-    /**
-     * Function to Clone the Branch
-     * @exception std::bad_alloc
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidBranchOperation if
-     *                                      cloning fails.   
-     * 
-     * @return
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT IAlfBranch*  clone();
-
-
-    //from IAlfVariantType Interface
-    /**
-     * Set the Data the variantData. From IAlfVariantType Interface
-     * Always throws an exception always.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidBranchOperation always. 
-     *                                      Use the setData API.   
-     *
-     * @param aValue    The new value.
-     * @return void
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    void set(IAlfVariantType& aValue);
-
-    /**
-     * Get the data type.From IAlfVariantType Interface
-     *
-     * @return The data type.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfVariantType::Type type() const;
-
-    /**
-     * Get the data value as an bool .From IAlfVariantType Interface
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfBranch is not boolean.   
-     * @return bool data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    bool boolean() const;
-
-    /**
-     * Get the data value as an Integer .From IAlfVariantType Interface
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfBranch is not an integer.   
-     * 
-     * @return Integer data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    int integer() const;
-
-    /**
-     * Get the data value as unsigned  int.From IAlfVariantType Interface
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfBranch is not an unsigned integer.   
-     * 
-     * @return unsigned integer data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    uint uinteger() const;
-
-    /**
-     * Get the data value as an bool .From IAlfVariantType Interface
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfBranch is not a real value.   
-     * 
-     * @return real data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    double real() const;
-
-    /**
-     * Get the data value as an Descriptor .From IAlfVariantType Interface
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfBranch is not a string value.   
-     * 
-     * @return string data value.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    const UString& string() const;
-
-    /**
-     * Get the data value as an Conatiner. From IAlfVariantType Interface
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfBranch is not a container.   
-     * 
-     * @return AlfContiner .
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfContainer* container();
-
-    /**
-     * Get the data value as Map. From IAlfVariantType Interface
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfBranch is not a map.   
-     * 
-     * @return Map
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfMap* map();
-
-    /**
-     * Get the data value as Branch. From IAlfVariantType Interface
-     * 
-     * @return Map
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT    IAlfBranch* branch();
-
-    /**
-     * Get the data value as a User Defined Data Pointer.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidVariantDataType always
-     *                                      since AlfBranch is not a custom value.   
-     * 
-     * @return IAlfModelBase interface.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT IAlfModelBase* customData();
-
-    /**
-     * Equality comparison operator.
-     * Always throws an exception.
-     * @exception osncore::AlfDataException Thrown with error code osncore::EInvalidBranchOperation always.
-     * 
-     * @param aOther object to compare against.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT bool operator==(const IAlfVariantType& aOther) const;
-private:
-    /**
-     * 2nd Phase Constructor
-     * @return
-     * @since S60 ?S60_version
-     */
-    void construct( IAlfMap* aData, IAlfMap* aChildData);
-
-private:
-
-    //Data - owned
-    auto_ptr<AlfBranchDataImpl> mBranchData;
-
-
-    };
-
-    } // namespace Alf
-
-#endif // ALFVARIANTTYPE_H
-
-// End of File