meetingrequest/mrgui/inc/cesmrfieldstorage.h
branchRCL_3
changeset 12 4ce476e64c59
parent 0 8466d47a6819
equal deleted inserted replaced
11:0396474f30f5 12:4ce476e64c59
     1 /*
     1 /*
     2 * Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     5 * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
    27 
    27 
    28 class CESMRField;
    28 class CESMRField;
    29 class MESMRCalEntry;
    29 class MESMRCalEntry;
    30 class MESMRFieldEventObserver;
    30 class MESMRFieldEventObserver;
    31 class CESMRFieldEventQueue;
    31 class CESMRFieldEventQueue;
       
    32 class CESMRPolicy;
       
    33 class CMRSystemNotifier;
    32 
    34 
    33 /**
    35 /**
    34  * CESMRFieldStorage is a base class for different storage classes.
    36  * CESMRFieldStorage is a base class for different storage classes.
    35  * Storage class owns the fields needed to draw UI. This class also has methods
    37  * Storage class owns the fields needed to draw UI. This class also has methods
    36  * to add new fields into field array.
    38  * to add new fields into field array.
    86 
    88 
    87 public: // From MESMRFieldStorage
    89 public: // From MESMRFieldStorage
    88     TInt Count() const;
    90     TInt Count() const;
    89     CESMRField* Field( TInt aInd ) const;
    91     CESMRField* Field( TInt aInd ) const;
    90     CESMRField* FieldById( TESMREntryFieldId aId ) const;
    92     CESMRField* FieldById( TESMREntryFieldId aId ) const;
    91     virtual void InternalizeL( MESMRCalEntry& aEntry );
    93     void InternalizeL( MESMRCalEntry& aEntry );
    92     virtual void ExternalizeL( MESMRCalEntry& aEntry );
    94     void ExternalizeL( MESMRCalEntry& aEntry );
    93     virtual TInt Validate( TESMREntryFieldId& aId, TBool aForceValidate );
    95     TInt Validate( TESMREntryFieldId& aId, TBool aForceValidate );
       
    96     void ChangePolicyL( const CESMRPolicy& aNewPolicy,
       
    97                         MESMRCalEntry& aEntry );
    94 
    98 
    95 protected:
    99 protected:
    96     // C++ constructor
   100     // C++ constructor
    97     CESMRFieldStorage(
   101     CESMRFieldStorage(
    98             MESMRFieldEventObserver& aEventObserver );
   102             MESMRFieldEventObserver& aEventObserver );
    99 
   103 
   100     void BaseConstructL();
   104     void BaseConstructL();
   101     
   105     
   102     CESMRFieldEventQueue& EventQueueL();
   106     CESMRFieldEventQueue& EventQueueL();
       
   107     
       
   108     void RemoveField( TInt aInd );
       
   109     
       
   110     void InsertFieldL( CESMRField* aField, TInt aIndex );
       
   111     
       
   112     void ReserveL( TInt aCount );
       
   113     
       
   114     void Reset();
   103     
   115     
   104 private:
   116 private:
   105     /**
   117     /**
   106      * loads fieldbuilder ecom plugin
   118      * loads fieldbuilder ecom plugin
   107      * delayed until the first time the plugin is needed
   119      * delayed until the first time the plugin is needed
   119     MESMRFieldBuilder* iFieldBuilder;
   131     MESMRFieldBuilder* iFieldBuilder;
   120     /// Ref: Event observer
   132     /// Ref: Event observer
   121     MESMRFieldEventObserver& iEventObserver;
   133     MESMRFieldEventObserver& iEventObserver;
   122     /// Own: Event Queue
   134     /// Own: Event Queue
   123     CESMRFieldEventQueue* iEventQueue;
   135     CESMRFieldEventQueue* iEventQueue;
       
   136     /// Own: System notifier
       
   137     CMRSystemNotifier* iSystemNotifier;
   124     };
   138     };
   125 
   139 
   126 #endif // CESMRFIELDSTORAGE_H
   140 #endif // CESMRFIELDSTORAGE_H
   127 
   141 
   128 // EOF
   142 // EOF