--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/epoc32/include/mw/lbtlisttriggeroptions.h Tue Mar 16 16:12:26 2010 +0000
@@ -0,0 +1,262 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* 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
+* which accompanies this distribution, and is available
+* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Class of options used in listing triggers
+*
+*/
+
+
+#ifndef LBTLISTTRIGGEROPTIONS_H
+#define LBTLISTTRIGGEROPTIONS_H
+
+#include <lbtcommon.h>
+#include <lbtgeoareabase.h>
+
+class CLbtTriggerFilterBase;
+
+/**
+ * Helper class for options used when listing trigger entries
+ * from Location Triggering Server.
+ *
+ * The following options can be set.
+ *
+ * - <B>Retrieved fields</B>. It specifies what trigger
+ * entry attributes field and trigger dynamic information field
+ * shall be filled in the returned trigger objects.
+ * Default value for trigger entry attribute field is
+ * KLbtTriggerAttributeFieldsAll, which means
+ * all attributes field shall be filled. Whether the Trigger
+ * ID field is specified or not, the trigger ID attribute is always valid
+ * in returned trigger objects. Default value for trigger dynamic
+ * information field is KLbtTriggerDynInfoFieldsAll, which means all
+ * dynamic information fields will be filled.
+ *
+ * - <B>Trigger filter</B>. It specifies the filter used in retrieving
+ * trigger entries. Retrieved triggers shall fulfill the criteria defined
+ * in the filter. By default, the option does not contain a filter
+ * and all triggers will be retrieved. A composite filter can also be
+ * used.
+ *
+ * - <B>Sorting option</B>. It specifies in which order the retrieved
+ * trigger shall be sorted. The default value is ELbtNoSorting.
+ *
+ * @lib lbt.lib
+ *
+ * @since S60 5.1
+ */
+class CLbtListTriggerOptions : public CBase
+ {
+public:
+ /**
+ * Sorting order when retrieving triggers
+ * from Location Triggering Server.
+ */
+ enum TLbtListTriggerSorting
+ {
+ /**
+ * Result is not sorted.
+ */
+ ELbtNoSorting = 1,
+
+ /**
+ * Result is in ascending order according to the trigger name.
+ */
+ ELbtTriggerNameAscending = 2,
+
+ /**
+ * Result is in descending order according to the trigger name.
+ */
+ ELbtTriggerNameDescending = 3,
+
+ /**
+ * Result is in ascending order according to the distance from
+ * the trigger area to the latest acquired location by Location
+ * Triggering Server.
+ */
+ ELbtDistanceToLatestLocationAscending = 4
+ };
+
+
+public:
+
+ /**
+ * Constructs a new instance of trigger listing option object.
+ * In the returned object, retrieved fields is set
+ * to KLbtTriggerAttributeFieldsAll and KLbtTriggerDynInfoFieldsAll,
+ * no trigger filters is set and sorting option is set to
+ * ELbtNoSorting.
+ *
+ * @return Pointer to the new instance of the trigger
+ * retrieving option object.
+ */
+ IMPORT_C static CLbtListTriggerOptions* NewL();
+
+ /**
+ * Constructs a new instance of trigger listing option object and
+ * pushes it onto cleanup stack.
+ * In the returned object, retrieved fields is set
+ * to KLbtTriggerAttributeFieldsAll and KLbtTriggerDynInfoFieldsAll,
+ * no trigger filters is set and sorting option is set to
+ * ELbtNoSorting.
+ *
+ * @return Pointer to the new instance of the trigger
+ * retrieving option object.
+ */
+ IMPORT_C static CLbtListTriggerOptions* NewLC();
+
+ /**
+ * Destructor
+ */
+ IMPORT_C ~CLbtListTriggerOptions();
+
+ /**
+ * Gets the fields that Location Triggering Server will fill when
+ * list triggers
+ *
+ * If the entry fields mask and dynamic information field mask
+ * is not set before, KLbtTriggerAttributeFieldsAll and
+ * KLbtTriggerDynInfoFieldsAll
+ * are returned.
+ *
+ * @param[out] aEntryMask On return contains the field mask defines
+ * which trigger entry fields shall be filled.
+ * @param[out] aDynInfoMask On return contains the field mask defines
+ * which trigger dynamic information field shall be filled.
+ */
+ IMPORT_C void GetRetrievedFields(
+ TLbtTriggerAttributeFieldsMask &aEntryMask,
+ TLbtTriggerDynamicInfoFieldsMask &aDynInfoMask ) const;
+
+ /**
+ * Sets which fields shall be filled by Location
+ * Triggering Server when listing triggers.
+ *
+ * @param[in] aEntryMask Mask defines which trigger entry fields shall
+ * be filled.
+ * @param[in] aDynInfoMask The mask defines which dynamic information
+ * field shall be filled.
+ */
+ IMPORT_C void SetRetrievedFields(
+ TLbtTriggerAttributeFieldsMask aEntryMask,
+ TLbtTriggerDynamicInfoFieldsMask aDynInfoMask = KLbtTriggerDynInfoFieldsAll );
+
+ /**
+ * Gets the sorting option when listing triggers. This
+ * function returns ELbtNoSorting if the sorting option has
+ * not been set.
+ *
+ * @return The sorting option when listing triggers.
+ */
+ IMPORT_C TLbtListTriggerSorting SortingOption() const;
+
+ /**
+ * Sets the sorting option when listing triggers.
+ *
+ * @param[in] aOption The sorting option when retrieving triggers.
+ */
+ IMPORT_C void SetSortingOption( TLbtListTriggerSorting aOption );
+
+ /**
+ * Sets the filter used for listing triggers.
+ *
+ * @param[in] aFilter Pointer to the filter used for
+ * listing triggers. If the pointer is NULL, previous set
+ * filter is deleted. Ownership of aFilter is transferred to
+ * the client application.
+ */
+ IMPORT_C void SetFilter(
+ CLbtTriggerFilterBase* aFilter );
+
+ /**
+ * Gets pointer to the filter used for listing triggers.
+ * The function returns NULL if the filter is not previously set.
+ *
+ * @return The filter used for listing triggers. Ownership
+ * of the returned object is not transferred to the client
+ * application.
+ */
+ IMPORT_C CLbtTriggerFilterBase* Filter();
+
+ /**
+ * Internalizes the trigger condition object's details and attributes
+ * from stream.
+ *
+ * The presence of this function means that the standard templated
+ * operator>>() ( defined in s32strm.h ) is available to internalize objects
+ * of this class.
+ *
+ * @param[in] aStream Stream from which the object should be internalized.
+ */
+ IMPORT_C void InternalizeL( RReadStream& aStream );
+
+ /**
+ * Externalizes the trigger condition object's details and attributes
+ * to stream.
+ *
+ * The presence of this function means that the standard templated
+ * operator<<() ( defined in s32strm.h ) is available to externalize objects
+ * of this class.
+ *
+ * @param[in] aStream Stream to which the object should be externalized.
+ */
+ IMPORT_C void ExternalizeL( RWriteStream& aStream ) const;
+
+private:
+ /**
+ * Default Constructor.
+ */
+ CLbtListTriggerOptions();
+
+ /**
+ * By default, prohibit copy constructor
+ */
+ CLbtListTriggerOptions( const CLbtListTriggerOptions& );
+
+ /**
+ * Prohibit assigment operator
+ */
+ CLbtListTriggerOptions& operator= ( const CLbtListTriggerOptions& );
+
+ /**
+ * Symbian 2nd phase constructor
+ */
+ void ConstructL();
+
+private:
+ /**
+ * Trigger entry fields mask
+ */
+ TLbtTriggerAttributeFieldsMask iTriigerAttributeFieldsMask;
+
+ /**
+ * Trigger dynamic information field mask
+ */
+ TLbtTriggerDynamicInfoFieldsMask iDynInfoFieldsMask;
+
+ /**
+ * Filter
+ */
+ CLbtTriggerFilterBase* iFilter;
+
+ /**
+ * Sorting
+ */
+ TLbtListTriggerSorting iSorting;
+
+ /**
+ * Reserved
+ */
+ TUint iReserved[8];
+ };
+
+#endif // LBTLISTTRIGGEROPTIONS_H