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 filter when listing triggers.
19 #ifndef LBTTRIGGERFILTERBASE_H
20 #define LBTTRIGGERFILTERBASE_H
26 * Abstract base class for filter when listing triggers from
27 * Location Triggering Server.
32 class CLbtTriggerFilterBase : public CBase
36 * Specifies the type of the filter
41 * Filter based on the trigger entry's attribute value.
43 EFilterByAttribute = 1,
45 * Filter based on the geographical area.
55 * Returns the type of filter.
57 * @return The type of the filter.
59 virtual TFilterType Type() const = 0;
64 IMPORT_C virtual ~CLbtTriggerFilterBase();
68 * Internalizes the trigger condition object's details and attributes
71 * The presence of this function means that the standard templated
72 * operator>>() ( defined in s32strm.h ) is available to internalize objects
75 * @param[in] aStream Stream from which the object should be internalized.
77 IMPORT_C void InternalizeL( RReadStream& aStream );
80 * Externalizes the trigger condition object's details and attributes
83 * The presence of this function means that the standard templated
84 * operator<<() ( defined in s32strm.h ) is available to externalize objects
87 * @param[in] aStream Stream to which the object should be externalized.
89 IMPORT_C void ExternalizeL( RWriteStream& aStream ) const;
96 CLbtTriggerFilterBase();
99 * Internalize method that subclass must implement.
100 * @param[in] aStream Stream from which the object should be internalized.
102 virtual void DoInternalizeL( RReadStream& aStream ) = 0;
105 * Externalize method that subclass must implement.
106 * @param[in] aStream Stream to which the object should be externalized.
108 virtual void DoExternalizeL( RWriteStream& aStream ) const = 0;
112 * By default, prohibit copy constructor
114 CLbtTriggerFilterBase( const CLbtTriggerFilterBase& );
117 * Prohibit assigment operator
119 CLbtTriggerFilterBase& operator= ( const CLbtTriggerFilterBase& );
123 #endif // LBTTRIGGERFILTERBASE_H