imagehandlingutilities/thumbnailmanager/thumbnailclient/src/thumbnailobjectsource.cpp
branchRCL_3
changeset 58 9e8b0cc88842
parent 38 2b4b06654caa
equal deleted inserted replaced
50:60bb012f1157 58:9e8b0cc88842
    22 
    22 
    23 // ======== MEMBER FUNCTIONS ========
    23 // ======== MEMBER FUNCTIONS ========
    24 
    24 
    25 // ---------------------------------------------------------------------------
    25 // ---------------------------------------------------------------------------
    26 // CThumbnailObjectSource::NewL()
    26 // CThumbnailObjectSource::NewL()
    27 // CThumbnailObjectSource::NewLC()
       
    28 // Two-phased constructor.
    27 // Two-phased constructor.
    29 // ---------------------------------------------------------------------------
    28 // ---------------------------------------------------------------------------
    30 //
    29 //
    31 EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewL( const TDesC&
    30 EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewL( const TDesC&
    32     aUri, const TDesC& aMimeType )
    31     aUri, const TDesC& aMimeType )
    35         aMimeType );
    34         aMimeType );
    36     CleanupStack::Pop( self );
    35     CleanupStack::Pop( self );
    37     return self;
    36     return self;
    38     }
    37     }
    39 
    38 
       
    39 
       
    40 // ---------------------------------------------------------------------------
       
    41 // CThumbnailObjectSource::NewLC()
       
    42 // Two-phased constructor.
       
    43 // ---------------------------------------------------------------------------
       
    44 //
    40 EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewLC( const TDesC&
    45 EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewLC( const TDesC&
    41     aUri, const TDesC& aMimeType )
    46     aUri, const TDesC& aMimeType )
    42     {
    47     {
    43     CThumbnailObjectSource* self = new( ELeave )CThumbnailObjectSource();
    48     CThumbnailObjectSource* self = new( ELeave )CThumbnailObjectSource();
    44     CleanupStack::PushL( self );
    49     CleanupStack::PushL( self );
    45     self->ConstructL( aUri, aMimeType );
    50     self->ConstructL( aUri, aMimeType );
    46     return self;
    51     return self;
    47     }
    52     }
    48 
    53 
       
    54 // ---------------------------------------------------------------------------
       
    55 // CThumbnailObjectSource::NewL()
       
    56 // Two-phased constructor.
       
    57 // ---------------------------------------------------------------------------
       
    58 //
    49 EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewL( const RFile64&
    59 EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewL( const RFile64&
    50     aFile, const TDesC& aMimeType )
    60     aFile, const TDesC& aMimeType )
    51     {
    61     {
    52     CThumbnailObjectSource* self = CThumbnailObjectSource::NewLC( aFile,
    62     CThumbnailObjectSource* self = CThumbnailObjectSource::NewLC( aFile,
    53         aMimeType );
    63         aMimeType );
    54     CleanupStack::Pop( self );
    64     CleanupStack::Pop( self );
    55     return self;
    65     return self;
    56     }
    66     }
    57 
    67 
       
    68 
       
    69 // ---------------------------------------------------------------------------
       
    70 // CThumbnailObjectSource::NewLC()
       
    71 // Two-phased constructor.
       
    72 // ---------------------------------------------------------------------------
       
    73 //
    58 EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewLC( const RFile64&
    74 EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewLC( const RFile64&
    59     aFile, const TDesC& aMimeType )
    75     aFile, const TDesC& aMimeType )
    60     {
    76     {
    61     CThumbnailObjectSource* self = new( ELeave )CThumbnailObjectSource();
    77     CThumbnailObjectSource* self = new( ELeave )CThumbnailObjectSource();
    62     CleanupStack::PushL( self );
    78     CleanupStack::PushL( self );
    63     self->ConstructL( aFile, aMimeType );
    79     self->ConstructL( aFile, aMimeType );
    64     return self;
    80     return self;
    65     }
    81     }
    66 
    82 
    67 EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewL( CFbsBitmap*  aBitmap, 
    83 
    68     const TDesC& aUri )
    84 EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewL( CFbsBitmap*  aBitmap, const TDesC& aUri )
    69     {
    85     {
    70     CThumbnailObjectSource* self = CThumbnailObjectSource::NewLC( aBitmap, aUri );
    86     CThumbnailObjectSource* self = CThumbnailObjectSource::NewLC( aBitmap, aUri );
    71     CleanupStack::Pop( self );
    87     CleanupStack::Pop( self );
    72     return self;   
    88     return self;   
    73     }
    89     }
    74 
    90 
    75 EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewLC( CFbsBitmap*  aBitmap,
    91 EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewLC( CFbsBitmap*  aBitmap, const TDesC& aUri )
    76     const TDesC& aUri )
       
    77     {
    92     {
    78     CThumbnailObjectSource* self = new( ELeave )CThumbnailObjectSource();
    93     CThumbnailObjectSource* self = new( ELeave )CThumbnailObjectSource();
    79     CleanupStack::PushL( self );
    94     CleanupStack::PushL( self );
    80     self->ConstructL( aBitmap, aUri );
    95     self->ConstructL( aBitmap, aUri );
    81     return self;
    96     return self;
    82     }
    97     }
    83 
    98 
    84 EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewL( TDesC8* aBuffer,
    99 EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewL( TDesC8* aBuffer,  TDesC& aMimeType, const TDesC& aUri)
    85     TDesC& aMimeType, const TDesC& aUri)
   100     {
    86     {
   101     CThumbnailObjectSource* self = CThumbnailObjectSource::NewLC( aBuffer, aMimeType, aUri );
    87     CThumbnailObjectSource* self = CThumbnailObjectSource::NewLC( aBuffer, 
       
    88         aMimeType, aUri );
       
    89     CleanupStack::Pop( self );
   102     CleanupStack::Pop( self );
    90     return self;   
   103     return self;   
    91     }
   104     }
    92 
   105 
    93 EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewLC( TDesC8* aBuffer, 
   106 EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewLC( TDesC8* aBuffer,  TDesC& aMimeType, const TDesC& aUri)
    94     TDesC& aMimeType, const TDesC& aUri)
       
    95     {
   107     {
    96     CThumbnailObjectSource* self = new( ELeave )CThumbnailObjectSource();
   108     CThumbnailObjectSource* self = new( ELeave )CThumbnailObjectSource();
    97     CleanupStack::PushL( self );
   109     CleanupStack::PushL( self );
    98     self->ConstructL( aBuffer, aMimeType, aUri );
   110     self->ConstructL( aBuffer, aMimeType, aUri );
    99     return self;
   111     return self;
   100     }
   112     }
   101 
   113    
   102 EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewL( const TDesC& 
       
   103     aUri, const TThumbnailId aThumbnailId, const TDesC& aMimeType )
       
   104     {
       
   105     CThumbnailObjectSource* self = CThumbnailObjectSource::NewLC( aUri,
       
   106         aThumbnailId, aMimeType );
       
   107     CleanupStack::Pop( self );
       
   108     return self;
       
   109     }
       
   110 
       
   111 EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewLC( const TDesC& aUri, 
       
   112     const TThumbnailId aThumbnailId, const TDesC& aMimeType )
       
   113     {
       
   114     CThumbnailObjectSource* self = new( ELeave )CThumbnailObjectSource();
       
   115     CleanupStack::PushL( self );
       
   116     self->ConstructL( aUri, aMimeType, aThumbnailId );
       
   117     return self;
       
   118     }
       
   119 
       
   120 EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewL( const TDesC& aUri, 
       
   121     const TDesC& aTargetUri, const TDesC& aMimeType )
       
   122     {
       
   123     CThumbnailObjectSource* self = CThumbnailObjectSource::NewLC( aUri, aTargetUri,
       
   124         aMimeType );
       
   125     CleanupStack::Pop( self );
       
   126     return self;   
       
   127     }
       
   128 
       
   129 EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewLC( const TDesC& aUri, 
       
   130     const TDesC& aTargetUri, const TDesC& aMimeType )
       
   131     {
       
   132     CThumbnailObjectSource* self = new( ELeave )CThumbnailObjectSource();
       
   133     CleanupStack::PushL( self );
       
   134     self->ConstructL( aUri, aTargetUri, aMimeType );
       
   135     return self;
       
   136     }
       
   137 
       
   138 
   114 
   139 // ---------------------------------------------------------------------------
   115 // ---------------------------------------------------------------------------
   140 // CThumbnailObjectSource::CThumbnailObjectSource()
   116 // CThumbnailObjectSource::CThumbnailObjectSource()
   141 // C++ default constructor can NOT contain any code, that might leave.
   117 // C++ default constructor can NOT contain any code, that might leave.
   142 // ---------------------------------------------------------------------------
   118 // ---------------------------------------------------------------------------
   156     aMimeType)
   132     aMimeType)
   157     {
   133     {
   158     iUri = aUri.AllocL();
   134     iUri = aUri.AllocL();
   159     iMimeType = HBufC8::NewL( aMimeType.Length() );
   135     iMimeType = HBufC8::NewL( aMimeType.Length() );
   160     iMimeType->Des().Copy( aMimeType );
   136     iMimeType->Des().Copy( aMimeType );
   161     iThumbnailId = 0;
   137     iBitmap = NULL;
   162     iBitmap = NULL;
   138     }
   163     iTargetUri = NULL;
   139 
   164     }
   140 
   165 
   141 // ---------------------------------------------------------------------------
       
   142 // CThumbnailObjectSource::ConstructL()
       
   143 // Symbian 2nd phase constructor can leave.
       
   144 // ---------------------------------------------------------------------------
       
   145 //
   166 void CThumbnailObjectSource::ConstructL( const RFile64& aFile, const TDesC&
   146 void CThumbnailObjectSource::ConstructL( const RFile64& aFile, const TDesC&
   167     aMimeType )
   147     aMimeType )
   168     {
   148     {
   169     iFile = aFile;
   149     iFile = aFile;
   170     iMimeType = HBufC8::NewL( aMimeType.Length() );
   150     iMimeType = HBufC8::NewL( aMimeType.Length() );
   171     iMimeType->Des().Copy( aMimeType );
   151     iMimeType->Des().Copy( aMimeType );
   172     iThumbnailId = 0;
   152     iThumbnailId = 0;
   173     iBitmap = NULL;
   153     iBitmap = NULL;
   174     iTargetUri = NULL;
   154     }
   175     }
   155 
   176 
   156 // ---------------------------------------------------------------------------
   177 void CThumbnailObjectSource::ConstructL( CFbsBitmap* aBitmap, const TDesC& 
   157 // CThumbnailObjectSource::ConstructL()
   178     aUri )
   158 // Symbian 2nd phase constructor can leave.
       
   159 // ---------------------------------------------------------------------------
       
   160 //
       
   161 void CThumbnailObjectSource::ConstructL( CFbsBitmap* aBitmap, const TDesC&
       
   162         aUri )
   179     {
   163     {
   180     iBitmap = aBitmap;
   164     iBitmap = aBitmap;
   181     iUri = aUri.AllocL();
   165     iUri = aUri.AllocL();
   182     iThumbnailId = 0;
   166     iThumbnailId = 0;
   183     iTargetUri = NULL;
   167     }
   184     }
   168 
   185 
   169 // ---------------------------------------------------------------------------
       
   170 // CThumbnailObjectSource::ConstructL()
       
   171 // Symbian 2nd phase constructor can leave.
       
   172 // ---------------------------------------------------------------------------
       
   173 //
   186 void CThumbnailObjectSource::ConstructL( TDesC8* aBuffer, const TDesC&
   174 void CThumbnailObjectSource::ConstructL( TDesC8* aBuffer, const TDesC&
   187     aMimeType, const TDesC& aUri )
   175     aMimeType, const TDesC& aUri )
   188     {
   176     {
   189     iBuffer = aBuffer;
   177     iBuffer = aBuffer;
   190     iMimeType = HBufC8::NewL( aMimeType.Length() );
   178     iMimeType = HBufC8::NewL( aMimeType.Length() );
   191     iMimeType->Des().Copy( aMimeType );
   179     iMimeType->Des().Copy( aMimeType );
   192     iUri = aUri.AllocL(); 
   180     iUri = aUri.AllocL(); 
   193     iThumbnailId = 0;
   181     iThumbnailId = 0;
   194     iBitmap = NULL;
   182     iBitmap = NULL;
   195     iTargetUri = NULL;
   183     }
   196     }
   184 
   197 
   185 // ---------------------------------------------------------------------------
       
   186 // CThumbnailObjectSource::ConstructL()
       
   187 // Symbian 2nd phase constructor can leave.
       
   188 // ---------------------------------------------------------------------------
       
   189 //
   198 void CThumbnailObjectSource::ConstructL( const TDesC& aUri, const TDesC&
   190 void CThumbnailObjectSource::ConstructL( const TDesC& aUri, const TDesC&
   199     aMimeType, TThumbnailId aThumbnailId )
   191     aMimeType, TThumbnailId aThumbnailId )
   200     {
   192     {
   201     iUri = aUri.AllocL();
   193     iUri = aUri.AllocL();
   202     iMimeType = HBufC8::NewL( aMimeType.Length() );
   194     iMimeType = HBufC8::NewL( aMimeType.Length() );
   203     iMimeType->Des().Copy( aMimeType );
   195     iMimeType->Des().Copy( aMimeType );
   204     iThumbnailId = aThumbnailId;
   196     iThumbnailId = aThumbnailId;
   205     iTargetUri = NULL;
       
   206     }
       
   207 
       
   208 void CThumbnailObjectSource::ConstructL( const TDesC& aUri, const TDesC& 
       
   209     aTargetUri, const TDesC& aMimeType )
       
   210     {
       
   211     iUri = aUri.AllocL();
       
   212     iTargetUri = aTargetUri.AllocL();
       
   213     iMimeType = HBufC8::NewL( aMimeType.Length() );
       
   214     iMimeType->Des().Copy( aMimeType );
       
   215     iThumbnailId = 0;
       
   216     iBitmap = NULL;
       
   217     }
   197     }
   218 
   198 
   219 
   199 
   220 // ---------------------------------------------------------------------------
   200 // ---------------------------------------------------------------------------
   221 // CThumbnailObjectSource::~CThumbnailObjectSource()()
   201 // CThumbnailObjectSource::~CThumbnailObjectSource()()
   237 
   217 
   238 // ---------------------------------------------------------------------------
   218 // ---------------------------------------------------------------------------
   239 // CThumbnailObjectSourceImpl::FileHandle()
   219 // CThumbnailObjectSourceImpl::FileHandle()
   240 // ---------------------------------------------------------------------------
   220 // ---------------------------------------------------------------------------
   241 //
   221 //
   242 EXPORT_C RFile64& CThumbnailObjectSource::FileHandle()
   222 EXPORT_C  RFile64& CThumbnailObjectSource::FileHandle()
   243     {
   223     {
   244     return iFile;
   224     return iFile;
   245     }
   225     }
       
   226 
   246 
   227 
   247 // ---------------------------------------------------------------------------
   228 // ---------------------------------------------------------------------------
   248 // CThumbnailObjectSourceImpl::Uri()
   229 // CThumbnailObjectSourceImpl::Uri()
   249 // ---------------------------------------------------------------------------
   230 // ---------------------------------------------------------------------------
   250 //
   231 //
   288         return *iMimeType;
   269         return *iMimeType;
   289         }
   270         }
   290     return KNullDesC8;
   271     return KNullDesC8;
   291     }
   272     }
   292 
   273 
   293 // ---------------------------------------------------------------------------
       
   294 // CThumbnailObjectSourceImpl::Id()
       
   295 // ---------------------------------------------------------------------------
       
   296 //
       
   297 EXPORT_C TThumbnailId CThumbnailObjectSource::Id()
   274 EXPORT_C TThumbnailId CThumbnailObjectSource::Id()
   298     {
   275     {
   299     return iThumbnailId;
   276     return iThumbnailId;
   300     }
   277     }
   301 	
   278 	
       
   279 EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewL( const TDesC&
       
   280 aUri, const TThumbnailId aThumbnailId, const TDesC& aMimeType )
       
   281 {
       
   282 CThumbnailObjectSource* self = CThumbnailObjectSource::NewLC( aUri,
       
   283         aThumbnailId, aMimeType );
       
   284 CleanupStack::Pop( self );
       
   285 return self;
       
   286     }
       
   287 
       
   288 
       
   289 // ---------------------------------------------------------------------------
       
   290 // CThumbnailObjectSource::NewLC()
       
   291 // Two-phased constructor.
       
   292 // ---------------------------------------------------------------------------
       
   293 //
       
   294 EXPORT_C CThumbnailObjectSource* CThumbnailObjectSource::NewLC( const TDesC& aUri, 
       
   295 	const TThumbnailId aThumbnailId, const TDesC& aMimeType )
       
   296     {
       
   297     CThumbnailObjectSource* self = new( ELeave )CThumbnailObjectSource();
       
   298     CleanupStack::PushL( self );
       
   299     self->ConstructL( aUri, aMimeType, aThumbnailId );
       
   300     return self;
       
   301     }
       
   302 
   302 // ---------------------------------------------------------------------------
   303 // ---------------------------------------------------------------------------
   303 // CThumbnailObjectSourceImpl::Bitmap()
   304 // CThumbnailObjectSourceImpl::Bitmap()
   304 // ---------------------------------------------------------------------------
   305 // ---------------------------------------------------------------------------
   305 //
   306 //
   306 EXPORT_C CFbsBitmap* CThumbnailObjectSource::Bitmap()
   307 EXPORT_C CFbsBitmap* CThumbnailObjectSource::Bitmap()
   317     CFbsBitmap* temp = iBitmap;
   318     CFbsBitmap* temp = iBitmap;
   318     iBitmap = NULL;
   319     iBitmap = NULL;
   319     return temp;
   320     return temp;
   320     }
   321     }
   321 
   322 
   322 // ---------------------------------------------------------------------------
       
   323 // CThumbnailObjectSourceImpl::TargetUri()
       
   324 // ---------------------------------------------------------------------------
       
   325 //
       
   326 EXPORT_C const TDesC& CThumbnailObjectSource::TargetUri()
       
   327     {
       
   328     if ( iTargetUri )
       
   329         {
       
   330         return * iTargetUri;
       
   331         }
       
   332     return KNullDesC;
       
   333     }
       
   334 
       
   335 
       
   336 // End of file
   323 // End of file