QString Camera::symbianCapture(int width, int height) { CNewFileServiceClient* fileClient = NewFileServiceFactory::NewClientL(); CleanupStack::PushL(fileClient); CDesCArray* fileNames = new (ELeave) CDesCArrayFlat(1); CleanupStack::PushL(fileNames); CAiwGenericParamList* paramList = CAiwGenericParamList::NewLC(); TSize resolution = TSize(width, height); TPckgBuf<TSize> buffer( resolution ); TAiwVariant resolutionVariant( buffer ); TAiwGenericParam param( EGenericParamResolution, resolutionVariant ); paramList->AppendL( param ); const TUid KUidCamera = { 0x101F857A }; // Camera UID for S60 5th edition TBool result = fileClient->NewFileL( KUidCamera, *fileNames, paramList, ENewFileServiceImage, EFalse ); QString ret; if (result) { TPtrC fileName=fileNames->MdcaPoint(0); ret = QString((QChar*) fileName.Ptr(), fileName.Length()); } qDebug() << ret; CleanupStack::PopAndDestroy(3); return ret; }
// --------------------------------------------------------------------------- // // --------------------------------------------------------------------------- // TBool CAiwImagePrintIf::IsPrintingSupported( const CAiwGenericParamList& aInParamList ) { TInt index(0); FLOG(_L("[CAiwImagePrintIf] IsPrintingSupported ")); const TAiwGenericParam* param = aInParamList.FindFirst( index, EGenericParamMIMEType ); TBool printable( EFalse ); if ( index == KErrNotFound ) { index = 0; const TAiwGenericParam* param = aInParamList.FindFirst(index, EGenericParamFile, EVariantTypeDesC); //Check if there is any printable images available. At least image must be //JPEG and it also must be unprotected to be printable. while ( index != KErrNotFound && !printable) { FLOG(_L("[CAiwImagePrintIf] IsPrintingSupported 3")); TRAP_IGNORE( printable = IsPrintingSupportedL( param->Value().AsDes() )); param = aInParamList.FindNext(index, EGenericParamFile, EVariantTypeDesC); } FTRACE(FPrint(_L("[CAiwImagePrintIf] IsPrintingSupported printable is %d"), printable )); return printable; } while ( index != KErrNotFound && !printable ) { if ( param->Value().TypeId() == EVariantTypeDesC && param->Value().AsDes() == KJpegFileType16 ) { // MIME-type parameter follows filename parameter in parameter list. // Because of that previous item in list is used. if (index > 0) { FLOG(_L("[CAiwImagePrintIf] IsPrintingSupported 5")); printable = !IsProtected( aInParamList[index-1].Value().AsDes() ); } } if ( !printable ) { param = aInParamList.FindNext(index, EGenericParamMIMEType); } } FTRACE(FPrint(_L("[CAiwImagePrintIf] IsPrintingSupported 2 printable is %d"), printable )); return printable; }
// ----------------------------------------------------------------------------- // Implements getting a AIW parameter as descriptor // ----------------------------------------------------------------------------- // TPtrC CAknsWallpaperPlugin::GetAiwParamAsDescriptor( const CAiwGenericParamList& aParamList, TGenericParamId aParamType) { TInt index = 0; const TAiwGenericParam* genericParam = NULL; genericParam = aParamList.FindFirst( index, aParamType, EVariantTypeDesC); if (index >= 0 && genericParam) { // Get the data return genericParam->Value().AsDes(); } else { return KNullDesC(); } }
// --------------------------------------------------------------------------- // // --------------------------------------------------------------------------- // void CAiwPrintingProvider::DoHandleCmdL(TInt aMenuCmdId, const CAiwGenericParamList& aInParamList, CAiwGenericParamList& aOutParamList, TUint /*aCmdOptions*/, const MAiwNotifyCallback* aCallback) { if ( aMenuCmdId == KAiwCmdPrint || aMenuCmdId == KAiwCmdPrintPreview ) { FLOG(_L("[CAiwPrintingProvider]<<< DoHandleCmdL")); CAiwGenericParamList* checkedParams = CAiwGenericParamList::NewL(); iConsumerInParamList = &aInParamList; iConsumerOutParamList = &aOutParamList; iConsumerCallback = aCallback; TInt index( 0 ); const TAiwGenericParam* param = aInParamList.FindFirst(index, EGenericParamFile, EVariantTypeDesC); while ( index != KErrNotFound ) { TFileName filename( param->Value().AsDes() ); TInt err = KErrNone; TBool result = EFalse; TRAP( err, result = IsPrintingSupportedL( filename ) ); if ( err == KErrNone && result ) { FLOG(_L("[CAiwPrintingProvider] DoHandleCmdL; supported file")); checkedParams->AppendL(*param); } else { FLOG(_L("[CAiwPrintingProvider] DoHandleCmdL; not supported")); ++iNumberOfUnSuppFiles; iUnsupportedFiles = ETrue; } param = aInParamList.FindNext(index, EGenericParamFile, EVariantTypeDesC); } FTRACE(FPrint(_L("[CAiwPrintingProvider] UnSuppFiles is %d"), iNumberOfUnSuppFiles )); RFileWriteStream stream; CleanupClosePushL(stream); if((stream.Replace(iEikEnv.FsSession(), *iUnsuppFileName ,EFileWrite)) == KErrNone) { stream.WriteInt16L(iNumberOfUnSuppFiles); stream.CommitL(); } CleanupStack::PopAndDestroy(&stream); FLOG(_L("[IMAGEPRINTUI]<<< CAiwPrintingProvider;Save iUnsupportedFiles is done")); RFileWriteStream writeStream; User::LeaveIfError( writeStream.Replace(iEikEnv.FsSession(), *iPrintFileName , EFileWrite) ); writeStream.PushL(); checkedParams->ExternalizeL(writeStream); writeStream.CommitL(); CleanupStack::PopAndDestroy( &writeStream ); iNumberOfUnSuppFiles = 0; delete checkedParams; checkedParams = NULL; LaunchImagePrintApplicationL(); FLOG(_L("[CAiwPrintingProvider]>>> DoHandleCmdL ")); } }
// -------------------------------------------------------------------------- // CUPnPLocalPlayer::CopyCompleteL // Returns from UPnP AV control point when a copy operation has been finished // -------------------------------------------------------------------------- void CUPnPLocalPlayer::CopyCompleteL( TInt aError, const TDesC& /*aFilePath*/ ) { __LOG1( "CopyCompleteL %d", aError ); FinishNote(); // If copying was successful, play the copied item if( KErrNone == aError ) { // iFilePath Contains UTF8 content,we need change // to TDesC8 first ,Using Copy don't lost any data,because the //low byte is NULL TBuf8<KMaxFileName> filename; filename.Copy( *iFilePath ); HBufC* temp = iFilePath; iFilePath = NULL; // try transform UTF8 to UniCode HBufC* unicodename = CnvUtfConverter::ConvertToUnicodeFromUtf8L( filename ); CleanupStack::PushL( unicodename ); // Rename the file iFilePath = UPnPCommonUtils::RenameFileL( *unicodename ) ; if( iFilePath ) { delete temp; temp = NULL; } else { iFilePath = temp; } CleanupStack::PopAndDestroy( unicodename ); unicodename = NULL; if( iFilePath ) { // fix for TSW: ESLX-7L3DMX // OpenFileEmbeddedL( aSharableFile,aDataType, aParamList) // leaves with KErrInUse which results into immediate close // of image viewer. RFile sharableFile; TRAPD( err, iDocumentHandler->OpenTempFileL( *iFilePath, sharableFile ) ); if ( err == KErrNone ) { CleanupClosePushL( sharableFile ); // Create a param list to remove // the "Use image as" sub menu item CAiwGenericParamList* paramList = CAiwGenericParamList::NewLC(); paramList->Reset(); // Append a param into the list to restrict the viewer application from // showing the "use image as" sub menu item. Currently there is no // AiwGenericParam for this. A CR has been created for AIW to add this // constant to "AiwGenericParam.hrh". // Example: This is how the "Save" menu item is allowed. // paramList->AppendL( EGenericParamAllowSave ); TDataType dataType = TDataType(); __LOG( "Open document now... " ); TRAP( err, err = iDocumentHandler->OpenFileEmbeddedL( sharableFile, dataType, *paramList ) ); __LOG1( "err, err = iDocumentHandler->OpenFileEmbeddedL %d", err ); // Cleanup CleanupStack::PopAndDestroy( paramList ); CleanupStack::PopAndDestroy( &sharableFile ); } if( KErrNone != err) { iFs.Delete( *iFilePath ); iExitReason = err; } } else { iExitReason = KErrNoMemory; } } else { iExitReason = aError; } iCommonUI.HandleCommonErrorL( iExitReason, 0 ); __LOG( "CUPnPLocalPlayer::CopyCompleteL end" ); }