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