epoc32/include/mw/lbttriggerconditionbase.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 trigger condition classes.
    15 *
    16 */
    17 
    18 
    19 
    20 
    21 #ifndef LBTTRIGGERCONDITIONBASE_H
    22 #define LBTTRIGGERCONDITIONBASE_H
    23 
    24 #include <e32base.h>
    25 #include <s32strm.h>
    26 
    27 /**
    28  * Abstract base class for trigger condition classes.
    29  * 
    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.
    32  *
    33  * @lib lbt.lib
    34  * @since S60 5.1
    35  */
    36 class CLbtTriggerConditionBase : public CBase
    37     {
    38 public:
    39     /**
    40      * Enumeration for trigger condition types.
    41      */
    42     enum TType
    43         {
    44         /** 
    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.
    48          */
    49         ETriggerConditionArea = 1
    50         };
    51         
    52     /**
    53      * Destructor
    54      */
    55     virtual ~CLbtTriggerConditionBase();
    56     
    57     /**
    58      * Gets the type of trigger condition class.
    59      * @return The type of trigger condition class.
    60      */
    61     virtual TType Type() const = 0;
    62     
    63     /**
    64      * Internalizes the trigger condition object's details and attributes 
    65      * from stream.
    66      *
    67      * The presence of this function means that the standard templated 
    68      * operator>>() ( defined in s32strm.h ) is available to internalize objects 
    69      * of this class.
    70      *
    71      * @param[in] aStream Stream from which the object should be internalized.
    72      */
    73     IMPORT_C void InternalizeL( RReadStream& aStream );
    74     
    75     /**
    76      * Externalizes the trigger condition object's details and attributes
    77      * to stream.
    78      *
    79      * The presence of this function means that the standard templated 
    80      * operator<<() ( defined in s32strm.h ) is available to externalize objects 
    81      * of this class.
    82      *
    83      * @param[in] aStream Stream to which the object should be externalized.
    84      */
    85     IMPORT_C void ExternalizeL( RWriteStream& aStream ) const;
    86     
    87 protected:
    88     /**
    89      * Constructor
    90      */
    91     CLbtTriggerConditionBase();
    92     
    93     /**
    94      * Internalize method that subclass must implement.
    95      * @param[in] aStream Stream from which the object should be internalized.
    96      */
    97     virtual void DoInternalizeL( RReadStream& aStream ) = 0;
    98     
    99     /**
   100      * Externalize method that subclass must implement.
   101      * @param[in] aStream Stream to which the object should be externalized.
   102      */
   103     virtual void DoExternalizeL( RWriteStream& aStream ) const = 0;
   104 
   105 private:
   106     /**
   107      * By default, prohibit copy constructor
   108      */
   109     CLbtTriggerConditionBase( const CLbtTriggerConditionBase& );
   110     
   111     /**
   112      * Prohibit assigment operator
   113      */
   114     CLbtTriggerConditionBase& operator= ( const CLbtTriggerConditionBase& );
   115 
   116     };
   117     
   118  
   119 #endif // LBTTRIGGERCONDITIONBASE_H