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 "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
14 * Description: Abstract base class for trigger condition classes.
21 #ifndef LBTTRIGGERCONDITIONBASE_H
22 #define LBTTRIGGERCONDITIONBASE_H
28 * Abstract base class for trigger condition classes.
30 * This class is not meant to be derived nor instantiated by client application.
31 * It defines methods that concrete trigger condition class must implement.
36 class CLbtTriggerConditionBase : public CBase
40 * Enumeration for trigger condition types.
45 * Trigger condition based on geographical area and movement of
46 * the terminal. A trigger is fired when the
47 * terminal enters or leaves the specified trigger area.
49 ETriggerConditionArea = 1
55 virtual ~CLbtTriggerConditionBase();
58 * Gets the type of trigger condition class.
59 * @return The type of trigger condition class.
61 virtual TType Type() const = 0;
64 * Internalizes the trigger condition object's details and attributes
67 * The presence of this function means that the standard templated
68 * operator>>() ( defined in s32strm.h ) is available to internalize objects
71 * @param[in] aStream Stream from which the object should be internalized.
73 IMPORT_C void InternalizeL( RReadStream& aStream );
76 * Externalizes the trigger condition object's details and attributes
79 * The presence of this function means that the standard templated
80 * operator<<() ( defined in s32strm.h ) is available to externalize objects
83 * @param[in] aStream Stream to which the object should be externalized.
85 IMPORT_C void ExternalizeL( RWriteStream& aStream ) const;
91 CLbtTriggerConditionBase();
94 * Internalize method that subclass must implement.
95 * @param[in] aStream Stream from which the object should be internalized.
97 virtual void DoInternalizeL( RReadStream& aStream ) = 0;
100 * Externalize method that subclass must implement.
101 * @param[in] aStream Stream to which the object should be externalized.
103 virtual void DoExternalizeL( RWriteStream& aStream ) const = 0;
107 * By default, prohibit copy constructor
109 CLbtTriggerConditionBase( const CLbtTriggerConditionBase& );
112 * Prohibit assigment operator
114 CLbtTriggerConditionBase& operator= ( const CLbtTriggerConditionBase& );
119 #endif // LBTTRIGGERCONDITIONBASE_H