taskswitcher/server/src/tsmodelitem.cpp
changeset 127 7b66bc3c6dc9
parent 119 50e220be30d1
equal deleted inserted replaced
126:efda7c0771b9 127:7b66bc3c6dc9
    13 *
    13 *
    14 * Description:
    14 * Description:
    15 *
    15 *
    16 */
    16 */
    17 #include "tsmodel.h"
    17 #include "tsmodel.h"
       
    18 #include "tsentryimp.h"
    18 // -----------------------------------------------------------------------------
    19 // -----------------------------------------------------------------------------
    19 /**
    20 /**
    20  * Constructor
    21  * Constructor
    21  * @param aModel - data owner
    22  * @param aModel - data owner
    22  * @param aOffset - data index
    23  * @param aOffset - data index
    46 // -----------------------------------------------------------------------------
    47 // -----------------------------------------------------------------------------
    47 /**
    48 /**
    48  * Validate item instance and retrieve display name data
    49  * Validate item instance and retrieve display name data
    49  * @return item display name
    50  * @return item display name
    50  */
    51  */
    51 const TDesC& TTsModelItem::DisplayNameL() const
    52 const TDesC& TTsModelItem::DisplayName() const
    52     {
    53     {
    53     ValidateL();
    54     return iModel.DisplayName( iIndex );
    54     return iModel.DisplayNameL( iIndex );
       
    55     }
    55     }
    56 
    56 
    57 // -----------------------------------------------------------------------------
    57 // -----------------------------------------------------------------------------
    58 /**
    58 /**
    59  * Validate item instance and retrieve icon handle ( CFbsBitmap handle )
    59  * Validate item instance and retrieve icon handle ( CFbsBitmap handle )
    60  * @return item icon handle
    60  * @return item icon handle
    61  */
    61  */
    62 TInt TTsModelItem::IconHandleL() const
    62 TInt TTsModelItem::IconHandle() const
    63     {
    63     {
    64     ValidateL();
    64     return iModel.IconHandle( iIndex );
    65     return iModel.IconHandleL( iIndex );
       
    66     }
    65     }
    67 
    66 
    68 // -----------------------------------------------------------------------------
    67 // -----------------------------------------------------------------------------
    69 /**
    68 /**
    70  * Validate item instance and retrieve entry key
    69  * Validate item instance and retrieve entry key
    71  * @return item key
    70  * @return item key
    72  */
    71  */
    73 TTsModelItemKey TTsModelItem::KeyL() const
    72 TTsEntryKey TTsModelItem::Key() const
    74     {
    73     {
    75     ValidateL();
    74     return iModel.Key( iIndex );
    76     return iModel.KeyL( iIndex );
       
    77     }
    75     }
    78 
    76 
    79 // -----------------------------------------------------------------------------
    77 // -----------------------------------------------------------------------------
    80 /**
    78 /**
    81  * Validate item instance and retrieve entry timestamp
    79  * Validate item instance and retrieve entry timestamp
    82  * @return item timestamp
    80  * @return item timestamp
    83  */
    81  */
    84 TTime TTsModelItem::TimestampL() const
    82 TTime TTsModelItem::Timestamp() const
    85     {
    83     {
    86     ValidateL();
    84     return iModel.Timestamp( iIndex );
    87     return iModel.TimestampL( iIndex );
       
    88     }
    85     }
    89 
    86 
    90 // -----------------------------------------------------------------------------
    87 // -----------------------------------------------------------------------------
    91 /**
    88 /**
    92  * Validate item instance and retrieve timestamp
    89  * Validate item instance and retrieve timestamp
    93  * with latest update time
    90  * with latest update time
    94  * @return item timestamp
    91  * @return item timestamp
    95  */
    92  */
    96 TTime TTsModelItem::TimestampUpdateL() const 
    93 TTime TTsModelItem::TimestampUpdate() const 
    97 {
    94     {
    98     ValidateL();
    95     return iModel.TimestampUpdate(iIndex);
    99     return iModel.TimestampUpdateL(iIndex);
    96     }
   100 }
       
   101 
    97 
   102 // -----------------------------------------------------------------------------
    98 // -----------------------------------------------------------------------------
   103 /**
    99 /**
   104  * Validate item instance and retrieve activity status 
   100  * Validate item instance and retrieve activity status 
   105  * @return activity status
   101  * @return activity status
   106  */
   102  */
   107 TBool TTsModelItem::IsActiveL() const
   103 TBool TTsModelItem::IsActive() const
   108     {
   104     {
   109     ValidateL();
   105     return iModel.IsActive( iIndex );
   110     return iModel.IsActiveL( iIndex );
       
   111     }
   106     }
   112 
   107 
   113 // -----------------------------------------------------------------------------
   108 // -----------------------------------------------------------------------------
   114 /**
   109 /**
   115  * Validate item instance and retrieve closable status 
   110  * Validate item instance and retrieve closable status 
   116  * @return closable status
   111  * @return closable status
   117  */
   112  */
   118 TBool TTsModelItem::IsClosableL() const
   113 TBool TTsModelItem::IsClosable() const
   119     {
   114     {
   120     ValidateL();
   115     return iModel.IsClosable( iIndex );
   121     return iModel.IsClosableL( iIndex );
       
   122     }
   116     }
   123 
   117 
   124 // -----------------------------------------------------------------------------
   118 // -----------------------------------------------------------------------------
   125 /**
   119 /**
   126  * Validate item instance and forward close request to its owner 
   120  * Validate item instance and forward close request to its owner 
   127  * @return EFalse on failure
   121  * @return EFalse on failure
   128  */
   122  */
   129 TBool TTsModelItem::CloseL() const
   123 TBool TTsModelItem::Close() const
   130     {
   124     {
   131     ValidateL();
   125     return iModel.Close( Key() );
   132     return iModel.CloseL( KeyL() );
       
   133     }
   126     }
   134 
   127 
   135 // -----------------------------------------------------------------------------
   128 // -----------------------------------------------------------------------------
   136 /**
   129 /**
   137  * Validate item instance and forward launch request to its owner 
   130  * Validate item instance and forward launch request to its owner 
   138  * @return EFalse on failure
   131  * @return EFalse on failure
   139  */
   132  */
   140 TBool TTsModelItem::LaunchL() const
   133 TBool TTsModelItem::Launch() const
   141     {
   134     {
   142     ValidateL();
   135     return iModel.Launch( Key() );
   143     return iModel.LaunchL( KeyL() );
       
   144     }
   136     }
   145 
   137 
   146 // -----------------------------------------------------------------------------
   138 // -----------------------------------------------------------------------------
   147 /**
   139 /**
   148  * @return EFalse if entry is not mandatory, other value in other cases  
   140  * @return EFalse if entry is not mandatory, other value in other cases  
   149  */
   141  */
   150 TBool TTsModelItem::IsMandatoryL() const
   142 TBool TTsModelItem::IsMandatory() const
   151     {
   143     {
   152     ValidateL();
   144     return iModel.IsMandatory( iIndex );
   153     return iModel.IsMandatoryL( iIndex );
       
   154     }
   145     }
   155 
   146 
   156 // -----------------------------------------------------------------------------
   147 // -----------------------------------------------------------------------------
   157 /**
   148 /**
   158  * Validate item instance 
   149  * Validate item instance 
   159  */
   150  */
   160 void TTsModelItem::ValidateL() const
   151 TBool TTsModelItem::IsValid() const
   161     {
   152     {
   162     if(iModel.Count() <= iIndex )
   153     return iModel.Count() > iIndex;
   163         {
       
   164         User::Leave( KErrOverflow );
       
   165         }
       
   166     }
   154     }
   167 
   155 
   168 // -----------------------------------------------------------------------------
   156 // -----------------------------------------------------------------------------
   169 /**
   157 /**
   170  * Serialize item into destination stream
   158  * Serialize item into destination stream
   171  * @param aStream - output stream 
   159  * @param aStream - output stream 
   172  */
   160  */
   173 
   161 
   174 void TTsModelItem::ExternalizeL( RWriteStream& aStream ) const
   162 void TTsModelItem::ExternalizeL( RWriteStream& aStream ) const
   175     {
   163     {
   176     aStream.WriteInt32L( DisplayNameL().Length() );
   164     CTsEntryImp::ExternalizeL(aStream, *this);
   177     if( 0 < DisplayNameL().Length() )
       
   178         {
       
   179         aStream << DisplayNameL();
       
   180         }
       
   181     TPckgBuf<TTime> timestamp(TimestampUpdateL()); 
       
   182     aStream.WriteL(timestamp);
       
   183     aStream.WriteInt32L( IconHandleL() );
       
   184     aStream.WriteInt32L( TTsModelItemKey::Size() );
       
   185     aStream << KeyL();
       
   186     aStream.WriteInt32L( IsActiveL() );
       
   187     aStream.WriteInt32L( IsClosableL() );
       
   188     }
   165     }
   189 
   166