photosgallery/viewframework/medialists/src/glximagereader.cpp
changeset 4 57d388cc48c1
parent 2 7d9067c6fcb1
child 9 6b87b143d312
equal deleted inserted replaced
3:9a9c174934f5 4:57d388cc48c1
    96 void CGlxImageReader::ConstructL()
    96 void CGlxImageReader::ConstructL()
    97     {
    97     {
    98     TRACER("CGlxImageReader::ConstructL");
    98     TRACER("CGlxImageReader::ConstructL");
    99 
    99 
   100     CActiveScheduler::Add(this);
   100     CActiveScheduler::Add(this);
   101     iIsLaunchedFromFMngr = EFalse;
       
   102 
   101 
   103     iImgViewerMgr = CGlxImageViewerManager::InstanceL();
   102     iImgViewerMgr = CGlxImageViewerManager::InstanceL();
   104     if (!iImgViewerMgr)
   103     if (!iImgViewerMgr)
   105         {
   104         {
   106         return;
   105         return;
   107         }
   106         }
   108 
   107 
       
   108     TInt errInImage = KErrNone;
   109     if (iImgViewerMgr->IsPrivate())
   109     if (iImgViewerMgr->IsPrivate())
   110         {
   110         {
   111         iIsLaunchedFromFMngr = ETrue;
   111         if ( &(iImgViewerMgr->ImageFileHandle()) != NULL )
   112         }
   112             {
   113 
   113             TRAP(errInImage,iImageDecoder = CImageDecoder::FileNewL(iImgViewerMgr->ImageFileHandle(), ContentAccess::EPeek));
   114     TInt errInImage = KErrNone;
   114             }
   115     if (iIsLaunchedFromFMngr)
       
   116         {
       
   117         // TODO type cast handle to RFile
       
   118         TRAP(errInImage,iImageDecoder = CImageDecoder::FileNewL(iImgViewerMgr->ImageFileHandle(), ContentAccess::EPeek));
       
   119         }
   115         }
   120     else
   116     else
   121         {
   117         {
   122         TRAP(errInImage,iImageDecoder = CImageDecoder::FileNewL(CCoeEnv::Static()->FsSession(), iImgViewerMgr->ImageUri()->Des()));
   118         if ( iImgViewerMgr->ImageUri() != NULL )
   123         }
   119             {
   124 
   120             TRAP(errInImage,iImageDecoder = CImageDecoder::FileNewL(CCoeEnv::Static()->FsSession(), iImgViewerMgr->ImageUri()->Des()));
       
   121             }
       
   122         }
   125     if (errInImage != KErrNone)
   123     if (errInImage != KErrNone)
   126         {
   124         {
   127         User::Leave(errInImage);
   125         User::Leave(errInImage);
   128         }
   126         }
   129     iFrame = new (ELeave) CFbsBitmap();
   127 
   130     iFrame->Create(iImageDecoder->FrameInfo(0).iOverallSizeInPixels,
   128     if ( iImageDecoder )
   131             iImageDecoder->FrameInfo(0).iFrameDisplayMode);
   129         {
   132     iImageDecoder->Convert(&iStatus, *iFrame, 0);
   130         iFrame = new (ELeave) CFbsBitmap();
   133 
   131         iFrame->Create(iImageDecoder->FrameInfo(0).iOverallSizeInPixels,
   134     SetActive();
   132                 iImageDecoder->FrameInfo(0).iFrameDisplayMode);
       
   133         iImageDecoder->Convert(&iStatus, *iFrame, 0);
       
   134         SetActive();
       
   135         }
   135     }
   136     }
   136 
   137 
   137 
   138 
   138 // ---------------------------------------------------------
   139 // ---------------------------------------------------------
   139 // CGlxImageReader::DoCancel
   140 // CGlxImageReader::DoCancel
   158     if (reqStatus == KErrNone && iFrame)
   159     if (reqStatus == KErrNone && iFrame)
   159         {
   160         {
   160         size = iFrame->SizeInPixels();
   161         size = iFrame->SizeInPixels();
   161         }
   162         }
   162     GLX_DEBUG2("CGlxImageReader::RunL() reqStatus=%d", reqStatus);   
   163     GLX_DEBUG2("CGlxImageReader::RunL() reqStatus=%d", reqStatus);   
   163     iNotify.ImageReadyL(reqStatus, size);
   164     iNotify.ImageSizeReady(reqStatus, size);
   164     }
   165     }
   165 // ---------------------------------------------------------
   166 // ---------------------------------------------------------
   166 // CGlxImageReader::GetDRMRightsL
   167 // CGlxImageReader::GetDRMRightsL
   167 // ---------------------------------------------------------
   168 // ---------------------------------------------------------
   168 //
   169 //
   171     TRACER("CGlxImageReader::GetDRMRightsL");
   172     TRACER("CGlxImageReader::GetDRMRightsL");
   172     
   173     
   173     TInt value = KErrNone;
   174     TInt value = KErrNone;
   174     TInt error = KErrNone;
   175     TInt error = KErrNone;
   175     CContent* content = NULL;
   176     CContent* content = NULL;
   176     if(iIsLaunchedFromFMngr)
   177     if(iImgViewerMgr->IsPrivate())
   177         {
   178         {
   178         content = CContent::NewLC(iImgViewerMgr->ImageFileHandle());    
   179         if ( &(iImgViewerMgr->ImageFileHandle()) != NULL )
       
   180             {
       
   181             content = CContent::NewLC(iImgViewerMgr->ImageFileHandle());
       
   182             }
   179         }
   183         }
   180     else
   184     else
   181         {
   185         {
   182         content = CContent::NewLC(iImgViewerMgr->ImageUri()->Des());
   186         if ( iImgViewerMgr->ImageUri() != NULL )
   183         }
   187             {
   184 
   188             content = CContent::NewLC(iImgViewerMgr->ImageUri()->Des());
       
   189             }
       
   190         }
   185     __ASSERT_ALWAYS(content, Panic(EGlxPanicNullPointer));
   191     __ASSERT_ALWAYS(content, Panic(EGlxPanicNullPointer));
   186     error = content->GetAttribute(aAttribute, value);
   192     error = content->GetAttribute(aAttribute, value);
   187     CleanupStack::PopAndDestroy( content );
   193     CleanupStack::PopAndDestroy( content );
   188     GLX_DEBUG2("CGlxImageReader::GetDRMRightsL value=%d", value);
   194     GLX_DEBUG2("CGlxImageReader::GetDRMRightsL value=%d", value);
   189     if(error != KErrNone)
   195     if(error != KErrNone)