eventsui/eventsengine/inc/evtaction.h
branchRCL_3
changeset 18 870918037e16
parent 0 522cd55cc3d7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eventsui/eventsengine/inc/evtaction.h	Wed Sep 01 12:31:27 2010 +0100
@@ -0,0 +1,195 @@
+/*
+* Copyright (c) 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:  Class for the Location Events Action.
+*
+*/
+
+
+#ifndef C_EVTACTION_H
+#define C_EVTACTION_H
+
+// System Includes
+
+// User Includes
+#include "evtdefs.h"
+
+// Forward Declarations
+
+// extern data types
+
+// global Functions
+/**
+ * @enum TEvtActionType
+ * Action Type for an Event.
+ *
+ */
+enum TEvtActionType
+    {
+    /**
+     * The Action for the Event is to play Alarm Tone.
+     */
+    EAlarm                               = 0
+    };
+        
+/**
+ *  @class CEvtAction
+ *  Class that represents the action for an Event
+ *
+ *  This class encapsultes the Action information like action type
+ *  and generic string for action. This class allows for Internalizing
+ *	Externalizing the action.
+ *
+ *  @lib evtstorage.lib
+ *  @since S60 v9.1
+ */
+class CEvtAction : public CBase
+    {
+public:  
+    /**
+     * Constructs a new instance of Event Action.
+     *
+     * @return The new instance of Event Action object.
+     * @leave System wide error code if the object creation fails.         
+     */
+    IMPORT_C static CEvtAction* NewL();
+    
+    /**
+     * Constructs a new instance of Event Action.
+     * Leaves the created instance on the cleanup stack.
+     *
+     * @return The new instance of Event object.
+     * @leave System wide error code if the object creation fails.
+     */
+    IMPORT_C static CEvtAction* NewLC();  
+
+    /**
+    * Destructor.
+    */
+    virtual ~CEvtAction();
+
+public: // Get and Set methods
+    
+    /**
+     * Gets the Action id, identifying the Location Event's Action.
+     * This identifier is definded by Storage Db on creation.   
+     *
+     * @since S60 v9.1     
+     * @return Identifier identifying the Location Event's Action.
+     */
+    TInt64 Id() const;
+ 
+    /**
+     * Set the Action id, identifying the Location Event's Action. 
+     * This identifier is definded by Storage Db on creation.
+     *
+     * @since S60 v9.1   
+     * @param[in] aId Action identifier identifying the Location 
+     * 					Event's Action.
+     */
+    void SetId( const TInt64 aId );
+    
+    /**
+     * Gets the Trigger id, identifying the Location Event to which
+     * Action is associated with.
+     * This identifier is definded by Storage Db on creation.   
+     *
+     * @since S60 v9.1     
+     * @return Event identifier identifying the Location Event.
+     */
+    TEvtEventId EvtId() const;
+ 
+    /**
+     * Set the Trigger id, identifying the Location Event to which
+     * Action is associated with.
+     * This identifer is definded by Storage Db on creation.
+     *
+     * @since S60 v9.1   
+     * @param[in] aId Action identifier identifying the Location 
+     * 					Event's Action.
+     */
+    void SetEvtId( const TEvtEventId aId );
+    
+    /**
+     * Gets the Action type for the Location Event.
+     * The Type is defined when an event is created.
+     *
+     * @since S60 v9.1    
+     * @return TEvtActionType Type of Location Event.
+     */
+    IMPORT_C TEvtActionType Type() const;
+
+    /** 
+     * Set the Action type for the Location Event.
+     *
+     * @since S60 v9.1  
+     * @param[in] TEvtActionType Type for Location Event. 
+     */
+    void SetType( const TEvtActionType aType );
+    
+    /**
+     * Gets the Action for the Location Events.
+     * The Action is defined by the Location EventsUi on Creation.
+     * A reference to the object's internal string is returned.
+     *
+     * @since S60 v9.1    
+     * @return Action String for the Location Event.
+     */
+    TPtrC Action() const;
+
+    /** 
+     * Set the Action String for the Location Event. The Action is 
+     * copied.
+     *
+     * @since S60 v9.1  
+     * @param[in] aAction Action String for the Location Event. 
+     *                  The Action string is copied.
+     * @leave KErrNoMemory If there is not enough memory to copy the string.
+     */
+    void SetActionL( const TDesC& aAction );
+
+private: // methods
+    /**
+     * Default C++ Constructor.
+     */
+    CEvtAction();
+
+    /**
+     * Second phase of the two phase constructor.
+     */
+    void ConstructL();
+
+private: // data
+	
+	/**
+	 * Action Id for an Event.
+	 */
+	TInt64					iId;
+	
+	/**
+	 * Event Id to which the Action is associated with.
+	 */
+	TEvtEventId				iEvtId;
+	
+	/**
+	 * Action Type for an Event.
+	 */
+	TEvtActionType				    iType;
+	
+	/**
+	 * Action String for an Event.
+	 */
+	HBufC*				            iActionString;
+    };
+
+#endif // C_EVTACTION_H