REGISTER_SYNC("ContentManager_update", ContentManagerUpdate);
REGISTER_SYNC("ContentManager_scanFile", ContentManagerScanfile);
REGISTER_SYNC("ContentManager_scanDirectory", ContentManagerScanDirectory);
+ REGISTER_SYNC("ContentManager_cancelScanDirectory", ContentManagerCancelScanDirectory);
REGISTER_SYNC("ContentManager_unsetChangeListener", ContentManagerUnsetchangelistener);
REGISTER_SYNC("ContentManager_setChangeListener", ContentManagerSetchangelistener);
REGISTER_SYNC("ContentManager_getDirectories", ContentManagerGetdirectories);
}
+void ContentInstance::ContentManagerCancelScanDirectory(const picojson::value& args, picojson::object& out) {
+ LoggerD("Enter");
+ CHECK_EXIST(args, "contentDirURI", out)
+ const std::string& content_dir_uri = args.get("contentDirURI").get<std::string>();
+
+ if (ContentManager::getInstance()->cancelScanDirectory(content_dir_uri).IsError()) {
+ ReportError(common::PlatformResult(common::ErrorCode::UNKNOWN_ERR, "Cancel scan directory failed"), &out);
+ }
+}
+
+
void ContentInstance::ContentManagerSetchangelistener(const picojson::value& args,
picojson::object& out) {
LoggerD("entered");
void ContentManagerFind(const picojson::value& args, picojson::object& out);
void ContentManagerScanfile(const picojson::value& args, picojson::object& out);
void ContentManagerScanDirectory(const picojson::value& args, picojson::object& out);
+ void ContentManagerCancelScanDirectory(const picojson::value& args, picojson::object& out);
void ContentManagerSetchangelistener(const picojson::value& args, picojson::object& out);
void ContentManagerUnsetchangelistener(const picojson::value& args, picojson::object& out);
void ContentManagerGetplaylists(const picojson::value& args, picojson::object& out);
return PlatformResult(ErrorCode::NO_ERROR);
}
+PlatformResult ContentManager::cancelScanDirectory(const std::string& content_dir_uri) {
+ LoggerD("Enter");
+
+ int ret = media_content_cancel_scan_folder(content_dir_uri.c_str());
+ if (ret != MEDIA_CONTENT_ERROR_NONE) {
+ LoggerE("Cancel scan folder failed in platform: %d", ret);
+ return PlatformResult(ErrorCode::UNKNOWN_ERR, "Cancel scan content directory failed");
+ }
+ return PlatformResult(ErrorCode::NO_ERROR);
+}
+
PlatformResult ContentManager::setChangeListener(media_content_db_update_cb callback, void *user_data) {
LoggerD("Enter");
int ret = media_content_set_db_updated_cb(callback, user_data);
int scanFile(std::string& uri);
common::PlatformResult scanDirectory(media_scan_completed_cb callback, ReplyCallbackData* cbData);
+ common::PlatformResult cancelScanDirectory(const std::string& content_dir_uri);
common::PlatformResult setChangeListener(media_content_db_update_cb callback, void *user_data);
common::PlatformResult unSetChangeListener();
}
};
+ContentManager.prototype.cancelScanDirectory = function(contentDirURI) {
+ xwalk.utils.checkPrivilegeAccess(privilege_.CONTENT_WRITE);
+
+ var args = validator_.validateArgs(arguments, [
+ {name: 'contentDirURI', type: types_.STRING}
+ ]);
+
+ var path = args.contentDirURI.trim();
+ if (!path.length) {
+ throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR, 'Directory path is not valid.');
+ }
+
+ var data = {
+ contentDirURI: convertUriToPath_(path)
+ };
+
+ var result = native_.callSync('ContentManager_cancelScanDirectory', data);
+
+ if (native_.isFailure(result)) {
+ throw native_.getErrorObject(result);
+ }
+};
+
ContentManager.prototype.setChangeListener = function(changeCallback) {
xwalk.utils.checkPrivilegeAccess(privilege_.CONTENT_READ);