contentcontrolsrv/hscontentinfo/src/hscontentinfoarray.cpp
branchRCL_3
changeset 18 bd874ee5e5e2
parent 0 79c6a41cd166
equal deleted inserted replaced
9:d0529222e3f0 18:bd874ee5e5e2
    30 // CHsContentInfoArray::NewL()
    30 // CHsContentInfoArray::NewL()
    31 // -----------------------------------------------------------------------
    31 // -----------------------------------------------------------------------
    32 //
    32 //
    33 EXPORT_C CHsContentInfoArray* CHsContentInfoArray::NewL()
    33 EXPORT_C CHsContentInfoArray* CHsContentInfoArray::NewL()
    34     {
    34     {
    35 		CHsContentInfoArray* self = new ( ELeave ) CHsContentInfoArray();
    35     CHsContentInfoArray* self = new ( ELeave ) CHsContentInfoArray();
    36 		CleanupStack::PushL( self );
    36     CleanupStack::PushL( self );
    37 		self->ConstructL();
    37     self->ConstructL();
    38     CleanupStack::Pop( self );
    38     CleanupStack::Pop( self );
    39     return self;
    39     return self;
    40     }
    40     }
    41     
    41     
    42 // -----------------------------------------------------------------------
    42 // -----------------------------------------------------------------------
    43 // CHsContentInfoArray::NewL()
    43 // CHsContentInfoArray::NewL()
    44 // -----------------------------------------------------------------------
    44 // -----------------------------------------------------------------------
    45 //    
    45 //    
    46 EXPORT_C CHsContentInfoArray* CHsContentInfoArray::NewL( RReadStream& aStream )
    46 EXPORT_C CHsContentInfoArray* CHsContentInfoArray::NewL( RReadStream& aStream )
    47 		{
    47     {
    48 			CHsContentInfoArray* self = new ( ELeave ) CHsContentInfoArray();
    48     CHsContentInfoArray* self = new ( ELeave ) CHsContentInfoArray();
    49 			CleanupStack::PushL( self );
    49     CleanupStack::PushL( self );
    50 			self->InternalizeL( aStream );
    50     self->InternalizeL( aStream );
    51 			CleanupStack::Pop( self );
    51     CleanupStack::Pop( self );
    52 			return self;
    52     return self;
    53 		}   
    53     }   
    54 
    54 
    55 // -----------------------------------------------------------------------
    55 // -----------------------------------------------------------------------
    56 // CHsContentInfoArray::ConstructL()
    56 // CHsContentInfoArray::ConstructL()
    57 // -----------------------------------------------------------------------
    57 // -----------------------------------------------------------------------
    58 //
    58 //
    72 // CHsContentInfoArray::~CHsContentInfoArray()
    72 // CHsContentInfoArray::~CHsContentInfoArray()
    73 // -----------------------------------------------------------------------
    73 // -----------------------------------------------------------------------
    74 //
    74 //
    75 CHsContentInfoArray::~CHsContentInfoArray()
    75 CHsContentInfoArray::~CHsContentInfoArray()
    76     {
    76     {
    77     iArray.ResetAndDestroy();    	
    77     iArray.ResetAndDestroy();        
    78     }
    78     }
    79 
    79 
    80 // -----------------------------------------------------------------------
    80 // -----------------------------------------------------------------------
    81 // CHsContentInfoArray::Array()
    81 // CHsContentInfoArray::Array()
    82 // -----------------------------------------------------------------------
    82 // -----------------------------------------------------------------------
    89 // -----------------------------------------------------------------------
    89 // -----------------------------------------------------------------------
    90 // CHsContentInfoArray::ExternalizeL()
    90 // CHsContentInfoArray::ExternalizeL()
    91 // -----------------------------------------------------------------------
    91 // -----------------------------------------------------------------------
    92 //     
    92 //     
    93 EXPORT_C void CHsContentInfoArray::ExternalizeL( RWriteStream& aStream )
    93 EXPORT_C void CHsContentInfoArray::ExternalizeL( RWriteStream& aStream )
    94 	{
    94     {
    95 		aStream.WriteInt16L( iArray.Count() );
    95     aStream.WriteInt16L( iArray.Count() );
    96 		
    96         
    97 		for( int i = 0; i < iArray.Count(); i++ )
    97     for( int i = 0; i < iArray.Count(); i++ )
    98 		{
    98         {
    99 			CHsContentInfo* info = iArray[i];
    99         CHsContentInfo* info = iArray[i];
   100 			info->ExternalizeL( aStream );
   100         info->ExternalizeL( aStream );
   101 		}
   101         }
   102 	}
   102     }
   103 
   103 
   104    
   104    
   105 // -----------------------------------------------------------------------
   105 // -----------------------------------------------------------------------
   106 // CHsContentInfoArray::InternalizeL()
   106 // CHsContentInfoArray::InternalizeL()
   107 // -----------------------------------------------------------------------
   107 // -----------------------------------------------------------------------
   108 //   
   108 //   
   109 EXPORT_C void CHsContentInfoArray::InternalizeL( RReadStream& aStream )
   109 EXPORT_C void CHsContentInfoArray::InternalizeL( RReadStream& aStream )
   110 		{
   110     {
   111 		TInt count = aStream.ReadInt16L();
   111     TInt count = aStream.ReadInt16L();
   112 		
   112         
   113 		for( int i = 0; i < count; i++ )
   113     for( int i = 0; i < count; i++ )
   114 			{
   114         {
   115 			CHsContentInfo* info = CHsContentInfo::NewL( aStream );
   115         CHsContentInfo* info = CHsContentInfo::NewL( aStream );
   116 			iArray.AppendL( info );
   116         iArray.AppendL( info );
   117 			}				
   117         }                
   118 		}
   118     }
   119 
   119 
   120 // -----------------------------------------------------------------------
   120 // -----------------------------------------------------------------------
   121 // CHsContentInfoArray::Size()
   121 // CHsContentInfoArray::Size()
   122 // -----------------------------------------------------------------------
   122 // -----------------------------------------------------------------------
   123 //   
   123 //   
   124 EXPORT_C TInt CHsContentInfoArray::Size( )
   124 EXPORT_C TInt CHsContentInfoArray::Size( )
   125     {
   125     {
   126     TInt size( 0 );   
   126     TInt size( sizeof( TInt16 ) );   
   127     for ( TInt i = 0; i < iArray.Count(); i++ )
   127     for ( TInt i = 0; i < iArray.Count(); i++ )
   128         {
   128         {
   129         size = size + iArray[ i ]->Size();
   129         size = size + iArray[ i ]->Size();
   130         }
   130         }
   131     return size;
   131     return size;