Archived:Media File Symbian API
hamishwillee
(Talk | contribs) m (moved CS001036 - Media File API to Archived:Media File Symbian API) |
m (Lpvalente -) |
||
| (2 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
| − | |||
[[Category:Symbian C++]][[Category:S60 3rd Edition FP2]][[Category:Media]][[Category:Code Examples]][[Category:Code Snippet]] | [[Category:Symbian C++]][[Category:S60 3rd Edition FP2]][[Category:Media]][[Category:Code Examples]][[Category:Code Snippet]] | ||
| + | {{Archived|timestamp=20120313122044|user=roy.debjit| }} | ||
{{ArticleMetaData <!-- v1.2 --> | {{ArticleMetaData <!-- v1.2 --> | ||
| − | |sourcecode= [[Media:MediaFileEx.zip]] | + | |sourcecode= [[Media:MediaFileEx.zip]] |
|installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) --> | |installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) --> | ||
|devices= <!-- Devices tested against - e.g. ''devices=Nokia 6131 NFC, Nokia C7-00'') --> | |devices= <!-- Devices tested against - e.g. ''devices=Nokia 6131 NFC, Nokia C7-00'') --> | ||
| Line 32: | Line 32: | ||
}} | }} | ||
| − | The Media File API is responsible for sending notifications about file updates to the Media Gallery. It also offers an API to check duplicate media files, that is, to check if the file name is a unique media file name in the phone memory or the multimedia card. | + | {{Abstract|The Media File API is responsible for sending notifications about file updates to the Media Gallery. It also offers an API to check duplicate media files, that is, to check if the file name is a unique media file name in the phone memory or the multimedia card.}} |
==Header files== | ==Header files== | ||
Latest revision as of 16:05, 23 January 2013
Article Metadata
Code Example
Compatibility
Article
The Media File API is responsible for sending notifications about file updates to the Media Gallery. It also offers an API to check duplicate media files, that is, to check if the file name is a unique media file name in the phone memory or the multimedia card.
Contents |
Header files
#include <MGXFileManagerFactory.h> #include <CMGXFileManager.h> #include <CMGXFileNotificationHandler.h> #include <MMGXFileNotificationObserver.h>
Link against
LIBRARY MGXMediafileapi.libRequired capability
CAPABILITY ReadUserData WriteDeviceData
Example code
Creating File Manager and the file notification handler
CMGXFileManager* iFileManager = MGXFileManagerFactory::NewFileManagerL(
iCoeEnv->FsSession() );
CMGXFileNotificationHandler* iFNH =
MGXFileManagerFactory::NewFileNotificationHandlerL();
Updating a file
There are different file update types:
1) A general update to the media gallery.
2) Notify Media Gallery after saving a file from a viewer application.
3) Notify Media Gallery after renaming a media file.
4) Update Media Gallery files (an array of files).
The code snippet to send an update is:
// Create an array of descriptors for the selected files
CDesCArrayFlat* fileArray = new (ELeave) CDesCArrayFlat(5);
CleanupStack::PushL(fileArray);
TBool allowMultiple(EFalse);
TBuf <20> lHeading;
lHeading.Append(_L("Image Files"));
// Open the dialog. this is overloaded
TBool ret = MGFetch::RunL(*fileArray,EImageFile,allowMultiple,KNullDesC,lHeading);
if( ret )
{
BaflUtils::RenameFile(CEikonEnv::Static()->FsSession(),
fileArray->MdcaPoint(0),_L("c:\\Data\\Images\\new.bmp"));
iContainer->SetTextL( _L("File Renamed") );
iFileManager->UpdateL(fileArray->MdcaPoint(0),_L("c:\\Data\\Images\\new.bmp"));
}
else
{
iContainer->SetTextL( _L("File Not Selected") );
}
CleanupStack::PopAndDestroy(); // fileArray
Checking for duplicate file names :
TBool ret = iFileManager->SuccessFileNameL( iFileName, EDriveC );
//To check for file in phone memory.
//iFileName is filename to be checked.
//To check if it exists in MMC use "EDriveE" instead of "EDriveC"
Register and unregister observer
You can also register to get notifications of changed media files (for example, new files are created or existing files are modified or deleted, etc.)
1) Derive your class from MMGXFileNotificationObserver and implement the pure virtual function HandleFileNotificationEventL.
2) Register for observations:
iFNH->SetObserver( *this )
3) Unregister to stop getting notifications :
iFNH->RemoveObserver(*this);

