e/music-control: Add auto generated edbus code

Code generated with edbus-codegen tool.



SVN revision: 81990
This commit is contained in:
Lucas De Marchi 2013-01-02 13:21:18 +00:00
parent 53f67fa86b
commit 1f3b9deb09
7 changed files with 1467 additions and 1 deletions

View File

@ -13,4 +13,8 @@ music_control_module_la_LIBADD = @MUSIC_CONTROL_LIBS@
music_control_module_la_SOURCES = music-control/e_mod_main.h \
music-control/e_mod_main.c \
music-control/private.h \
music-control/ui.c
music-control/ui.c \
music-control/gen/edbus_media_player2_player.c \
music-control/gen/edbus_media_player2_player.h \
music-control/gen/edbus_mpris_media_player2.c \
music-control/gen/edbus_mpris_media_player2.h

View File

@ -0,0 +1,923 @@
#include "edbus_media_player2_player.h"
static int _log_main = -1;
#undef ERR
#define ERR(...) EINA_LOG_DOM_ERR(_log_main, __VA_ARGS__);
int MEDIA_PLAYER2_PLAYER_SEEKED_EVENT;
void
media_player2_player_next_call(EDBus_Proxy *proxy)
{
EDBus_Message *msg;
EINA_SAFETY_ON_NULL_RETURN(proxy);
msg = edbus_proxy_method_call_new(proxy, "Next");
if (!edbus_message_arguments_append(msg, ""))
{
ERR("Error: Filling message.");
return;
}
edbus_proxy_send(proxy, msg, NULL, NULL, -1);
}
void
media_player2_player_open_uri_call(EDBus_Proxy *proxy, const char *arg0)
{
EDBus_Message *msg;
EINA_SAFETY_ON_NULL_RETURN(proxy);
msg = edbus_proxy_method_call_new(proxy, "OpenUri");
if (!edbus_message_arguments_append(msg, "s", arg0))
{
ERR("Error: Filling message.");
return;
}
edbus_proxy_send(proxy, msg, NULL, NULL, -1);
}
void
media_player2_player_pause_call(EDBus_Proxy *proxy)
{
EDBus_Message *msg;
EINA_SAFETY_ON_NULL_RETURN(proxy);
msg = edbus_proxy_method_call_new(proxy, "Pause");
if (!edbus_message_arguments_append(msg, ""))
{
ERR("Error: Filling message.");
return;
}
edbus_proxy_send(proxy, msg, NULL, NULL, -1);
}
void
media_player2_player_play_call(EDBus_Proxy *proxy)
{
EDBus_Message *msg;
EINA_SAFETY_ON_NULL_RETURN(proxy);
msg = edbus_proxy_method_call_new(proxy, "Play");
if (!edbus_message_arguments_append(msg, ""))
{
ERR("Error: Filling message.");
return;
}
edbus_proxy_send(proxy, msg, NULL, NULL, -1);
}
void
media_player2_player_play_pause_call(EDBus_Proxy *proxy)
{
EDBus_Message *msg;
EINA_SAFETY_ON_NULL_RETURN(proxy);
msg = edbus_proxy_method_call_new(proxy, "PlayPause");
if (!edbus_message_arguments_append(msg, ""))
{
ERR("Error: Filling message.");
return;
}
edbus_proxy_send(proxy, msg, NULL, NULL, -1);
}
void
media_player2_player_previous_call(EDBus_Proxy *proxy)
{
EDBus_Message *msg;
EINA_SAFETY_ON_NULL_RETURN(proxy);
msg = edbus_proxy_method_call_new(proxy, "Previous");
if (!edbus_message_arguments_append(msg, ""))
{
ERR("Error: Filling message.");
return;
}
edbus_proxy_send(proxy, msg, NULL, NULL, -1);
}
void
media_player2_player_seek_call(EDBus_Proxy *proxy, int64_t arg0)
{
EDBus_Message *msg;
EINA_SAFETY_ON_NULL_RETURN(proxy);
msg = edbus_proxy_method_call_new(proxy, "Seek");
if (!edbus_message_arguments_append(msg, "x", arg0))
{
ERR("Error: Filling message.");
return;
}
edbus_proxy_send(proxy, msg, NULL, NULL, -1);
}
void
media_player2_player_set_position_call(EDBus_Proxy *proxy, const char *arg0, int64_t arg1)
{
EDBus_Message *msg;
EINA_SAFETY_ON_NULL_RETURN(proxy);
msg = edbus_proxy_method_call_new(proxy, "SetPosition");
if (!edbus_message_arguments_append(msg, "ox", arg0, arg1))
{
ERR("Error: Filling message.");
return;
}
edbus_proxy_send(proxy, msg, NULL, NULL, -1);
}
void
media_player2_player_stop_call(EDBus_Proxy *proxy)
{
EDBus_Message *msg;
EINA_SAFETY_ON_NULL_RETURN(proxy);
msg = edbus_proxy_method_call_new(proxy, "Stop");
if (!edbus_message_arguments_append(msg, ""))
{
ERR("Error: Filling message.");
return;
}
edbus_proxy_send(proxy, msg, NULL, NULL, -1);
}
static void
media_player2_player_seeked_data_free(void *user_data, void *func_data)
{
Media_Player2_Player_Seeked_Data *s_data = user_data;
free(s_data);
}
static void
on_media_player2_player_seeked(void *data, const EDBus_Message *msg)
{
EDBus_Proxy *proxy = data;
Media_Player2_Player_Seeked_Data *s_data = calloc(1, sizeof(Media_Player2_Player_Seeked_Data));
s_data->proxy = proxy;
if (!edbus_message_arguments_get(msg, "x", &s_data->arg0))
{
ERR("Error: Getting arguments from message.");
return;
}
ecore_event_add(MEDIA_PLAYER2_PLAYER_SEEKED_EVENT, s_data, media_player2_player_seeked_data_free, NULL);
}
static void
cb_media_player2_player_can_control(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
{
void *user_data = edbus_pending_data_del(pending, "__user_data");
const char *error, *error_msg;
EDBus_Codegen_Property_Bool_Get_Cb cb = data;
EDBus_Proxy *proxy = edbus_pending_data_del(pending, "__proxy");
EDBus_Message_Iter *variant;
Eina_Bool v;
if (edbus_message_error_get(msg, &error, &error_msg))
{
EDBus_Error_Info error_info = {error, error_msg};
cb(user_data, pending, "CanControl", proxy, &error_info, 0);
return;
}
if (!edbus_message_arguments_get(msg, "v", &variant))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "CanControl", proxy, &error_info, 0);
return;
}
if (!edbus_message_iter_arguments_get(variant, "b", &v))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "CanControl", proxy, &error_info, 0);
return;
}
cb(user_data, pending, "CanControl", proxy, NULL, v);
}
EDBus_Pending *
media_player2_player_can_control_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Bool_Get_Cb cb, const void *data)
{
EDBus_Pending *p;
EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
p = edbus_proxy_property_get(proxy, "CanControl", cb_media_player2_player_can_control, cb);
if (data)
edbus_pending_data_set(p, "__user_data", data);
edbus_pending_data_set(p, "__proxy", proxy);
return p;
}
static void
cb_media_player2_player_can_go_next(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
{
void *user_data = edbus_pending_data_del(pending, "__user_data");
const char *error, *error_msg;
EDBus_Codegen_Property_Bool_Get_Cb cb = data;
EDBus_Proxy *proxy = edbus_pending_data_del(pending, "__proxy");
EDBus_Message_Iter *variant;
Eina_Bool v;
if (edbus_message_error_get(msg, &error, &error_msg))
{
EDBus_Error_Info error_info = {error, error_msg};
cb(user_data, pending, "CanGoNext", proxy, &error_info, 0);
return;
}
if (!edbus_message_arguments_get(msg, "v", &variant))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "CanGoNext", proxy, &error_info, 0);
return;
}
if (!edbus_message_iter_arguments_get(variant, "b", &v))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "CanGoNext", proxy, &error_info, 0);
return;
}
cb(user_data, pending, "CanGoNext", proxy, NULL, v);
}
EDBus_Pending *
media_player2_player_can_go_next_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Bool_Get_Cb cb, const void *data)
{
EDBus_Pending *p;
EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
p = edbus_proxy_property_get(proxy, "CanGoNext", cb_media_player2_player_can_go_next, cb);
if (data)
edbus_pending_data_set(p, "__user_data", data);
edbus_pending_data_set(p, "__proxy", proxy);
return p;
}
static void
cb_media_player2_player_can_go_previous(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
{
void *user_data = edbus_pending_data_del(pending, "__user_data");
const char *error, *error_msg;
EDBus_Codegen_Property_Bool_Get_Cb cb = data;
EDBus_Proxy *proxy = edbus_pending_data_del(pending, "__proxy");
EDBus_Message_Iter *variant;
Eina_Bool v;
if (edbus_message_error_get(msg, &error, &error_msg))
{
EDBus_Error_Info error_info = {error, error_msg};
cb(user_data, pending, "CanGoPrevious", proxy, &error_info, 0);
return;
}
if (!edbus_message_arguments_get(msg, "v", &variant))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "CanGoPrevious", proxy, &error_info, 0);
return;
}
if (!edbus_message_iter_arguments_get(variant, "b", &v))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "CanGoPrevious", proxy, &error_info, 0);
return;
}
cb(user_data, pending, "CanGoPrevious", proxy, NULL, v);
}
EDBus_Pending *
media_player2_player_can_go_previous_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Bool_Get_Cb cb, const void *data)
{
EDBus_Pending *p;
EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
p = edbus_proxy_property_get(proxy, "CanGoPrevious", cb_media_player2_player_can_go_previous, cb);
if (data)
edbus_pending_data_set(p, "__user_data", data);
edbus_pending_data_set(p, "__proxy", proxy);
return p;
}
static void
cb_media_player2_player_can_pause(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
{
void *user_data = edbus_pending_data_del(pending, "__user_data");
const char *error, *error_msg;
EDBus_Codegen_Property_Bool_Get_Cb cb = data;
EDBus_Proxy *proxy = edbus_pending_data_del(pending, "__proxy");
EDBus_Message_Iter *variant;
Eina_Bool v;
if (edbus_message_error_get(msg, &error, &error_msg))
{
EDBus_Error_Info error_info = {error, error_msg};
cb(user_data, pending, "CanPause", proxy, &error_info, 0);
return;
}
if (!edbus_message_arguments_get(msg, "v", &variant))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "CanPause", proxy, &error_info, 0);
return;
}
if (!edbus_message_iter_arguments_get(variant, "b", &v))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "CanPause", proxy, &error_info, 0);
return;
}
cb(user_data, pending, "CanPause", proxy, NULL, v);
}
EDBus_Pending *
media_player2_player_can_pause_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Bool_Get_Cb cb, const void *data)
{
EDBus_Pending *p;
EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
p = edbus_proxy_property_get(proxy, "CanPause", cb_media_player2_player_can_pause, cb);
if (data)
edbus_pending_data_set(p, "__user_data", data);
edbus_pending_data_set(p, "__proxy", proxy);
return p;
}
static void
cb_media_player2_player_can_play(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
{
void *user_data = edbus_pending_data_del(pending, "__user_data");
const char *error, *error_msg;
EDBus_Codegen_Property_Bool_Get_Cb cb = data;
EDBus_Proxy *proxy = edbus_pending_data_del(pending, "__proxy");
EDBus_Message_Iter *variant;
Eina_Bool v;
if (edbus_message_error_get(msg, &error, &error_msg))
{
EDBus_Error_Info error_info = {error, error_msg};
cb(user_data, pending, "CanPlay", proxy, &error_info, 0);
return;
}
if (!edbus_message_arguments_get(msg, "v", &variant))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "CanPlay", proxy, &error_info, 0);
return;
}
if (!edbus_message_iter_arguments_get(variant, "b", &v))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "CanPlay", proxy, &error_info, 0);
return;
}
cb(user_data, pending, "CanPlay", proxy, NULL, v);
}
EDBus_Pending *
media_player2_player_can_play_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Bool_Get_Cb cb, const void *data)
{
EDBus_Pending *p;
EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
p = edbus_proxy_property_get(proxy, "CanPlay", cb_media_player2_player_can_play, cb);
if (data)
edbus_pending_data_set(p, "__user_data", data);
edbus_pending_data_set(p, "__proxy", proxy);
return p;
}
static void
cb_media_player2_player_can_seek(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
{
void *user_data = edbus_pending_data_del(pending, "__user_data");
const char *error, *error_msg;
EDBus_Codegen_Property_Bool_Get_Cb cb = data;
EDBus_Proxy *proxy = edbus_pending_data_del(pending, "__proxy");
EDBus_Message_Iter *variant;
Eina_Bool v;
if (edbus_message_error_get(msg, &error, &error_msg))
{
EDBus_Error_Info error_info = {error, error_msg};
cb(user_data, pending, "CanSeek", proxy, &error_info, 0);
return;
}
if (!edbus_message_arguments_get(msg, "v", &variant))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "CanSeek", proxy, &error_info, 0);
return;
}
if (!edbus_message_iter_arguments_get(variant, "b", &v))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "CanSeek", proxy, &error_info, 0);
return;
}
cb(user_data, pending, "CanSeek", proxy, NULL, v);
}
EDBus_Pending *
media_player2_player_can_seek_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Bool_Get_Cb cb, const void *data)
{
EDBus_Pending *p;
EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
p = edbus_proxy_property_get(proxy, "CanSeek", cb_media_player2_player_can_seek, cb);
if (data)
edbus_pending_data_set(p, "__user_data", data);
edbus_pending_data_set(p, "__proxy", proxy);
return p;
}
static void
cb_media_player2_player_loop_status(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
{
void *user_data = edbus_pending_data_del(pending, "__user_data");
const char *error, *error_msg;
EDBus_Codegen_Property_String_Get_Cb cb = data;
EDBus_Proxy *proxy = edbus_pending_data_del(pending, "__proxy");
EDBus_Message_Iter *variant;
const char *v;
if (edbus_message_error_get(msg, &error, &error_msg))
{
EDBus_Error_Info error_info = {error, error_msg};
cb(user_data, pending, "LoopStatus", proxy, &error_info, NULL);
return;
}
if (!edbus_message_arguments_get(msg, "v", &variant))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "LoopStatus", proxy, &error_info, NULL);
return;
}
if (!edbus_message_iter_arguments_get(variant, "s", &v))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "LoopStatus", proxy, &error_info, NULL);
return;
}
cb(user_data, pending, "LoopStatus", proxy, NULL, v);
}
EDBus_Pending *
media_player2_player_loop_status_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_String_Get_Cb cb, const void *data)
{
EDBus_Pending *p;
EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
p = edbus_proxy_property_get(proxy, "LoopStatus", cb_media_player2_player_loop_status, cb);
if (data)
edbus_pending_data_set(p, "__user_data", data);
edbus_pending_data_set(p, "__proxy", proxy);
return p;
}
static void
cb_media_player2_player_loop_status_set(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
{
const char *error, *error_msg;
void *user_data = edbus_pending_data_del(pending, "__user_data");
EDBus_Proxy *proxy = edbus_pending_data_del(pending, "__proxy");
EDBus_Codegen_Property_Set_Cb cb = data;
if (edbus_message_error_get(msg, &error, &error_msg)) {
EDBus_Error_Info error_info = {error, error_msg};
cb(user_data, "LoopStatus", proxy, pending, &error_info);
return;
}
cb(user_data, "LoopStatus", proxy, pending, NULL);
}
EDBus_Pending *
media_player2_player_loop_status_propset(EDBus_Proxy *proxy, EDBus_Codegen_Property_Set_Cb cb, const void *data, const void *value)
{
EDBus_Pending *p;
EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
EINA_SAFETY_ON_NULL_RETURN_VAL(value, NULL);
p = edbus_proxy_property_set(proxy, "LoopStatus", "s", value, cb_media_player2_player_loop_status_set, data);
edbus_pending_data_set(p, "__user_data", data);
edbus_pending_data_set(p, "__proxy", proxy);
return p;
}
static void
cb_media_player2_player_maximum_rate(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
{
void *user_data = edbus_pending_data_del(pending, "__user_data");
const char *error, *error_msg;
EDBus_Codegen_Property_Double_Get_Cb cb = data;
EDBus_Proxy *proxy = edbus_pending_data_del(pending, "__proxy");
EDBus_Message_Iter *variant;
double v;
if (edbus_message_error_get(msg, &error, &error_msg))
{
EDBus_Error_Info error_info = {error, error_msg};
cb(user_data, pending, "MaximumRate", proxy, &error_info, 0);
return;
}
if (!edbus_message_arguments_get(msg, "v", &variant))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "MaximumRate", proxy, &error_info, 0);
return;
}
if (!edbus_message_iter_arguments_get(variant, "d", &v))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "MaximumRate", proxy, &error_info, 0);
return;
}
cb(user_data, pending, "MaximumRate", proxy, NULL, v);
}
EDBus_Pending *
media_player2_player_maximum_rate_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Double_Get_Cb cb, const void *data)
{
EDBus_Pending *p;
EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
p = edbus_proxy_property_get(proxy, "MaximumRate", cb_media_player2_player_maximum_rate, cb);
if (data)
edbus_pending_data_set(p, "__user_data", data);
edbus_pending_data_set(p, "__proxy", proxy);
return p;
}
static void
cb_media_player2_player_metadata(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
{
void *user_data = edbus_pending_data_del(pending, "__user_data");
const char *error, *error_msg;
EDBus_Codegen_Property_Complex_Get_Cb cb = data;
EDBus_Proxy *proxy = edbus_pending_data_del(pending, "__proxy");
EDBus_Message_Iter *variant;
Eina_Value *v, stack_value;
if (edbus_message_error_get(msg, &error, &error_msg))
{
EDBus_Error_Info error_info = {error, error_msg};
cb(user_data, pending, "Metadata", proxy, &error_info, NULL);
return;
}
if (!edbus_message_arguments_get(msg, "v", &variant))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "Metadata", proxy, &error_info, NULL);
return;
}
v = edbus_message_iter_struct_like_to_eina_value(variant);
eina_value_struct_value_get(v, "arg0", &stack_value);
cb(user_data, pending, "Metadata", proxy, NULL, &stack_value);
eina_value_flush(&stack_value);
eina_value_free(v);
}
EDBus_Pending *
media_player2_player_metadata_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Complex_Get_Cb cb, const void *data)
{
EDBus_Pending *p;
EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
p = edbus_proxy_property_get(proxy, "Metadata", cb_media_player2_player_metadata, cb);
if (data)
edbus_pending_data_set(p, "__user_data", data);
edbus_pending_data_set(p, "__proxy", proxy);
return p;
}
static void
cb_media_player2_player_minimum_rate(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
{
void *user_data = edbus_pending_data_del(pending, "__user_data");
const char *error, *error_msg;
EDBus_Codegen_Property_Double_Get_Cb cb = data;
EDBus_Proxy *proxy = edbus_pending_data_del(pending, "__proxy");
EDBus_Message_Iter *variant;
double v;
if (edbus_message_error_get(msg, &error, &error_msg))
{
EDBus_Error_Info error_info = {error, error_msg};
cb(user_data, pending, "MinimumRate", proxy, &error_info, 0);
return;
}
if (!edbus_message_arguments_get(msg, "v", &variant))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "MinimumRate", proxy, &error_info, 0);
return;
}
if (!edbus_message_iter_arguments_get(variant, "d", &v))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "MinimumRate", proxy, &error_info, 0);
return;
}
cb(user_data, pending, "MinimumRate", proxy, NULL, v);
}
EDBus_Pending *
media_player2_player_minimum_rate_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Double_Get_Cb cb, const void *data)
{
EDBus_Pending *p;
EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
p = edbus_proxy_property_get(proxy, "MinimumRate", cb_media_player2_player_minimum_rate, cb);
if (data)
edbus_pending_data_set(p, "__user_data", data);
edbus_pending_data_set(p, "__proxy", proxy);
return p;
}
static void
cb_media_player2_player_playback_status(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
{
void *user_data = edbus_pending_data_del(pending, "__user_data");
const char *error, *error_msg;
EDBus_Codegen_Property_String_Get_Cb cb = data;
EDBus_Proxy *proxy = edbus_pending_data_del(pending, "__proxy");
EDBus_Message_Iter *variant;
const char *v;
if (edbus_message_error_get(msg, &error, &error_msg))
{
EDBus_Error_Info error_info = {error, error_msg};
cb(user_data, pending, "PlaybackStatus", proxy, &error_info, NULL);
return;
}
if (!edbus_message_arguments_get(msg, "v", &variant))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "PlaybackStatus", proxy, &error_info, NULL);
return;
}
if (!edbus_message_iter_arguments_get(variant, "s", &v))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "PlaybackStatus", proxy, &error_info, NULL);
return;
}
cb(user_data, pending, "PlaybackStatus", proxy, NULL, v);
}
EDBus_Pending *
media_player2_player_playback_status_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_String_Get_Cb cb, const void *data)
{
EDBus_Pending *p;
EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
p = edbus_proxy_property_get(proxy, "PlaybackStatus", cb_media_player2_player_playback_status, cb);
if (data)
edbus_pending_data_set(p, "__user_data", data);
edbus_pending_data_set(p, "__proxy", proxy);
return p;
}
static void
cb_media_player2_player_position(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
{
void *user_data = edbus_pending_data_del(pending, "__user_data");
const char *error, *error_msg;
EDBus_Codegen_Property_Int64_Get_Cb cb = data;
EDBus_Proxy *proxy = edbus_pending_data_del(pending, "__proxy");
EDBus_Message_Iter *variant;
int64_t v;
if (edbus_message_error_get(msg, &error, &error_msg))
{
EDBus_Error_Info error_info = {error, error_msg};
cb(user_data, pending, "Position", proxy, &error_info, 0);
return;
}
if (!edbus_message_arguments_get(msg, "v", &variant))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "Position", proxy, &error_info, 0);
return;
}
if (!edbus_message_iter_arguments_get(variant, "x", &v))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "Position", proxy, &error_info, 0);
return;
}
cb(user_data, pending, "Position", proxy, NULL, v);
}
EDBus_Pending *
media_player2_player_position_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Int64_Get_Cb cb, const void *data)
{
EDBus_Pending *p;
EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
p = edbus_proxy_property_get(proxy, "Position", cb_media_player2_player_position, cb);
if (data)
edbus_pending_data_set(p, "__user_data", data);
edbus_pending_data_set(p, "__proxy", proxy);
return p;
}
static void
cb_media_player2_player_rate(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
{
void *user_data = edbus_pending_data_del(pending, "__user_data");
const char *error, *error_msg;
EDBus_Codegen_Property_Double_Get_Cb cb = data;
EDBus_Proxy *proxy = edbus_pending_data_del(pending, "__proxy");
EDBus_Message_Iter *variant;
double v;
if (edbus_message_error_get(msg, &error, &error_msg))
{
EDBus_Error_Info error_info = {error, error_msg};
cb(user_data, pending, "Rate", proxy, &error_info, 0);
return;
}
if (!edbus_message_arguments_get(msg, "v", &variant))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "Rate", proxy, &error_info, 0);
return;
}
if (!edbus_message_iter_arguments_get(variant, "d", &v))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "Rate", proxy, &error_info, 0);
return;
}
cb(user_data, pending, "Rate", proxy, NULL, v);
}
EDBus_Pending *
media_player2_player_rate_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Double_Get_Cb cb, const void *data)
{
EDBus_Pending *p;
EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
p = edbus_proxy_property_get(proxy, "Rate", cb_media_player2_player_rate, cb);
if (data)
edbus_pending_data_set(p, "__user_data", data);
edbus_pending_data_set(p, "__proxy", proxy);
return p;
}
static void
cb_media_player2_player_rate_set(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
{
const char *error, *error_msg;
void *user_data = edbus_pending_data_del(pending, "__user_data");
EDBus_Proxy *proxy = edbus_pending_data_del(pending, "__proxy");
EDBus_Codegen_Property_Set_Cb cb = data;
if (edbus_message_error_get(msg, &error, &error_msg)) {
EDBus_Error_Info error_info = {error, error_msg};
cb(user_data, "Rate", proxy, pending, &error_info);
return;
}
cb(user_data, "Rate", proxy, pending, NULL);
}
EDBus_Pending *
media_player2_player_rate_propset(EDBus_Proxy *proxy, EDBus_Codegen_Property_Set_Cb cb, const void *data, const void *value)
{
EDBus_Pending *p;
EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
EINA_SAFETY_ON_NULL_RETURN_VAL(value, NULL);
p = edbus_proxy_property_set(proxy, "Rate", "d", value, cb_media_player2_player_rate_set, data);
edbus_pending_data_set(p, "__user_data", data);
edbus_pending_data_set(p, "__proxy", proxy);
return p;
}
static void
cb_media_player2_player_shuffle(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
{
void *user_data = edbus_pending_data_del(pending, "__user_data");
const char *error, *error_msg;
EDBus_Codegen_Property_Bool_Get_Cb cb = data;
EDBus_Proxy *proxy = edbus_pending_data_del(pending, "__proxy");
EDBus_Message_Iter *variant;
Eina_Bool v;
if (edbus_message_error_get(msg, &error, &error_msg))
{
EDBus_Error_Info error_info = {error, error_msg};
cb(user_data, pending, "Shuffle", proxy, &error_info, 0);
return;
}
if (!edbus_message_arguments_get(msg, "v", &variant))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "Shuffle", proxy, &error_info, 0);
return;
}
if (!edbus_message_iter_arguments_get(variant, "b", &v))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "Shuffle", proxy, &error_info, 0);
return;
}
cb(user_data, pending, "Shuffle", proxy, NULL, v);
}
EDBus_Pending *
media_player2_player_shuffle_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Bool_Get_Cb cb, const void *data)
{
EDBus_Pending *p;
EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
p = edbus_proxy_property_get(proxy, "Shuffle", cb_media_player2_player_shuffle, cb);
if (data)
edbus_pending_data_set(p, "__user_data", data);
edbus_pending_data_set(p, "__proxy", proxy);
return p;
}
static void
cb_media_player2_player_shuffle_set(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
{
const char *error, *error_msg;
void *user_data = edbus_pending_data_del(pending, "__user_data");
EDBus_Proxy *proxy = edbus_pending_data_del(pending, "__proxy");
EDBus_Codegen_Property_Set_Cb cb = data;
if (edbus_message_error_get(msg, &error, &error_msg)) {
EDBus_Error_Info error_info = {error, error_msg};
cb(user_data, "Shuffle", proxy, pending, &error_info);
return;
}
cb(user_data, "Shuffle", proxy, pending, NULL);
}
EDBus_Pending *
media_player2_player_shuffle_propset(EDBus_Proxy *proxy, EDBus_Codegen_Property_Set_Cb cb, const void *data, const void *value)
{
EDBus_Pending *p;
EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
EINA_SAFETY_ON_NULL_RETURN_VAL(value, NULL);
p = edbus_proxy_property_set(proxy, "Shuffle", "b", value, cb_media_player2_player_shuffle_set, data);
edbus_pending_data_set(p, "__user_data", data);
edbus_pending_data_set(p, "__proxy", proxy);
return p;
}
static void
cb_media_player2_player_volume(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
{
void *user_data = edbus_pending_data_del(pending, "__user_data");
const char *error, *error_msg;
EDBus_Codegen_Property_Double_Get_Cb cb = data;
EDBus_Proxy *proxy = edbus_pending_data_del(pending, "__proxy");
EDBus_Message_Iter *variant;
double v;
if (edbus_message_error_get(msg, &error, &error_msg))
{
EDBus_Error_Info error_info = {error, error_msg};
cb(user_data, pending, "Volume", proxy, &error_info, 0);
return;
}
if (!edbus_message_arguments_get(msg, "v", &variant))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "Volume", proxy, &error_info, 0);
return;
}
if (!edbus_message_iter_arguments_get(variant, "d", &v))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "Volume", proxy, &error_info, 0);
return;
}
cb(user_data, pending, "Volume", proxy, NULL, v);
}
EDBus_Pending *
media_player2_player_volume_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Double_Get_Cb cb, const void *data)
{
EDBus_Pending *p;
EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
p = edbus_proxy_property_get(proxy, "Volume", cb_media_player2_player_volume, cb);
if (data)
edbus_pending_data_set(p, "__user_data", data);
edbus_pending_data_set(p, "__proxy", proxy);
return p;
}
static void
cb_media_player2_player_volume_set(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
{
const char *error, *error_msg;
void *user_data = edbus_pending_data_del(pending, "__user_data");
EDBus_Proxy *proxy = edbus_pending_data_del(pending, "__proxy");
EDBus_Codegen_Property_Set_Cb cb = data;
if (edbus_message_error_get(msg, &error, &error_msg)) {
EDBus_Error_Info error_info = {error, error_msg};
cb(user_data, "Volume", proxy, pending, &error_info);
return;
}
cb(user_data, "Volume", proxy, pending, NULL);
}
EDBus_Pending *
media_player2_player_volume_propset(EDBus_Proxy *proxy, EDBus_Codegen_Property_Set_Cb cb, const void *data, const void *value)
{
EDBus_Pending *p;
EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
EINA_SAFETY_ON_NULL_RETURN_VAL(value, NULL);
p = edbus_proxy_property_set(proxy, "Volume", "d", value, cb_media_player2_player_volume_set, data);
edbus_pending_data_set(p, "__user_data", data);
edbus_pending_data_set(p, "__proxy", proxy);
return p;
}
void
media_player2_player_log_domain_set(int id)
{
_log_main = id;
}
void
media_player2_player_proxy_unref(EDBus_Proxy *proxy)
{
EDBus_Object *obj = edbus_proxy_object_get(proxy);
edbus_proxy_unref(proxy);
edbus_object_unref(obj);
}
EDBus_Proxy *
media_player2_player_proxy_get(EDBus_Connection *conn, const char *bus, const char *path)
{
EDBus_Object *obj;
EDBus_Proxy *proxy;
EINA_SAFETY_ON_NULL_RETURN_VAL(conn, NULL);
EINA_SAFETY_ON_NULL_RETURN_VAL(bus, NULL);
if (!path) path = "/org/mpris/MediaPlayer2";
obj = edbus_object_get(conn, bus, path);
proxy = edbus_proxy_get(obj, "org.mpris.MediaPlayer2.Player");
edbus_proxy_signal_handler_add(proxy, "Seeked", on_media_player2_player_seeked, proxy);
if (!MEDIA_PLAYER2_PLAYER_SEEKED_EVENT)
MEDIA_PLAYER2_PLAYER_SEEKED_EVENT = ecore_event_type_new();
return proxy;
}

View File

@ -0,0 +1,47 @@
#ifndef EDBUS_MEDIA_PLAYER2_PLAYER_H
#define EDBUS_MEDIA_PLAYER2_PLAYER_H
#include <Eina.h>
#include <Ecore.h>
#include <EDBus.h>
#include "edbus_utils.h"
EDBus_Proxy *media_player2_player_proxy_get(EDBus_Connection *conn, const char *bus, const char *path);
void media_player2_player_proxy_unref(EDBus_Proxy *proxy);
void media_player2_player_log_domain_set(int id);
void media_player2_player_next_call(EDBus_Proxy *proxy);
void media_player2_player_open_uri_call(EDBus_Proxy *proxy, const char *arg0);
void media_player2_player_pause_call(EDBus_Proxy *proxy);
void media_player2_player_play_call(EDBus_Proxy *proxy);
void media_player2_player_play_pause_call(EDBus_Proxy *proxy);
void media_player2_player_previous_call(EDBus_Proxy *proxy);
void media_player2_player_seek_call(EDBus_Proxy *proxy, int64_t arg0);
void media_player2_player_set_position_call(EDBus_Proxy *proxy, const char *arg0, int64_t arg1);
void media_player2_player_stop_call(EDBus_Proxy *proxy);
extern int MEDIA_PLAYER2_PLAYER_SEEKED_EVENT;
typedef struct _Media_Player2_Player_Seeked_Data
{
EDBus_Proxy *proxy;
int64_t arg0;
} Media_Player2_Player_Seeked_Data;
EDBus_Pending *media_player2_player_can_control_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Bool_Get_Cb cb, const void *data);
EDBus_Pending *media_player2_player_can_go_next_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Bool_Get_Cb cb, const void *data);
EDBus_Pending *media_player2_player_can_go_previous_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Bool_Get_Cb cb, const void *data);
EDBus_Pending *media_player2_player_can_pause_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Bool_Get_Cb cb, const void *data);
EDBus_Pending *media_player2_player_can_play_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Bool_Get_Cb cb, const void *data);
EDBus_Pending *media_player2_player_can_seek_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Bool_Get_Cb cb, const void *data);
EDBus_Pending *media_player2_player_loop_status_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_String_Get_Cb cb, const void *data);
EDBus_Pending *media_player2_player_loop_status_propset(EDBus_Proxy *proxy, EDBus_Codegen_Property_Set_Cb cb, const void *data, const void *value);
EDBus_Pending *media_player2_player_maximum_rate_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Double_Get_Cb cb, const void *data);
EDBus_Pending *media_player2_player_metadata_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Complex_Get_Cb cb, const void *data);
EDBus_Pending *media_player2_player_minimum_rate_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Double_Get_Cb cb, const void *data);
EDBus_Pending *media_player2_player_playback_status_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_String_Get_Cb cb, const void *data);
EDBus_Pending *media_player2_player_position_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Int64_Get_Cb cb, const void *data);
EDBus_Pending *media_player2_player_rate_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Double_Get_Cb cb, const void *data);
EDBus_Pending *media_player2_player_rate_propset(EDBus_Proxy *proxy, EDBus_Codegen_Property_Set_Cb cb, const void *data, const void *value);
EDBus_Pending *media_player2_player_shuffle_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Bool_Get_Cb cb, const void *data);
EDBus_Pending *media_player2_player_shuffle_propset(EDBus_Proxy *proxy, EDBus_Codegen_Property_Set_Cb cb, const void *data, const void *value);
EDBus_Pending *media_player2_player_volume_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Double_Get_Cb cb, const void *data);
EDBus_Pending *media_player2_player_volume_propset(EDBus_Proxy *proxy, EDBus_Codegen_Property_Set_Cb cb, const void *data, const void *value);
#endif

View File

@ -0,0 +1,350 @@
#include "edbus_mpris_media_player2.h"
static int _log_main = -1;
#undef ERR
#define ERR(...) EINA_LOG_DOM_ERR(_log_main, __VA_ARGS__);
void
mpris_media_player2_quit_call(EDBus_Proxy *proxy)
{
EDBus_Message *msg;
EINA_SAFETY_ON_NULL_RETURN(proxy);
msg = edbus_proxy_method_call_new(proxy, "Quit");
if (!edbus_message_arguments_append(msg, ""))
{
ERR("Error: Filling message.");
return;
}
edbus_proxy_send(proxy, msg, NULL, NULL, -1);
}
void
mpris_media_player2_raise_call(EDBus_Proxy *proxy)
{
EDBus_Message *msg;
EINA_SAFETY_ON_NULL_RETURN(proxy);
msg = edbus_proxy_method_call_new(proxy, "Raise");
if (!edbus_message_arguments_append(msg, ""))
{
ERR("Error: Filling message.");
return;
}
edbus_proxy_send(proxy, msg, NULL, NULL, -1);
}
static void
cb_mpris_media_player2_can_quit(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
{
void *user_data = edbus_pending_data_del(pending, "__user_data");
const char *error, *error_msg;
EDBus_Codegen_Property_Bool_Get_Cb cb = data;
EDBus_Proxy *proxy = edbus_pending_data_del(pending, "__proxy");
EDBus_Message_Iter *variant;
Eina_Bool v;
if (edbus_message_error_get(msg, &error, &error_msg))
{
EDBus_Error_Info error_info = {error, error_msg};
cb(user_data, pending, "CanQuit", proxy, &error_info, 0);
return;
}
if (!edbus_message_arguments_get(msg, "v", &variant))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "CanQuit", proxy, &error_info, 0);
return;
}
if (!edbus_message_iter_arguments_get(variant, "b", &v))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "CanQuit", proxy, &error_info, 0);
return;
}
cb(user_data, pending, "CanQuit", proxy, NULL, v);
}
EDBus_Pending *
mpris_media_player2_can_quit_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Bool_Get_Cb cb, const void *data)
{
EDBus_Pending *p;
EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
p = edbus_proxy_property_get(proxy, "CanQuit", cb_mpris_media_player2_can_quit, cb);
if (data)
edbus_pending_data_set(p, "__user_data", data);
edbus_pending_data_set(p, "__proxy", proxy);
return p;
}
static void
cb_mpris_media_player2_can_raise(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
{
void *user_data = edbus_pending_data_del(pending, "__user_data");
const char *error, *error_msg;
EDBus_Codegen_Property_Bool_Get_Cb cb = data;
EDBus_Proxy *proxy = edbus_pending_data_del(pending, "__proxy");
EDBus_Message_Iter *variant;
Eina_Bool v;
if (edbus_message_error_get(msg, &error, &error_msg))
{
EDBus_Error_Info error_info = {error, error_msg};
cb(user_data, pending, "CanRaise", proxy, &error_info, 0);
return;
}
if (!edbus_message_arguments_get(msg, "v", &variant))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "CanRaise", proxy, &error_info, 0);
return;
}
if (!edbus_message_iter_arguments_get(variant, "b", &v))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "CanRaise", proxy, &error_info, 0);
return;
}
cb(user_data, pending, "CanRaise", proxy, NULL, v);
}
EDBus_Pending *
mpris_media_player2_can_raise_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Bool_Get_Cb cb, const void *data)
{
EDBus_Pending *p;
EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
p = edbus_proxy_property_get(proxy, "CanRaise", cb_mpris_media_player2_can_raise, cb);
if (data)
edbus_pending_data_set(p, "__user_data", data);
edbus_pending_data_set(p, "__proxy", proxy);
return p;
}
static void
cb_mpris_media_player2_desktop_entry(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
{
void *user_data = edbus_pending_data_del(pending, "__user_data");
const char *error, *error_msg;
EDBus_Codegen_Property_String_Get_Cb cb = data;
EDBus_Proxy *proxy = edbus_pending_data_del(pending, "__proxy");
EDBus_Message_Iter *variant;
const char *v;
if (edbus_message_error_get(msg, &error, &error_msg))
{
EDBus_Error_Info error_info = {error, error_msg};
cb(user_data, pending, "DesktopEntry", proxy, &error_info, NULL);
return;
}
if (!edbus_message_arguments_get(msg, "v", &variant))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "DesktopEntry", proxy, &error_info, NULL);
return;
}
if (!edbus_message_iter_arguments_get(variant, "s", &v))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "DesktopEntry", proxy, &error_info, NULL);
return;
}
cb(user_data, pending, "DesktopEntry", proxy, NULL, v);
}
EDBus_Pending *
mpris_media_player2_desktop_entry_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_String_Get_Cb cb, const void *data)
{
EDBus_Pending *p;
EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
p = edbus_proxy_property_get(proxy, "DesktopEntry", cb_mpris_media_player2_desktop_entry, cb);
if (data)
edbus_pending_data_set(p, "__user_data", data);
edbus_pending_data_set(p, "__proxy", proxy);
return p;
}
static void
cb_mpris_media_player2_has_track_list(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
{
void *user_data = edbus_pending_data_del(pending, "__user_data");
const char *error, *error_msg;
EDBus_Codegen_Property_Bool_Get_Cb cb = data;
EDBus_Proxy *proxy = edbus_pending_data_del(pending, "__proxy");
EDBus_Message_Iter *variant;
Eina_Bool v;
if (edbus_message_error_get(msg, &error, &error_msg))
{
EDBus_Error_Info error_info = {error, error_msg};
cb(user_data, pending, "HasTrackList", proxy, &error_info, 0);
return;
}
if (!edbus_message_arguments_get(msg, "v", &variant))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "HasTrackList", proxy, &error_info, 0);
return;
}
if (!edbus_message_iter_arguments_get(variant, "b", &v))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "HasTrackList", proxy, &error_info, 0);
return;
}
cb(user_data, pending, "HasTrackList", proxy, NULL, v);
}
EDBus_Pending *
mpris_media_player2_has_track_list_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Bool_Get_Cb cb, const void *data)
{
EDBus_Pending *p;
EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
p = edbus_proxy_property_get(proxy, "HasTrackList", cb_mpris_media_player2_has_track_list, cb);
if (data)
edbus_pending_data_set(p, "__user_data", data);
edbus_pending_data_set(p, "__proxy", proxy);
return p;
}
static void
cb_mpris_media_player2_identity(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
{
void *user_data = edbus_pending_data_del(pending, "__user_data");
const char *error, *error_msg;
EDBus_Codegen_Property_String_Get_Cb cb = data;
EDBus_Proxy *proxy = edbus_pending_data_del(pending, "__proxy");
EDBus_Message_Iter *variant;
const char *v;
if (edbus_message_error_get(msg, &error, &error_msg))
{
EDBus_Error_Info error_info = {error, error_msg};
cb(user_data, pending, "Identity", proxy, &error_info, NULL);
return;
}
if (!edbus_message_arguments_get(msg, "v", &variant))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "Identity", proxy, &error_info, NULL);
return;
}
if (!edbus_message_iter_arguments_get(variant, "s", &v))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "Identity", proxy, &error_info, NULL);
return;
}
cb(user_data, pending, "Identity", proxy, NULL, v);
}
EDBus_Pending *
mpris_media_player2_identity_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_String_Get_Cb cb, const void *data)
{
EDBus_Pending *p;
EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
p = edbus_proxy_property_get(proxy, "Identity", cb_mpris_media_player2_identity, cb);
if (data)
edbus_pending_data_set(p, "__user_data", data);
edbus_pending_data_set(p, "__proxy", proxy);
return p;
}
static void
cb_mpris_media_player2_supported_mime_types(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
{
void *user_data = edbus_pending_data_del(pending, "__user_data");
const char *error, *error_msg;
EDBus_Codegen_Property_Complex_Get_Cb cb = data;
EDBus_Proxy *proxy = edbus_pending_data_del(pending, "__proxy");
EDBus_Message_Iter *variant;
Eina_Value *v, stack_value;
if (edbus_message_error_get(msg, &error, &error_msg))
{
EDBus_Error_Info error_info = {error, error_msg};
cb(user_data, pending, "SupportedMimeTypes", proxy, &error_info, NULL);
return;
}
if (!edbus_message_arguments_get(msg, "v", &variant))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "SupportedMimeTypes", proxy, &error_info, NULL);
return;
}
v = edbus_message_iter_struct_like_to_eina_value(variant);
eina_value_struct_value_get(v, "arg0", &stack_value);
cb(user_data, pending, "SupportedMimeTypes", proxy, NULL, &stack_value);
eina_value_flush(&stack_value);
eina_value_free(v);
}
EDBus_Pending *
mpris_media_player2_supported_mime_types_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Complex_Get_Cb cb, const void *data)
{
EDBus_Pending *p;
EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
p = edbus_proxy_property_get(proxy, "SupportedMimeTypes", cb_mpris_media_player2_supported_mime_types, cb);
if (data)
edbus_pending_data_set(p, "__user_data", data);
edbus_pending_data_set(p, "__proxy", proxy);
return p;
}
static void
cb_mpris_media_player2_supported_uri_schemes(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
{
void *user_data = edbus_pending_data_del(pending, "__user_data");
const char *error, *error_msg;
EDBus_Codegen_Property_Complex_Get_Cb cb = data;
EDBus_Proxy *proxy = edbus_pending_data_del(pending, "__proxy");
EDBus_Message_Iter *variant;
Eina_Value *v, stack_value;
if (edbus_message_error_get(msg, &error, &error_msg))
{
EDBus_Error_Info error_info = {error, error_msg};
cb(user_data, pending, "SupportedUriSchemes", proxy, &error_info, NULL);
return;
}
if (!edbus_message_arguments_get(msg, "v", &variant))
{
EDBus_Error_Info error_info = {"", ""};
cb(user_data, pending, "SupportedUriSchemes", proxy, &error_info, NULL);
return;
}
v = edbus_message_iter_struct_like_to_eina_value(variant);
eina_value_struct_value_get(v, "arg0", &stack_value);
cb(user_data, pending, "SupportedUriSchemes", proxy, NULL, &stack_value);
eina_value_flush(&stack_value);
eina_value_free(v);
}
EDBus_Pending *
mpris_media_player2_supported_uri_schemes_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Complex_Get_Cb cb, const void *data)
{
EDBus_Pending *p;
EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
p = edbus_proxy_property_get(proxy, "SupportedUriSchemes", cb_mpris_media_player2_supported_uri_schemes, cb);
if (data)
edbus_pending_data_set(p, "__user_data", data);
edbus_pending_data_set(p, "__proxy", proxy);
return p;
}
void
mpris_media_player2_log_domain_set(int id)
{
_log_main = id;
}
void
mpris_media_player2_proxy_unref(EDBus_Proxy *proxy)
{
EDBus_Object *obj = edbus_proxy_object_get(proxy);
edbus_proxy_unref(proxy);
edbus_object_unref(obj);
}
EDBus_Proxy *
mpris_media_player2_proxy_get(EDBus_Connection *conn, const char *bus, const char *path)
{
EDBus_Object *obj;
EDBus_Proxy *proxy;
EINA_SAFETY_ON_NULL_RETURN_VAL(conn, NULL);
EINA_SAFETY_ON_NULL_RETURN_VAL(bus, NULL);
if (!path) path = "/org/mpris/MediaPlayer2";
obj = edbus_object_get(conn, bus, path);
proxy = edbus_proxy_get(obj, "org.mpris.MediaPlayer2");
return proxy;
}

View File

@ -0,0 +1,22 @@
#ifndef EDBUS_MPRIS_MEDIA_PLAYER2_H
#define EDBUS_MPRIS_MEDIA_PLAYER2_H
#include <Eina.h>
#include <Ecore.h>
#include <EDBus.h>
#include "edbus_utils.h"
EDBus_Proxy *mpris_media_player2_proxy_get(EDBus_Connection *conn, const char *bus, const char *path);
void mpris_media_player2_proxy_unref(EDBus_Proxy *proxy);
void mpris_media_player2_log_domain_set(int id);
void mpris_media_player2_quit_call(EDBus_Proxy *proxy);
void mpris_media_player2_raise_call(EDBus_Proxy *proxy);
EDBus_Pending *mpris_media_player2_can_quit_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Bool_Get_Cb cb, const void *data);
EDBus_Pending *mpris_media_player2_can_raise_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Bool_Get_Cb cb, const void *data);
EDBus_Pending *mpris_media_player2_desktop_entry_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_String_Get_Cb cb, const void *data);
EDBus_Pending *mpris_media_player2_has_track_list_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Bool_Get_Cb cb, const void *data);
EDBus_Pending *mpris_media_player2_identity_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_String_Get_Cb cb, const void *data);
EDBus_Pending *mpris_media_player2_supported_mime_types_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Complex_Get_Cb cb, const void *data);
EDBus_Pending *mpris_media_player2_supported_uri_schemes_propget(EDBus_Proxy *proxy, EDBus_Codegen_Property_Complex_Get_Cb cb, const void *data);
#endif

View File

@ -0,0 +1,24 @@
#ifndef EDBUS_UTILS_H
#define EDBUS_UTILS_H 1
typedef struct _EDBus_Error_Info
{
const char *error;
const char *message;
} EDBus_Error_Info;
typedef void (*EDBus_Codegen_Property_Set_Cb)(void *data, const char *propname, EDBus_Proxy *proxy, EDBus_Pending *p, EDBus_Error_Info *error_info);
typedef void (*EDBus_Codegen_Property_String_Get_Cb)(void *data, EDBus_Pending *p, const char *propname, EDBus_Proxy *proxy, EDBus_Error_Info *error_info, const char *value);
typedef void (*EDBus_Codegen_Property_Int32_Get_Cb)(void *data, EDBus_Pending *p, const char *propname, EDBus_Proxy *proxy, EDBus_Error_Info *error_info, int value);
typedef void (*EDBus_Codegen_Property_Byte_Get_Cb)(void *data, EDBus_Pending *p, const char *propname, EDBus_Proxy *proxy, EDBus_Error_Info *error_info, unsigned char value);
typedef void (*EDBus_Codegen_Property_Bool_Get_Cb)(void *data, EDBus_Pending *p, const char *propname, EDBus_Proxy *proxy, EDBus_Error_Info *error_info, Eina_Bool value);
typedef void (*EDBus_Codegen_Property_Int16_Get_Cb)(void *data, EDBus_Pending *p, const char *propname, EDBus_Proxy *proxy, EDBus_Error_Info *error_info, short int value);
typedef void (*EDBus_Codegen_Property_Uint16_Get_Cb)(void *data, EDBus_Pending *p, const char *propname, EDBus_Proxy *proxy, EDBus_Error_Info *error_info, unsigned short int value);
typedef void (*EDBus_Codegen_Property_Uint32_Get_Cb)(void *data, EDBus_Pending *p, const char *propname, EDBus_Proxy *proxy, EDBus_Error_Info *error_info, unsigned int value);
typedef void (*EDBus_Codegen_Property_Double_Get_Cb)(void *data, EDBus_Pending *p, const char *propname, EDBus_Proxy *proxy, EDBus_Error_Info *error_info, double value);
typedef void (*EDBus_Codegen_Property_Int64_Get_Cb)(void *data, EDBus_Pending *p, const char *propname, EDBus_Proxy *proxy, EDBus_Error_Info *error_info, int64_t value);
typedef void (*EDBus_Codegen_Property_Uint64_Get_Cb)(void *data, EDBus_Pending *p, const char *propname, EDBus_Proxy *proxy, EDBus_Error_Info *error_info, uint64_t value);
typedef void (*EDBus_Codegen_Property_Complex_Get_Cb)(void *data, EDBus_Pending *p, const char *propname, EDBus_Proxy *proxy, EDBus_Error_Info *error_info, Eina_Value *value);
#endif

View File

@ -0,0 +1,96 @@
<?xml version="1.0" encoding="UTF-8"?>
<node name="/org/mpris/MediaPlayer2">
<interface name="org.freedesktop.DBus.Introspectable">
<method name="Introspect">
<arg type="s" direction="out" />
</method>
</interface>
<interface name="org.freedesktop.DBus.Properties">
<method name="Get">
<arg type="s" direction="in" />
<arg type="s" direction="in" />
<arg type="v" direction="out" />
</method>
<method name="GetAll">
<arg type="s" direction="in" />
<arg type="a{sv}" direction="out" />
</method>
<method name="Set">
<arg type="s" direction="in" />
<arg type="s" direction="in" />
<arg type="v" direction="in" />
</method>
<signal name="PropertiesChanged">
<arg type="s" />
<arg type="a{sv}" />
<arg type="as" />
</signal>
</interface>
<interface name="org.mpris.MediaPlayer2">
<method name="Quit">
<annotation name="org.freedesktop.DBus.Method.NoReply" value="true" />
</method>
<method name="Raise">
<annotation name="org.freedesktop.DBus.Method.NoReply" value="true" />
</method>
<property name="CanQuit" type="b" access="read" />
<property name="CanRaise" type="b" access="read" />
<property name="DesktopEntry" type="s" access="read" />
<property name="HasTrackList" type="b" access="read" />
<property name="Identity" type="s" access="read" />
<property name="SupportedMimeTypes" type="as" access="read" />
<property name="SupportedUriSchemes" type="as" access="read" />
</interface>
<interface name="org.mpris.MediaPlayer2.Player">
<method name="Next">
<annotation name="org.freedesktop.DBus.Method.NoReply" value="true" />
</method>
<method name="OpenUri">
<arg type="s" direction="in" />
<annotation name="org.freedesktop.DBus.Method.NoReply" value="true" />
</method>
<method name="Pause">
<annotation name="org.freedesktop.DBus.Method.NoReply" value="true" />
</method>
<method name="Play">
<annotation name="org.freedesktop.DBus.Method.NoReply" value="true" />
</method>
<method name="PlayPause">
<annotation name="org.freedesktop.DBus.Method.NoReply" value="true" />
</method>
<method name="Previous">
<annotation name="org.freedesktop.DBus.Method.NoReply" value="true" />
</method>
<method name="Seek">
<arg type="x" direction="in" />
<annotation name="org.freedesktop.DBus.Method.NoReply" value="true" />
</method>
<method name="SetPosition">
<arg type="o" direction="in" />
<arg type="x" direction="in" />
<annotation name="org.freedesktop.DBus.Method.NoReply" value="true" />
</method>
<method name="Stop">
<annotation name="org.freedesktop.DBus.Method.NoReply" value="true" />
</method>
<signal name="Seeked">
<arg type="x" />
</signal>
<property name="CanControl" type="b" access="read" />
<property name="CanGoNext" type="b" access="read" />
<property name="CanGoPrevious" type="b" access="read" />
<property name="CanPause" type="b" access="read" />
<property name="CanPlay" type="b" access="read" />
<property name="CanSeek" type="b" access="read" />
<property name="LoopStatus" type="s" access="readwrite" />
<property name="MaximumRate" type="d" access="read" />
<property name="Metadata" type="a{sv}" access="read" />
<property name="MinimumRate" type="d" access="read" />
<property name="PlaybackStatus" type="s" access="read" />
<property name="Position" type="x" access="read" />
<property name="Rate" type="d" access="readwrite" />
<property name="Shuffle" type="b" access="readwrite" />
<property name="Volume" type="d" access="readwrite" />
</interface>
</node>