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) |