}
};
+MediaControllerClient.prototype.unsetCustomEventListener = function() {
+ var result = native_.callSync('MediaControllerClient_unsetCustomEventListener', {
+ listenerId: 'MediaControllerClientEventsListener'
+ });
+ if (native_.isFailure(result)) {
+ throw native_.getErrorObject(result);
+ } else {
+ native_.removeListener('MediaControllerClientEventsListener');
+ }
+};
+
MediaControllerClient.prototype.findServers = function(successCallback, errorCallback) {
var args = validator_.validateArgs(arguments, [
{ name: 'successCallback', type: types_.FUNCTION },
LoggerE("Failed to unset display rotation listener");
}
+ if (nullptr != custom_event_listener_ && !UnsetCustomEventListener()) {
+ LoggerE("Failed to unset custom event listener");
+ }
+
if (nullptr != handle_ && MEDIA_CONTROLLER_ERROR_NONE != mc_client_destroy(handle_)) {
LoggerE("Unable to destroy media controller client");
}
return PlatformResult(ErrorCode::NO_ERROR);
}
+PlatformResult MediaControllerClient::UnsetCustomEventListener() {
+ ScopeLogger();
+ int ret = mc_client_unset_custom_event_received_cb(handle_);
+ if (MEDIA_CONTROLLER_ERROR_NONE != ret) {
+ return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Failed to unset custom event listener",
+ ("mc_client_unset_custom_event_received_cb() error: %d, message: %s",
+ ret, get_error_message(ret)));
+ }
+ custom_event_listener_ = nullptr;
+ return PlatformResult(ErrorCode::NO_ERROR);
+}
+
PlatformResult MediaControllerClient::FindServers(picojson::array* servers) {
ScopeLogger();
int ret;
common::PlatformResult UnsetDisplayRotationInfoChangeListener();
common::PlatformResult SetCustomEventListener(const JsonCallback& callback);
+ common::PlatformResult UnsetCustomEventListener();
private:
mc_client_h handle_;
MediaControllerClientFindSubscribedServers);
REGISTER_SYNC("MediaControllerClient_setCustomEventListener",
MediaControllerClientSetCustomEventListener);
+ REGISTER_SYNC("MediaControllerClient_unsetCustomEventListener",
+ MediaControllerClientUnsetCustomEventListener);
// server_info
REGISTER_SYNC("MediaControllerServerInfo_sendPlaybackState",
ReportSuccess(out);
}
+void MediaControllerInstance::MediaControllerClientUnsetCustomEventListener(
+ const picojson::value& args, picojson::object& out) {
+ ScopeLogger();
+ if (!client_) {
+ LogAndReportError(PlatformResult(ErrorCode::UNKNOWN_ERR, "Unknown error occured."), &out,
+ ("Failed: client_"));
+ return;
+ }
+
+ auto result = client_->UnsetCustomEventListener();
+ if (!result) {
+ LogAndReportError(result, &out);
+ return;
+ }
+
+ ReportSuccess(out);
+}
+
void MediaControllerInstance::MediaControllerClientFindServers(const picojson::value& args,
picojson::object& out) {
ScopeLogger();
picojson::object& out);
void MediaControllerClientSetCustomEventListener(const picojson::value& args,
picojson::object& out);
+ void MediaControllerClientUnsetCustomEventListener(const picojson::value& args,
+ picojson::object& out);
// serverInfo
void MediaControllerServerInfoSendPlaybackState(const picojson::value& args,