summaryrefslogtreecommitdiffstats
path: root/include/media/mediascanner.h
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2008-12-17 18:05:43 -0800
committerThe Android Open Source Project <initial-contribution@android.com>2008-12-17 18:05:43 -0800
commit7b5eb023f8d87cca6d830ae6c11c6aadbe02aca8 (patch)
treed9838a098f868ee2fcffc20627a8c9a33cb23377 /include/media/mediascanner.h
parent2729ea9262ca60d93047e984739887cfc89e82eb (diff)
downloadframeworks_av-7b5eb023f8d87cca6d830ae6c11c6aadbe02aca8.zip
frameworks_av-7b5eb023f8d87cca6d830ae6c11c6aadbe02aca8.tar.gz
frameworks_av-7b5eb023f8d87cca6d830ae6c11c6aadbe02aca8.tar.bz2
Code drop from //branches/cupcake/...@124589
Diffstat (limited to 'include/media/mediascanner.h')
-rw-r--r--include/media/mediascanner.h24
1 files changed, 23 insertions, 1 deletions
diff --git a/include/media/mediascanner.h b/include/media/mediascanner.h
index 5d0122d..fbef1db 100644
--- a/include/media/mediascanner.h
+++ b/include/media/mediascanner.h
@@ -23,6 +23,7 @@
namespace android {
class MediaScannerClient;
+class StringArray;
class MediaScanner
{
@@ -35,6 +36,7 @@ public:
status_t processFile(const char *path, const char *mimeType, MediaScannerClient& client);
status_t processDirectory(const char *path, const char* extensions,
MediaScannerClient& client, ExceptionCheck exceptionCheck, void* exceptionEnv);
+ void setLocale(const char* locale);
// extracts album art as a block of data
char* extractAlbumArt(int fd);
@@ -45,16 +47,36 @@ private:
status_t doProcessDirectory(char *path, int pathRemaining, const char* extensions,
MediaScannerClient& client, ExceptionCheck exceptionCheck, void* exceptionEnv);
void initializeForThread();
+
+ // current locale (like "ja_JP"), created/destroyed with strdup()/free()
+ char* mLocale;
};
class MediaScannerClient
{
public:
- virtual ~MediaScannerClient() {}
+ MediaScannerClient();
+ virtual ~MediaScannerClient();
+ void setLocale(const char* locale);
+ void beginFile();
+ bool addStringTag(const char* name, const char* value);
+ void endFile();
+
virtual bool scanFile(const char* path, long long lastModified, long long fileSize) = 0;
virtual bool handleStringTag(const char* name, const char* value) = 0;
virtual bool setMimeType(const char* mimeType) = 0;
+
+protected:
+ void convertValues(uint32_t encoding);
+
+protected:
+ // cached name and value strings, for native encoding support.
+ StringArray* mNames;
+ StringArray* mValues;
+
+ // default encoding based on MediaScanner::mLocale string
+ uint32_t mLocaleEncoding;
};
}; // namespace android