2 * Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
14 * Description: Data class for trigger information
19 #ifndef LBTTRIGGERINFO_H
20 #define LBTTRIGGERINFO_H
23 #include <lbtcommon.h>
26 class CLbtTriggerEntry;
27 struct TLbtTriggerDynamicInfo;
31 * Data class for trigger information. The trigger information contains trigger
32 * entry and trigger dynamic information.
38 class CLbtTriggerInfo : public CBase
42 * Constructs a new instance of trigger information object.
44 * @return The new instance of trigger information object.
46 IMPORT_C static CLbtTriggerInfo* NewL();
49 * Constructs a new instance of trigger information object
50 * and pushes it onto cleanup stack.
52 * @return The new instance of trigger information object.
54 IMPORT_C static CLbtTriggerInfo* NewLC();
57 * Constructs a new instance of trigger information object.
59 * @param[in] aEntry The pointer to the trigger entry.
60 * Ownership is transferred to this object.
61 * @param[in] aDynInfo The pointer to the trigger dynamic
62 * information object. Ownership is transferred to this object.
63 * @return The new instance of trigger information object.
65 IMPORT_C static CLbtTriggerInfo* NewL(
66 CLbtTriggerEntry* aEntry,
67 TLbtTriggerDynamicInfo* aDynInfo );
72 IMPORT_C virtual ~CLbtTriggerInfo();
75 * Gets trigger entry object.
77 * @return Pointer to the trigger entry object. Ownership is
78 * not transferred to the client.
80 IMPORT_C CLbtTriggerEntry* TriggerEntry();
85 * @param[in] aEntry The trigger entry object. Ownership is
86 * transferred to this object.
88 IMPORT_C void SetTriggerEntry( CLbtTriggerEntry* aEntry );
91 * Gets trigger dynamic information object.
93 * @return Pointer to the trigger dynamic information object.
94 * Ownership is not transferred to the client.
96 IMPORT_C TLbtTriggerDynamicInfo* DynInfo();
99 * Sets trigger dynamic information object.
101 * @param[in] aDynInfo Pointer to the trigger dynamic
102 * information object. Ownership is transferred to this object.
104 IMPORT_C void SetDynInfo( TLbtTriggerDynamicInfo* aDynInfo );
108 * Internalizes the trigger object's details and attributes
111 * The presence of this function means that the standard template
112 * operator>>() ( defined in s32strm.h ) is available to internalize objects
115 * @param[in] aStream Stream from which the object should be internalized.
117 IMPORT_C void InternalizeL( RReadStream& aStream );
120 * Externalizes the trigger object's details and attributes
123 * The presence of this function means that the standard template
124 * operator<<() ( defined in s32strm.h ) is available to externalize objects
127 * @param[in] aStream Stream to which the object should be externalized.
129 IMPORT_C void ExternalizeL( RWriteStream& aStream ) const;
133 * Default constructor.
139 * Symbian 2nd phase constructor.
141 void ConstructL(CLbtTriggerEntry* aEntry,
142 TLbtTriggerDynamicInfo* aDynInfo);
145 * Symbian 2nd phase constructor.
150 * By default, prohibit copy constructor
152 CLbtTriggerInfo( const CLbtTriggerInfo& );
155 * Prohibit assigment operator
157 CLbtTriggerInfo& operator= ( const CLbtTriggerInfo& );
164 CLbtTriggerEntry* iEntry;
167 * Trigger dynamic info
169 TLbtTriggerDynamicInfo* iDynInfo;
172 #endif // LBTTRIGGERINFO_H