diff -r 000000000000 -r f72a12da539e menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdeventmappingelement.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdeventmappingelement.h Thu Dec 17 08:40:49 2009 +0200 @@ -0,0 +1,134 @@ +/* +* Copyright (c) 2007-2008 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: +* +*/ + + + +#ifndef C_HNMDEVENTMAPPINGELEMENT_H +#define C_HNMDEVENTMAPPINGELEMENT_H + +#include +#include + +#include "hnglobals.h" + +class CHnMdItem; +class CHnMdAction; +class CHnMdEvent; +struct THnMdCommonPointers; + +/** + * Event Mapping Element. + * + * This class is used to bind key events (or different events) + * with specific actions. + + * + * @lib hierarchynavigatorengine + * @since S60 v5.0 + * @ingroup group_hnmetadatamodel + */ +NONSHARABLE_CLASS(CHnMdEventMappingElement) : public CBase + { +public: + /** + * Standard factory method. + * + * since S60 v5.0 + * @param aElement Xml element. + * @return Fully constructed object. + */ + static CHnMdEventMappingElement* NewL( TXmlEngElement aElement ); + + /** + * Standard factory method. + * + * since S60 v5.0 + * @param aElement Xml element. + * @return Fully constructed object. + */ + static CHnMdEventMappingElement* NewLC( TXmlEngElement aElement ); + + /** + * Default destructor. + */ + virtual ~CHnMdEventMappingElement(); + + /** + * Returns actions. + * + * @return A list of actions stored in an object of this class. + */ + RPointerArray& Actions(); + + /** + * Returns events. + * + * @return A list of events stored in the object of this class. + */ + const RPointerArray& Events() const; + + +private: + + /** + * Standard constructor. + */ + CHnMdEventMappingElement(); + + /** + * EPOC default constructor for performing 2nd stage construction. + * + * @param aElement Xml element. + */ + void ConstructL( TXmlEngElement aElement ); + + /** + * Adds an event to the list of events. + * + * @param aEvent A pointer to the event object. + */ + void AddEventL( CHnMdEvent* aEvent ); + + /** + * Sets events on the base of the xml element. + * + * @param aElement Xml element. + */ + void SetEventsL( TXmlEngElement aElement ); + + /** + * Sets actions on the base of the xml element. + * + * @param aElement Xml element. + */ + void SetActionsL( TXmlEngElement aElement ); + +private: // data + + /** + * Own - Events. + */ + RPointerArray iEvents; + + /** + * Own - Actions. + */ + RPointerArray iActions; + + }; + +#endif // C_HNMEVENTMAPPINGELEMENT_H