imagingmodules/jp2kcodec/Src/JP2KImageData.cpp
branchRCL_3
changeset 6 9ebf3284bc56
parent 4 3993b8f65362
equal deleted inserted replaced
4:3993b8f65362 6:9ebf3284bc56
    61 // -----------------------------------------------------------------------------
    61 // -----------------------------------------------------------------------------
    62 //
    62 //
    63 TImageDataBlock* TJp2kComment::DuplicateL( CFrameImageData& aFrameImageData ) const
    63 TImageDataBlock* TJp2kComment::DuplicateL( CFrameImageData& aFrameImageData ) const
    64     {
    64     {
    65     TJp2kComment *jp2kComment = new ( ELeave ) TJp2kComment( *this );
    65     TJp2kComment *jp2kComment = new ( ELeave ) TJp2kComment( *this );
    66     //CleanupDeletePushL( jp2kComment );
    66     CleanupDeletePushL( jp2kComment );
    67     CleanupStack::PushL( jp2kComment );
       
    68 
    67 
    69     jp2kComment->iComment = jp2kComment->iComment->AllocLC();
    68     jp2kComment->iComment = jp2kComment->iComment->AllocLC();
    70     CleanupStack::PushL( jp2kComment->iComment );
       
    71 
    69 
    72     User::LeaveIfError( aFrameImageData.AppendImageBuffer( jp2kComment->iComment ) );
    70     User::LeaveIfError( aFrameImageData.AppendImageBuffer( jp2kComment->iComment ) );
    73     CleanupStack::Pop( 2 ); // jp2kComment and jp2kComment->iComment
    71     CleanupStack::Pop( 2 ); // jp2kComment and jp2kComment->iComment
    74 
    72 
    75     return jp2kComment;
    73     return jp2kComment;
    93 // -----------------------------------------------------------------------------
    91 // -----------------------------------------------------------------------------
    94 //
    92 //
    95 TImageDataBlock* TJp2kIprBox::DuplicateL( CFrameImageData& aFrameImageData ) const
    93 TImageDataBlock* TJp2kIprBox::DuplicateL( CFrameImageData& aFrameImageData ) const
    96     {
    94     {
    97     TJp2kIprBox *jp2kIprBox = new ( ELeave ) TJp2kIprBox( *this );
    95     TJp2kIprBox *jp2kIprBox = new ( ELeave ) TJp2kIprBox( *this );
    98     //CleanupDeletePushL( jp2kIprBox );
    96     CleanupDeletePushL( jp2kIprBox );
    99     CleanupStack::PushL( jp2kIprBox );
       
   100 
    97 
   101     jp2kIprBox->iIprData = jp2kIprBox->iIprData->AllocLC();
    98     jp2kIprBox->iIprData = jp2kIprBox->iIprData->AllocLC();
   102     CleanupStack::PushL( jp2kIprBox->iIprData );
       
   103 
    99 
   104     User::LeaveIfError( aFrameImageData.AppendImageBuffer( jp2kIprBox->iIprData ) );
   100     User::LeaveIfError( aFrameImageData.AppendImageBuffer( jp2kIprBox->iIprData ) );
   105     CleanupStack::Pop( 2 ); // jp2kIprBox and jp2kIprBox->iIprData
   101     CleanupStack::Pop( 2 ); // jp2kIprBox and jp2kIprBox->iIprData
   106 
   102 
   107     return jp2kIprBox;
   103     return jp2kIprBox;
   125 // -----------------------------------------------------------------------------
   121 // -----------------------------------------------------------------------------
   126 //
   122 //
   127 TImageDataBlock* TJp2kXmlBox::DuplicateL( CFrameImageData& aFrameImageData ) const
   123 TImageDataBlock* TJp2kXmlBox::DuplicateL( CFrameImageData& aFrameImageData ) const
   128     {
   124     {
   129     TJp2kXmlBox *jp2kXmlBox = new ( ELeave ) TJp2kXmlBox( *this );
   125     TJp2kXmlBox *jp2kXmlBox = new ( ELeave ) TJp2kXmlBox( *this );
   130     //CleanupDeletePushL( jp2kXmlBox );
   126     CleanupDeletePushL( jp2kXmlBox );
   131     CleanupStack::PushL(jp2kXmlBox);
       
   132 
   127 
   133     jp2kXmlBox->iXmlData = jp2kXmlBox->iXmlData->AllocLC();
   128     jp2kXmlBox->iXmlData = jp2kXmlBox->iXmlData->AllocLC();
   134     CleanupStack::PushL(jp2kXmlBox->iXmlData);
       
   135 
   129 
   136     User::LeaveIfError( aFrameImageData.AppendImageBuffer( jp2kXmlBox->iXmlData ) );
   130     User::LeaveIfError( aFrameImageData.AppendImageBuffer( jp2kXmlBox->iXmlData ) );
   137     CleanupStack::Pop( 2 ); // jp2kXmlBox and jp2kXmlBox->iXmlData
   131     CleanupStack::Pop( 2 ); // jp2kXmlBox and jp2kXmlBox->iXmlData
   138 
   132 
   139     return jp2kXmlBox;
   133     return jp2kXmlBox;
   158 // -----------------------------------------------------------------------------
   152 // -----------------------------------------------------------------------------
   159 //
   153 //
   160 TImageDataBlock* TJp2kUuidBox::DuplicateL( CFrameImageData& aFrameImageData ) const
   154 TImageDataBlock* TJp2kUuidBox::DuplicateL( CFrameImageData& aFrameImageData ) const
   161     {
   155     {
   162     TJp2kUuidBox *jp2kUuidBox = new ( ELeave ) TJp2kUuidBox( *this );
   156     TJp2kUuidBox *jp2kUuidBox = new ( ELeave ) TJp2kUuidBox( *this );
   163     //CleanupDeletePushL( jp2kUuidBox );
   157     CleanupDeletePushL( jp2kUuidBox );
   164     CleanupStack::PushL( jp2kUuidBox );
       
   165 
   158 
   166     jp2kUuidBox->iUuidData = jp2kUuidBox->iUuidData->AllocLC();
   159     jp2kUuidBox->iUuidData = jp2kUuidBox->iUuidData->AllocLC();
   167     CleanupStack::PushL( jp2kUuidBox->iUuidData );
       
   168 
   160 
   169     User::LeaveIfError( aFrameImageData.AppendImageBuffer( jp2kUuidBox->iUuidData ) );
   161     User::LeaveIfError( aFrameImageData.AppendImageBuffer( jp2kUuidBox->iUuidData ) );
   170     CleanupStack::Pop( 2 ); // jp2kUuidBox and jp2kUuidBox->iUuidData
   162     CleanupStack::Pop( 2 ); // jp2kUuidBox and jp2kUuidBox->iUuidData
   171 
   163 
   172     return jp2kUuidBox;
   164     return jp2kUuidBox;
   194 // -----------------------------------------------------------------------------
   186 // -----------------------------------------------------------------------------
   195 //
   187 //
   196 TImageDataBlock* TJp2kUuidInfoBox::DuplicateL( CFrameImageData& aFrameImageData ) const
   188 TImageDataBlock* TJp2kUuidInfoBox::DuplicateL( CFrameImageData& aFrameImageData ) const
   197     {
   189     {
   198     TJp2kUuidInfoBox *jp2kUuidInfoBox = new ( ELeave ) TJp2kUuidInfoBox( *this );
   190     TJp2kUuidInfoBox *jp2kUuidInfoBox = new ( ELeave ) TJp2kUuidInfoBox( *this );
   199     //CleanupDeletePushL( jp2kUuidInfoBox );
   191     CleanupDeletePushL( jp2kUuidInfoBox );
   200     CleanupStack::PushL( jp2kUuidInfoBox );
       
   201 
   192 
   202     jp2kUuidInfoBox->iUuidInfoId = jp2kUuidInfoBox->iUuidInfoId->AllocLC();
   193     jp2kUuidInfoBox->iUuidInfoId = jp2kUuidInfoBox->iUuidInfoId->AllocLC();
   203     CleanupStack::PushL( jp2kUuidInfoBox->iUuidInfoId );
       
   204     User::LeaveIfError( aFrameImageData.AppendImageBuffer( jp2kUuidInfoBox->iUuidInfoId ) );
   194     User::LeaveIfError( aFrameImageData.AppendImageBuffer( jp2kUuidInfoBox->iUuidInfoId ) );
   205     CleanupStack::Pop( 1 ); // jp2kUuidInfoBox->iUuidInfoId
   195     CleanupStack::Pop( 1 ); // jp2kUuidInfoBox->iUuidInfoId
   206 
   196 
   207     jp2kUuidInfoBox->iUuidInfoData = jp2kUuidInfoBox->iUuidInfoData->AllocLC();
   197     jp2kUuidInfoBox->iUuidInfoData = jp2kUuidInfoBox->iUuidInfoData->AllocLC();
   208     CleanupStack::PushL( jp2kUuidInfoBox->iUuidInfoData );
       
   209     User::LeaveIfError( aFrameImageData.AppendImageBuffer( jp2kUuidInfoBox->iUuidInfoData ) );
   198     User::LeaveIfError( aFrameImageData.AppendImageBuffer( jp2kUuidInfoBox->iUuidInfoData ) );
   210     CleanupStack::Pop( 2 ); // jp2kUuidInfoBox and jp2kUuidInfoBox->iUuidInfoData
   199     CleanupStack::Pop( 2 ); // jp2kUuidInfoBox and jp2kUuidInfoBox->iUuidInfoData
   211 
   200 
   212     return jp2kUuidInfoBox;
   201     return jp2kUuidInfoBox;
   213     }
   202     }