epoc32/include/mw/lbttriggerfilterbase.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     1 /*
     2 * Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     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".
     8 *
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    11 *
    12 * Contributors:
    13 *
    14 * Description:  Abstract base class for filter when listing triggers.
    15 *
    16 */
    17 
    18 
    19 #ifndef LBTTRIGGERFILTERBASE_H
    20 #define LBTTRIGGERFILTERBASE_H
    21 
    22 #include <e32base.h>
    23 #include <s32strm.h>
    24 
    25 /**
    26  * Abstract base class for filter when listing triggers from 
    27  * Location Triggering Server.
    28  *
    29  * @lib lbt.lib
    30  * @since S60 5.1
    31  */
    32 class CLbtTriggerFilterBase : public CBase
    33     {
    34 public:
    35     /**
    36      * Specifies the type of the filter
    37      */
    38     enum TFilterType
    39         {
    40         /**
    41          * Filter based on the trigger entry's attribute value.
    42          */
    43         EFilterByAttribute = 1,
    44         /**
    45          * Filter based on the geographical area.
    46          */
    47         EFilterByArea = 2,
    48         /**
    49          * Composite filter.
    50          */
    51         EFilterComposite = 3
    52         };
    53 
    54     /**
    55      * Returns the type of filter.
    56      *
    57      * @return The type of the filter.
    58      */
    59     virtual TFilterType Type() const = 0;
    60 
    61     /**
    62      * Destructor.
    63      */
    64     IMPORT_C virtual ~CLbtTriggerFilterBase();
    65     
    66     
    67     /**
    68      * Internalizes the trigger condition object's details and attributes 
    69      * from stream.
    70      *
    71      * The presence of this function means that the standard templated 
    72      * operator>>() ( defined in s32strm.h ) is available to internalize objects 
    73      * of this class.
    74      *
    75      * @param[in] aStream Stream from which the object should be internalized.
    76      */
    77     IMPORT_C void InternalizeL( RReadStream& aStream );
    78     
    79     /**
    80      * Externalizes the trigger condition object's details and attributes
    81      * to stream.
    82      *
    83      * The presence of this function means that the standard templated 
    84      * operator<<() ( defined in s32strm.h ) is available to externalize objects 
    85      * of this class.
    86      *
    87      * @param[in] aStream Stream to which the object should be externalized.
    88      */
    89     IMPORT_C void ExternalizeL( RWriteStream& aStream ) const;
    90     
    91 
    92 protected:    
    93     /**
    94      * Constructor.
    95      */
    96     CLbtTriggerFilterBase();
    97     
    98     /**
    99      * Internalize method that subclass must implement.
   100      * @param[in] aStream Stream from which the object should be internalized.
   101      */
   102     virtual void DoInternalizeL( RReadStream& aStream ) = 0;
   103     
   104     /**
   105      * Externalize method that subclass must implement.
   106      * @param[in] aStream Stream to which the object should be externalized.
   107      */
   108     virtual void DoExternalizeL( RWriteStream& aStream ) const = 0;
   109     
   110 private:
   111     /**
   112      * By default, prohibit copy constructor
   113      */
   114     CLbtTriggerFilterBase( const CLbtTriggerFilterBase& );
   115     
   116     /**
   117      * Prohibit assigment operator
   118      */
   119     CLbtTriggerFilterBase& operator= ( const CLbtTriggerFilterBase& );
   120 
   121     };
   122 
   123 #endif // LBTTRIGGERFILTERBASE_H