eventsui/eventsengine/inc/evtevent.h
branchRCL_3
changeset 18 870918037e16
parent 0 522cd55cc3d7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eventsui/eventsengine/inc/evtevent.h	Wed Sep 01 12:31:27 2010 +0100
@@ -0,0 +1,349 @@
+/*
+* 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:  Concrete Class for Location Events.
+*
+*/
+
+
+#ifndef C_EVTEVENT_H
+#define C_EVTEVENT_H
+
+// System Includes
+#include <e32base.h>
+#include <lbs.h>
+
+// User Includes
+#include "evtdefs.h"
+
+// Forward Declarations
+class CEvtAction;
+
+// extern data types
+
+// global Functions
+
+// constants go here
+
+/**
+ *  @class CEvtEvent
+ *  Concrete class that encapsulates all the information related for
+ *	Event.
+ *
+ *  This class is used to store the detailed information for an event.
+ *
+ *  @lib evtstorage.lib
+ *  @since S60 v9.1
+ */
+class CEvtEvent : public CBase
+    {
+public:  
+    /**
+     * Constructs a new instance of Event.
+     *
+     * @return The new instance of Event object.
+     * @leave System wide error code if the object creation fails.         
+     */
+    IMPORT_C static CEvtEvent* NewL();
+    
+    /**
+     * Constructs a new instance of Event Object.
+     * 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 CEvtEvent* NewLC();  
+
+    /**
+    * Destructor.
+    */
+    virtual ~CEvtEvent();
+
+public: // Get and Set methods
+    
+    /**
+     * Gets the Trigger id, identifying the Location Event.
+     * This identifier is definded by Location Triggering Engine.   
+     *
+     * @since S60 v9.1     
+     * @return Event identifier identifying the Location Event.
+     */
+    IMPORT_C TEvtEventId EventId() const;
+ 
+    /**
+     * Set the Trigger id, identifying the Location Event. The
+     * identifer is definded by Location Triggering Engine.
+     *
+     * @since S60 v9.1   
+     * @param[in] aId Event identifier identifying the Location Event.
+     */
+    IMPORT_C void SetEventId( const TEvtEventId aId );
+    
+    /**
+     * Gets the Subject for the Location Events.
+     * The Subject is defined by the Location EventsUi on Creation.
+     * A reference to the object's internal string is returned.
+     *
+     * @since S60 v9.1    
+     * @return Subject for the Location Event. If the Subject has not 
+     *         been set for the Location Event, then a NULL
+     *         string is returned.
+     */
+    IMPORT_C TPtrC Subject() const;
+
+    /** 
+     * Set the Subject String for the Location Event. The Subject is 
+     * copied.
+     *
+     * @since S60 v9.1  
+     * @param[in] aSubject Subject String for the Location Event. 
+     *                  The Subject string is copied.
+     * @leave KErrNoMemory If there is not enough memory to copy the string.
+     */
+    IMPORT_C void SetSubjectL( const TDesC& aSubject );
+    
+    /**
+     * Gets the Place for the Location Events.
+     * The Place is defined by the Location EventsUi on Creation.
+     * A reference to the object's internal string is returned.
+     *
+     * @since S60 v9.1    
+     * @return Place String for the Location Event. If the Place has not 
+     *         been set for the Location Event, then a NULL
+     *         string is returned.
+     */
+    IMPORT_C TPtrC Place() const;
+
+    /** 
+     * Set the Place String for the Location Event. The Place is 
+     * copied.
+     *
+     * @since S60 v9.1  
+     * @param[in] aPlace Place String for the Location Event. 
+     *                  The Place string is copied.
+     * @leave KErrNoMemory If there is not enough memory to copy the string.
+     */
+    IMPORT_C void SetPlaceL( const TDesC& aPlace );
+    
+    /**
+     * Gets the Status of the Location Event.
+     * The Status is defined by the Location EventsUi on Creation.
+     * Status is updated as and when the Event moves to different state.
+     *
+     * @since S60 v9.1    
+     * @return TEvtEventStatus Status for the Location Event.
+     */
+    IMPORT_C TEvtEventStatus EventStatus() const;
+
+    /** 
+     * Set the Status for the Location Event.
+     *
+     * @since S60 v9.1  
+     * @param[in] aEventStatus Status for the Location Event. 
+     */
+    IMPORT_C void SetEventStatus( 
+                            const TEvtEventStatus aEventStatus );
+                            
+    /**
+     * Gets the Radius for the Location Events.
+     * The Radius is defined by the Location EventsUi on Creation.
+     * Radius is defined based on the place.
+     *
+     * @since S60 v9.1    
+     * @return Radius for the Location Event.
+     */
+    IMPORT_C TReal Radius() const;
+
+    /** 
+     * Set the Radius for the Location Event.
+     *
+     * @since S60 v9.1  
+     * @param[in] aRadius Radius for the Location Event. 
+     */
+    IMPORT_C void SetRadius( const TReal aRadius );
+             
+    /**
+     * Gets the Repeast flag for the Location Event.
+     * The Repeast is defined by the Location EventsUi on Creation.
+     *
+     * @since S60 v9.1    
+     * @return TBool Repeat flag for the Location Event.
+     */
+    IMPORT_C TBool Repeat() const;
+
+    /** 
+     * Set the Repeat flag for the Location Event.
+     *
+     * @since S60 v9.1  
+     * @param[in] TBool Repeat flag for the Location Event. 
+     */
+    IMPORT_C void SetRepeat( const TBool aRepeat );
+        
+    /**
+     * Gets the Description for the Location Events.
+     * The Description is defined by Location EventsUi on Creation.
+     * A reference to the object's internal string is returned.
+     *
+     * @since S60 v9.1    
+     * @return Description for the Location Event. If the Description 
+     *          has not been set for the Location Event, then a NULL
+     *         string is returned.
+     */
+    IMPORT_C TPtrC Description() const;
+
+    /** 
+     * Set the Description String for the Location Event. The  
+     * Description is copied.
+     *
+     * @since S60 v9.1  
+     * @param[in] aDescription Description String for the Location Event. 
+     *                  The Description string is copied.
+     * @leave KErrNoMemory If there is not enough memory to copy the string.
+     */
+    IMPORT_C void SetDescriptionL( const TDesC& aDescription );
+    
+    /**
+     * Gets the Action for the Location Events.
+     * The Action is defined by the Location EventsUi on Creation.
+     * A reference to the object's action is returned.
+     *
+     * @since S60 v9.1    
+     * @return Action for the Location Event. If the Action has 
+     *          not been set for the Location Event, then a NULL
+     *          is returned.
+     */
+    IMPORT_C CEvtAction& Action() const;
+
+    /** 
+     * Set the Action for the Location Event. The Action is 
+     * copied.
+     *
+     * @since S60 v9.1  
+     * @param[in] aAction Action for the Location Event. 
+     *                  The ownership of Action is transferred to Event.
+     * @leave KErrNoMemory If there is not enough memory to copy the string.
+     */
+    IMPORT_C void SetActionL( CEvtAction* aAction );
+
+    /** 
+     * Check if Action is assigned to the Event.
+     *
+     * @since S60 v9.1  
+     * @TBool Returns ETrue if action is present Or else EFalse.
+     */
+    IMPORT_C TBool HasAction( );
+
+    /** 
+     * Set the Location for the Location Event.
+     *
+     * @since S60 v9.1  
+     * @param[in] aLocation Location for the Location Event. 
+     * @leave KErrNoMemory If there is not enough memory to copy the string.
+     */
+     void SetLocationL( TPosition& aLocation );
+    
+    /**
+     * Gets the Location for the Location Events.
+     * The Location is defined by the Location EventsUi on Creation.
+     * A reference to the object's action is returned.
+     *
+     * @since S60 v9.1    
+     * @return Location for the Location Event. If the Action has 
+     *          not been set for the Location Event, then a NULL
+     *          is returned.
+     */
+     IMPORT_C TPosition& Location() const;
+
+private: // methods
+    /**
+     * Default C++ Constructor.
+     */
+    CEvtEvent();
+    
+    /**
+     * Default Copy Constructor.
+     */
+    CEvtEvent(CEvtEvent& );
+
+    /**
+     * Second phase of the two phase constructor.
+     */
+    void ConstructL();
+
+private: // data
+    
+    /**
+     * System wide unique identifier identifying the Location Event. 
+     * This identifier is defined by the Location Triggering Engine.
+     *
+     * Owns
+     */
+    TEvtEventId                      iEventId;
+    
+    /**
+     * Event Subject.
+     * Subject for the Location Event. The Subject is defined by the Location
+     * Events Ui.
+     * 
+     * Owns
+     */
+    HBufC*                          iSubject;
+    
+    /**
+     * Event Place.
+     * Place for the Location Event. The String is defined by the Location
+     * Events Ui.
+     * 
+     * Owns
+     */
+    HBufC*                          iPlace;
+	
+	/**
+	 * Event Status.
+	 */
+	TEvtEventStatus					iEventStatus;
+    
+	/**
+	 * Radius for Accuracy.
+	 */
+	TReal							iRadius;
+    
+	/**
+	 * Repeat Event.
+	 */
+	TBool							iRepeat;
+    
+    /**
+     * Event Description.
+     * Description for the Location Event. The String is defined by the
+     * Location Events Ui.
+     * 
+     * Owns
+     */
+    HBufC*                          iDescription;
+	    
+	/**
+	 * Tone String for Event.
+	 */
+	CEvtAction*				        iAction;
+    
+    /**
+     * lat-long information 
+     * 
+     */
+    TPosition*             			iLocation;
+
+    };
+
+#endif // C_EVTEVENT_H