using common::ErrorCode;
MediaControllerClient::MediaControllerClient() : handle_(nullptr) {
+ LoggerD("Enter");
}
MediaControllerClient::~MediaControllerClient() {
+ LoggerD("Enter");
if (handle_) {
int ret = mc_client_destroy(handle_);
if (ret != MEDIA_CONTROLLER_ERROR_NONE) {
}
PlatformResult MediaControllerClient::Init() {
+ LoggerD("Enter");
int ret = mc_client_create(&handle_);
if (ret != MEDIA_CONTROLLER_ERROR_NONE) {
LOGGER(ERROR) << "Unable to create media controller client, error: " << ret;
PlatformResult MediaControllerClient::FindServers(picojson::array* servers) {
+ LoggerD("Enter");
int ret;
ret = mc_client_foreach_server(handle_, FindServersCallback, servers);
bool MediaControllerClient::FindServersCallback(const char* server_name,
void* user_data) {
+ LoggerD("Enter");
picojson::array* servers = static_cast<picojson::array*>(user_data);
picojson::value server = picojson::value(picojson::object());
PlatformResult MediaControllerClient::GetLatestServerInfo(
picojson::value* server_info) {
+ LoggerD("Enter");
int ret;
char* name = nullptr;
const std::string& server_name,
picojson::object* playback_info) {
+ LoggerD("Enter");
int ret;
mc_playback_h playback_h;
const std::string& server_name,
picojson::object* metadata) {
+ LoggerD("Enter");
int ret;
mc_metadata_h metadata_h;
PlatformResult MediaControllerClient::SetServerStatusChangeListener(
JsonCallback callback) {
+ LoggerD("Enter");
if (callback && server_status_listener_) {
LOGGER(ERROR) << "Listener already registered";
return PlatformResult(ErrorCode::INVALID_STATE_ERR,
mc_server_state_e state,
void* user_data) {
+ LoggerD("Enter");
MediaControllerClient* client = static_cast<MediaControllerClient*>(user_data);
if (!client->server_status_listener_) {
PlatformResult MediaControllerClient::SetPlaybackInfoListener(
JsonCallback callback) {
+ LoggerD("Enter");
if (callback && playback_info_listener_) {
LOGGER(ERROR) << "Listener already registered";
return PlatformResult(ErrorCode::INVALID_STATE_ERR,
mc_playback_h playback,
void *user_data) {
+ LoggerD("Enter");
MediaControllerClient* client = static_cast<MediaControllerClient*>(user_data);
if (!client->playback_info_listener_) {
mc_shuffle_mode_e mode,
void *user_data) {
+ LoggerD("Enter");
MediaControllerClient* client = static_cast<MediaControllerClient*>(user_data);
if (!client->playback_info_listener_) {
mc_repeat_mode_e mode,
void *user_data) {
+ LoggerD("Enter");
MediaControllerClient* client = static_cast<MediaControllerClient*>(user_data);
if (!client->playback_info_listener_) {
mc_metadata_h metadata_h,
void* user_data) {
+ LoggerD("Enter");
MediaControllerClient* client = static_cast<MediaControllerClient*>(user_data);
if (!client->playback_info_listener_) {
const std::string& reply_id,
const JsonCallback& reply_cb) {
+ LoggerD("Enter");
bundle* bundle = bundle_create();
SCOPE_EXIT {
bundle_free(bundle);
bundle* bundle,
void* user_data) {
+ LoggerD("Enter");
MediaControllerClient* client = static_cast<MediaControllerClient*>(user_data);
picojson::value reply = picojson::value(picojson::object());
const std::string& server_name,
const std::string& state) {
+ LoggerD("Enter");
int state_e;
PlatformResult result = Types::StringToPlatformEnum(
Types::kMediaControllerPlaybackState, state, &state_e);
using common::TaskQueue;
MediaControllerInstance::MediaControllerInstance() {
+ LoggerD("Enter");
using namespace std::placeholders;
#define REGISTER_SYNC(c, x) \
}
MediaControllerInstance::~MediaControllerInstance() {
+ LoggerD("Enter");
}
#define CHECK_EXIST(args, name, out) \
const picojson::value& args,
picojson::object& out) {
+ LoggerD("Enter");
if (server_) {
ReportSuccess(out);
return;
void MediaControllerInstance::MediaControllerServerUpdatePlaybackState(
const picojson::value& args,
picojson::object& out) {
+ LoggerD("Enter");
CHECK_EXIST(args, "state", out)
if (!server_) {
const std::string& state = args.get("state").get<std::string>();
const PlatformResult& result = server_->SetPlaybackState(state);
if (!result) {
+ LoggerE("Failed server_->SetPlaybackState()");
ReportError(result, &out);
return;
}
const picojson::value& args,
picojson::object& out) {
+ LoggerD("Enter");
if (!server_) {
+ LoggerE("Failed: server_");
ReportError(PlatformResult(ErrorCode::INVALID_STATE_ERR,
"Server not initialized."), &out);
return;
double position = args.get("position").get<double>();
const PlatformResult& result = server_->SetPlaybackPosition(position);
if (!result) {
+ LoggerE("Failed: server_->SetPlaybackPosition()");
ReportError(result, &out);
return;
}
const picojson::value& args,
picojson::object& out) {
+ LoggerD("Enter");
if (!server_) {
+ LoggerE("Failed: server_");
ReportError(PlatformResult(ErrorCode::INVALID_STATE_ERR,
"Server not initialized."), &out);
return;
const PlatformResult& result = server_->SetShuffleMode(mode);
if (!result) {
+ LoggerE("Failed: server_->SetShuffleMode()");
ReportError(result, &out);
return;
}
const picojson::value& args,
picojson::object& out) {
+ LoggerD("Enter");
+
if (!server_) {
+ LoggerE("Failed: server_");
ReportError(PlatformResult(ErrorCode::INVALID_STATE_ERR,
"Server not initialized."), &out);
return;
const PlatformResult& result = server_->SetRepeatMode(mode);
if (!result) {
+ LoggerE("Failed: server_->SetRepeatMode()");
ReportError(result, &out);
return;
}
const picojson::value& args,
picojson::object& out) {
+ LoggerD("Enter");
if (!server_) {
+ LoggerE("Failed: server_");
ReportError(PlatformResult(ErrorCode::INVALID_STATE_ERR,
"Server not initialized."), &out);
return;
const PlatformResult& result = server_->SetMetadata(metadata);
if (!result) {
+ LoggerE("Failed: server_->SetMetadata()");
ReportError(result, &out);
return;
}
const picojson::value& args,
picojson::object& out) {
+ LoggerD("Enter");
if (!server_) {
+ LoggerE("Failed: server_");
ReportError(PlatformResult(ErrorCode::INVALID_STATE_ERR,
"Server not initialized."), &out);
return;
const picojson::value& args,
picojson::object& out) {
+ LoggerD("Enter");
if (!server_) {
+ LoggerE("Failed: server_");
ReportError(PlatformResult(ErrorCode::INVALID_STATE_ERR,
"Server not initialized."), &out);
return;
const picojson::value& args,
picojson::object& out) {
+ LoggerD("Enter");
if (!server_) {
+ LoggerE("Failed: server_");
ReportError(PlatformResult(ErrorCode::INVALID_STATE_ERR,
"Server not initialized."), &out);
return;
const picojson::value& args,
picojson::object& out) {
+ LoggerD("Enter");
if (!server_) {
+ LoggerE("Failed: server_");
ReportError(PlatformResult(ErrorCode::INVALID_STATE_ERR,
"Server not initialized."), &out);
return;
const picojson::value& args,
picojson::object& out) {
+ LoggerD("Enter");
if (!server_) {
+ LoggerE("Failed: server_");
ReportError(PlatformResult(ErrorCode::INVALID_STATE_ERR,
"Server not initialized."), &out);
return;
const picojson::value& args,
picojson::object& out) {
+ LoggerD("Enter");
if (client_) {
ReportSuccess(out);
return;
const PlatformResult& result = client_->Init();
if (!result) {
client_.reset();
+ LoggerE("Failed: client_->Init()");
ReportError(result, &out);
}
const picojson::value& args,
picojson::object& out) {
+ LoggerD("Enter");
if (!client_) {
+ LoggerE("Failed: client_");
+
ReportError(PlatformResult(ErrorCode::INVALID_STATE_ERR,
"Client not initialized."), &out);
return;
const picojson::value& args,
picojson::object& out) {
+ LoggerD("Enter");
if (!client_) {
+ LoggerE("Failed: client_");
ReportError(PlatformResult(ErrorCode::INVALID_STATE_ERR,
"Client not initialized."), &out);
return;
picojson::value server_info = picojson::value();
PlatformResult result = client_->GetLatestServerInfo(&server_info);
if (!result) {
+ LoggerE("Failed: client_->GetLatestServerInfo");
ReportError(result, &out);
return;
}
const picojson::value& args,
picojson::object& out) {
+ LoggerD("Enter");
if (!client_) {
ReportError(PlatformResult(ErrorCode::INVALID_STATE_ERR,
"Client not initialized."), &out);
&playback_info.get<picojson::object>());
if (!result) {
+ LoggerE("Failed: client_->GetPlaybackInfo");
ReportError(result, &out);
return;
}
const picojson::value& args,
picojson::object& out) {
+ LoggerD("Enter");
if (!client_) {
+ LoggerE("Failed: client_");
ReportError(PlatformResult(ErrorCode::INVALID_STATE_ERR,
"Client not initialized."), &out);
return;
if (result) {
ReportSuccess(response_obj);
} else {
+ LoggerE("Failed: client_->SendPlaybackState");
ReportError(result, &response_obj);
}
const picojson::value& args,
picojson::object& out) {
+ LoggerD("Enter");
if (!client_) {
ReportError(PlatformResult(ErrorCode::INVALID_STATE_ERR,
"Client not initialized."), &out);
if (result) {
ReportSuccess(response_obj);
} else {
+ LoggerE("Failed: client_->SendPlaybackPosition");
ReportError(result, &response_obj);
}
const picojson::value& args,
picojson::object& out) {
+ LoggerD("Enter");
+
if (!client_) {
LOGGER(ERROR) << "Client not initialized.";
ReportError(PlatformResult(ErrorCode::INVALID_STATE_ERR,
const picojson::value& args,
picojson::object& out) {
+ LoggerD("Enter");
if (!client_) {
LOGGER(ERROR) << "Client not initialized.";
ReportError(PlatformResult(ErrorCode::INVALID_STATE_ERR,
const picojson::value& args,
picojson::object& out) {
+ LoggerD("Enter");
if (!client_) {
LOGGER(ERROR) << "Client not initialized.";
ReportError(PlatformResult(ErrorCode::INVALID_STATE_ERR,
const picojson::value& args,
picojson::object& out) {
+ LoggerD("Enter");
if (!client_) {
ReportError(PlatformResult(ErrorCode::INVALID_STATE_ERR,
"Client not initialized."), &out);
const picojson::value& args,
picojson::object& out) {
+ LoggerD("Enter");
if (!client_) {
ReportError(PlatformResult(ErrorCode::INVALID_STATE_ERR,
"Client not initialized."), &out);
const picojson::value& args,
picojson::object& out) {
+ LoggerD("Enter");
if (!client_) {
+ LoggerE("client_");
ReportError(PlatformResult(ErrorCode::INVALID_STATE_ERR,
"Client not initialized."), &out);
return;
picojson::object& out) {
if (!client_) {
+ LoggerE("client_");
ReportError(PlatformResult(ErrorCode::INVALID_STATE_ERR,
"Client not initialized."), &out);
return;
using common::ErrorCode;
MediaControllerServer::MediaControllerServer() : handle_(nullptr) {
+ LoggerD("Enter");
}
MediaControllerServer::~MediaControllerServer() {
+ LoggerD("Enter");
+
if (handle_) {
int ret;
ret = mc_server_unset_custom_command_received_cb(handle_);
PlatformResult MediaControllerServer::Init() {
+ LoggerD("Enter");
+
int ret = mc_server_create(&handle_);
if (ret != MEDIA_CONTROLLER_ERROR_NONE) {
LOGGER(ERROR) << "Unable to create media controller server, error: " << ret;
PlatformResult MediaControllerServer::SetPlaybackState(
const std::string& state) {
+ LoggerD("Enter");
+
int state_int;
PlatformResult result = Types::StringToPlatformEnum(
Types::kMediaControllerPlaybackState, state, &state_int);
PlatformResult MediaControllerServer::SetPlaybackPosition(double position) {
+ LoggerD("Enter");
+
int ret = mc_server_set_playback_position(
handle_, static_cast<unsigned long long>(position));
if (ret != MEDIA_CONTROLLER_ERROR_NONE) {
PlatformResult MediaControllerServer::SetShuffleMode(bool mode) {
+ LoggerD("Enter");
+
int ret = mc_server_update_shuffle_mode(handle_,
mode ? SHUFFLE_MODE_ON
: SHUFFLE_MODE_OFF);
PlatformResult MediaControllerServer::SetRepeatMode(bool mode) {
+ LoggerD("Enter");
+
int ret = mc_server_update_repeat_mode(handle_,
mode ? REPEAT_MODE_ON
: REPEAT_MODE_OFF);
PlatformResult MediaControllerServer::SetMetadata(
const picojson::object& metadata) {
+ LoggerD("Enter");
+
int attribute_int, ret;
for (picojson::object::const_iterator i = metadata.begin();
i != metadata.end();
bundle* bundle,
void* user_data) {
+ LoggerD("Enter");
+
MediaControllerServer* server = static_cast<MediaControllerServer*>(user_data);
int ret;
const std::string& reply_id,
const picojson::value& data) {
+ LoggerD("Enter");
+
int ret;
bundle* bundle = bundle_create();
PlatformResult MediaControllerServer::SetChangeRequestPlaybackInfoListener(
JsonCallback callback) {
+ LoggerD("Enter");
+
if (callback && change_request_playback_info_listener_) {
LOGGER(ERROR) << "Listener already registered";
return PlatformResult(ErrorCode::INVALID_STATE_ERR,
mc_playback_states_e state_e,
void *user_data) {
+ LoggerD("Enter");
+
MediaControllerServer* server = static_cast<MediaControllerServer*>(user_data);
if (!server->change_request_playback_info_listener_) {
unsigned long long position,
void* user_data) {
+ LoggerD("Enter");
+
MediaControllerServer* server = static_cast<MediaControllerServer*>(user_data);
if (!server->change_request_playback_info_listener_) {
mc_shuffle_mode_e mode,
void* user_data) {
+ LoggerD("Enter");
+
MediaControllerServer* server = static_cast<MediaControllerServer*>(user_data);
if (!server->change_request_playback_info_listener_) {
mc_repeat_mode_e mode,
void* user_data) {
+ LoggerD("Enter");
+
MediaControllerServer* server = static_cast<MediaControllerServer*>(user_data);
if (!server->change_request_playback_info_listener_) {