inc/alf/alfmodeloperation.h
changeset 17 3eca7e70b1b8
parent 3 4526337fb576
--- a/inc/alf/alfmodeloperation.h	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,210 +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 ALFMODELOPERATION_H
-#define ALFMODELOPERATION_H
-
-
-//INCLUDES
-#include <osn/osndefines.h>
-#include <osn/ustring.h>
-
-using namespace osncore;
-
-namespace Alf
-    {
-
-/* Forward declarations*/
-class IAlfVariantType;
-
-/** @class AlfModelOperation alfmodeloperation.h "alf/alfmodeloperation.h"
-*  A class for storing information about changes in the model.
-*  CAlfModelOperation can be used to make changes in a batch mode,
-*  i.e., executing multiple changes in one call.
-*  @lib hitchcockwidgetmodel.lib
-*  @since S60 ?S60_version
-*  @status Draft
-*/
-class AlfModelOperation
-    {
-public:
-
-    /** The operation constants. */
-    enum OperationType{EOperationAdd, EOperationRemove, EOperationUpdate};
-
-    /**
-     * constructor. The new operation is left on the cleanup stack.
-     *
-	 * @exception std::bad_alloc     
-     * @since S60 ?S60_version
-     * @param aOperation The operation to be performed.
-     * @param aNumContainerIndices The number of indices in aContainerIndices.
-     * @param aContainerIndices The container indices to find the correct location
-     *                          in the data hierarchy. The ownership is transferred.
-     * @param aData The new data in EOperationAdd and EOperationUpdate operations.
-     *              The ownership is transferred.
-     */
-    OSN_IMPORT static AlfModelOperation* create( OperationType aOperation,
-            int aNumContainerIndices,
-            int* aContainerIndices,
-            IAlfVariantType* aData = 0 );
-
-    /**
-     * constructor for adding or updating a map item.
-     * The new operation is left on the cleanup stack.
-     *
-	 * @exception std::bad_alloc     
-     * @since S60 ?S60_version
-     * @param aOperation The operation to be performed.
-     * @param aNumContainerIndices The number of indices in aContainerIndices.
-     * @param aContainerIndices The container indices to find the correct location
-     *                          in the data hierarchy. The ownership is transferred.
-     * @param aData The new data. The ownership is transferred.
-     * @param aDataName The name of the new data in EOperationAdd and EOperationUpdate
-     *                  operations. Only needed when adding or updating a map item.
-     */
-    OSN_IMPORT static AlfModelOperation* create( OperationType aOperation,
-            int aNumContainerIndices,
-            int* aContainerIndices,
-            IAlfVariantType* aData,
-            const UString& aDataName );
-
-    /** Destructor.*/
-    OSN_IMPORT ~AlfModelOperation();
-
-    /**
-     * Get the name of the new data field in the container map.
-     * Panics if the operation is EOperationRemove.
-     *
-     * @exception osncore::AlfDataException Thrown with the error code osncore::EInvalidModelOperation\n 
-     *										  when wrong operation is performed on Model.
-     * @return The new data.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT const UString& newDataName() const;
-
-    /**
-     * Get the new data used in EOperationAdd or EOperationUpdate operations.
-     * Panics if the operation is EOperationRemove.
-     *
-     * @exception osncore::AlfDataException Thrown with the error code osncore::EInvalidModelOperation\n 
-     *										  when wrong operation is performed on Model.
-     * @return The new data.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT IAlfVariantType& newData() const;
-
-    /**
-     * Get the new data used in EOperationAdd or EOperationUpdate operations.
-     * Panics if the operation is EOperationRemove.
-     * The ownership of the data is transferred to the caller,
-     * and the data of this operation is set to NULL.
-     *
-     * @exception osncore::AlfDataException Thrown with the error code osncore::EInvalidModelOperation\n 
-     *										  when wrong operation is performed on Model.
-     * @return The new data.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT IAlfVariantType* getNewData();
-
-    /**
-     * Get the Operation.
-     *
-     * @return The new data.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT AlfModelOperation::OperationType operation() const;
-
-    /**
-     * Get the parent data for the operation. The parent data
-     * is a container for the data to be added, removed or updated.
-     * The index of the data can be queried using Index().
-     *
-     * @exception osncore::AlfDataException Thrown with the error code osncore::EInvalidContainerOperation\n 
-     *										  when wrong operation is performed on Model.
-     * @param aRoot The root of the data hierarchy to perform the operation.
-     * @return The parent data.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT IAlfVariantType* parentData(IAlfVariantType& aRoot ) const;
-
-    /**
-     * Get the index of the data inside the parent container.
-     * The parent container can be queried using ParentData().
-     * If the parent container is a branch, index 0 refers to
-     * the branch data, and index 1 refers to the child data.
-     *
-     * @return The new data.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT int index() const;
-
-    /**
-     * Get the number of container indices to find the
-     * location in the data hierarchy.
-     *
-     * @return The number of container indices.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT int numContainerIndices() const;
-
-    /**
-     * Get the container index to traverse through the data hierarchy.
-     * If the container in the hierarchy is a branch, index 0 refers to
-     * the branch data, and index 1 refers to the child data.
-     *
-     * @return The container index.
-     * @since S60 ?S60_version
-     */
-    OSN_IMPORT int containerIndex( int aIndex ) const;
-
-private:
-
-    AlfModelOperation(
-        OperationType aOperation,
-        int aNumContainerIndices,
-        int* aContainerIndices,
-        IAlfVariantType* aData = 0 );
-
-    AlfModelOperation(
-        OperationType aOperation,
-        int aNumContainerIndices,
-        int* aContainerIndices,
-        IAlfVariantType* aData,
-        const UString& aDataName );
-
-private: // data
-
-    // Target location in the data hierarchy
-    int mNumContainerIndices;
-    int* mContainerIndices;
-
-    // The new data
-    IAlfVariantType* mData;
-    // The name of the new data, if adding or updating a map item
-    UString mDataName;
-
-    // The operation to be performed
-    OperationType mOperation;
-    };
-
-    } // namespace Alf
-
-#endif // ALFMODELOPERATION_H