listenerId: ReplyCommandListener.listenerName
};
- var replyListenerId = ReplyCommandListener.addListener(callback);
var result = native_.callSync(
'MediaControllerServerInfo_sendSearchRequest',
nativeData,
callback
);
+ if (native_.isFailure(result)) {
+ throw native_.getErrorObject(result);
+ }
+ var replyListenerId = ReplyCommandListener.addListener(callback);
ReplyCommandListener.requestIdToListenerId[replyListenerId] = result.requestId;
};
("JsonToBundle() error message: %s", result.message().c_str()));
}
- ret = mc_search_set_condition(search_request, content_type_e, search_category_e,
- filter.at("keyword").get<std::string>().c_str(), bundle_data);
+ // keyword
+ // null is valid search keyword in case of NO_CATEGORY
+ char* search_keyword = nullptr;
+ if (filter.at("keyword").is<std::string>()) {
+ search_keyword = (char*)filter.at("keyword").get<std::string>().c_str();
+ }
+ ret = mc_search_set_condition(search_request, content_type_e, search_category_e, search_keyword,
+ bundle_data);
if (MEDIA_CONTROLLER_ERROR_NONE != ret) {
return LogAndCreateResult(
}
object["category"] = picojson::value(temp);
- object["keyword"] = picojson::value(std::string(keyword));
+ if (keyword) {
+ object["keyword"] = picojson::value(std::string(keyword));
+ } else {
+ // null is valid search keyword in case of NO_CATEGORY
+ object["keyword"] = picojson::value();
+ }
picojson::value data_json;
result = common::BundleToJson(data, &data_json);
{"UNDECIDED", MC_CONTENT_TYPE_UNDECIDED}};
const common::PlatformEnum<mc_search_category_e> MediaControllerSearchCategoryEnum{
- {"NONE", MC_SEARCH_NO_CATEGORY}, {"TITLE", MC_SEARCH_TITLE}, {"ARTIST", MC_SEARCH_ARTIST},
- {"ALBUM", MC_SEARCH_ALBUM}, {"GENRE", MC_SEARCH_GENRE}, {"TPO", MC_SEARCH_TPO}};
+ {"NO_CATEGORY", MC_SEARCH_NO_CATEGORY},
+ {"TITLE", MC_SEARCH_TITLE},
+ {"ARTIST", MC_SEARCH_ARTIST},
+ {"ALBUM", MC_SEARCH_ALBUM},
+ {"GENRE", MC_SEARCH_GENRE},
+ {"TPO", MC_SEARCH_TPO}};
PlatformResult ConvertPlaybackState(mc_playback_h playback_h, std::string* state) {
ScopeLogger();