本文整理汇总了C++中dbus_message_is_method_call函数的典型用法代码示例。如果您正苦于以下问题:C++ dbus_message_is_method_call函数的具体用法?C++ dbus_message_is_method_call怎么用?C++ dbus_message_is_method_call使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了dbus_message_is_method_call函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: gkd_dbus_introspect_handle
DBusMessage *
gkd_dbus_introspect_handle (DBusMessage *message,
const gchar *data,
const gchar **children)
{
DBusMessage *reply;
GString *output = NULL;
gchar *nodes;
g_return_val_if_fail (message, NULL);
g_return_val_if_fail (data, NULL);
if (dbus_message_is_method_call (message, DBUS_INTERFACE_INTROSPECTABLE, "Introspect") &&
dbus_message_get_args (message, NULL, DBUS_TYPE_INVALID)) {
if (children != NULL) {
output = g_string_new (data);
nodes = build_child_node_xml (dbus_message_get_path (message), children);
if (!string_replace (output, "<[email protected]@-->", nodes))
g_warning ("introspection data contained no location for child nodes");
g_free (nodes);
data = output->str;
}
reply = dbus_message_new_method_return (message);
if (!dbus_message_append_args (reply, DBUS_TYPE_STRING, &data, DBUS_TYPE_INVALID))
g_return_val_if_reached (NULL);
if (output)
g_string_free (output, TRUE);
return reply;
}
return NULL;
}
开发者ID:rbeasley,项目名称:gnome-keyring,代码行数:35,代码来源:gkd-dbus-util.c
示例2: no_bus_server_filter
static DBusHandlerResult
no_bus_server_filter (DBusConnection *connection,
DBusMessage *message,
void *user_data)
{
ServerData *sd = user_data;
if (dbus_message_is_signal (message,
DBUS_INTERFACE_LOCAL,
"Disconnected"))
{
g_printerr ("Client disconnected from server\n");
sd->n_clients -= 1;
if (sd->n_clients == 0)
g_main_loop_quit (sd->loop);
}
else if (dbus_message_is_method_call (message,
ECHO_INTERFACE,
ECHO_PING_METHOD))
{
sd->handled += 1;
send_echo_method_return (connection, message);
return DBUS_HANDLER_RESULT_HANDLED;
}
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
开发者ID:freedesktop-unofficial-mirror,项目名称:dbus__dbus-qt3,代码行数:27,代码来源:test-profile.c
示例3: handle_player
DBusHandlerResult
handle_player ( DBusConnection *p_conn, DBusMessage *p_from, void *p_this )
{
if( dbus_message_is_method_call( p_from,
DBUS_INTERFACE_INTROSPECTABLE, "Introspect" ) )
return handle_introspect_player( p_conn, p_from, p_this );
/* here D-Bus method names are associated to an handler */
METHOD_FUNC( DBUS_MPRIS_PLAYER_INTERFACE, "Prev", Prev );
METHOD_FUNC( DBUS_MPRIS_PLAYER_INTERFACE, "Next", Next );
METHOD_FUNC( DBUS_MPRIS_PLAYER_INTERFACE, "Stop", Stop );
METHOD_FUNC( DBUS_MPRIS_PLAYER_INTERFACE, "Play", Play );
METHOD_FUNC( DBUS_MPRIS_PLAYER_INTERFACE, "Pause", Pause );
METHOD_FUNC( DBUS_MPRIS_PLAYER_INTERFACE, "Repeat", Repeat );
METHOD_FUNC( DBUS_MPRIS_PLAYER_INTERFACE, "VolumeSet", VolumeSet );
METHOD_FUNC( DBUS_MPRIS_PLAYER_INTERFACE, "VolumeGet", VolumeGet );
METHOD_FUNC( DBUS_MPRIS_PLAYER_INTERFACE, "PositionSet", PositionSet );
METHOD_FUNC( DBUS_MPRIS_PLAYER_INTERFACE, "PositionGet", PositionGet );
METHOD_FUNC( DBUS_MPRIS_PLAYER_INTERFACE, "GetStatus", GetStatus );
METHOD_FUNC( DBUS_MPRIS_PLAYER_INTERFACE, "GetMetadata", GetCurrentMetadata );
METHOD_FUNC( DBUS_MPRIS_PLAYER_INTERFACE, "GetCaps", GetCaps );
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
开发者ID:banketree,项目名称:faplayer,代码行数:25,代码来源:dbus_player.c
示例4: listen
/**
* Server that exposes a method call and waits for it to be called
*/
void listen()
{
DBusMessage* msg;
DBusMessage* reply;
DBusMessageIter args;
DBusConnection* conn;
DBusError err;
int ret;
char* param;
printf("Listening for method calls\n");
// initialise the error
dbus_error_init(&err);
// connect to the bus and check for errors
conn = dbus_bus_get(DBUS_BUS_SYSTEM, &err);
if (dbus_error_is_set(&err)) {
fprintf(stderr, "Connection Error (%s)\n", err.message);
dbus_error_free(&err);
}
if (NULL == conn) {
fprintf(stderr, "Connection Null\n");
exit(1);
}
// request our name on the bus and check for errors
ret = dbus_bus_request_name(conn, "task.method.server", DBUS_NAME_FLAG_REPLACE_EXISTING , &err);
if (dbus_error_is_set(&err)) {
fprintf(stderr, "Name Error (%s)\n", err.message);
dbus_error_free(&err);
}
if (DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER != ret) {
fprintf(stderr, "Not Primary Owner (%d)\n", ret);
exit(1);
}
// loop, testing for new messages
while (true) {
// non blocking read of the next available message
dbus_connection_read_write(conn, 0);
msg = dbus_connection_pop_message(conn);
// loop again if we haven't got a message
if (NULL == msg) {
sleep(1);
continue;
}
printf("hmm\n");
// check this is a method call for the right interface & method
if (dbus_message_is_method_call(msg, "task.method.Type", "Method"))
reply_to_method_call(msg, conn);
// free the message
dbus_message_unref(msg);
}
// close the connection
dbus_connection_close(conn);
}
开发者ID:nirmoy,项目名称:dbus-task,代码行数:63,代码来源:test.c
示例5: client_dbus_filter_function
static DBusHandlerResult
client_dbus_filter_function (DBusConnection *connection,
DBusMessage *message,
void *user_data)
{
GsmDBusClient *client = GSM_DBUS_CLIENT (user_data);
const char *path;
g_return_val_if_fail (connection != NULL, DBUS_HANDLER_RESULT_NOT_YET_HANDLED);
g_return_val_if_fail (message != NULL, DBUS_HANDLER_RESULT_NOT_YET_HANDLED);
path = dbus_message_get_path (message);
g_debug ("GsmDBusClient: obj_path=%s interface=%s method=%s",
dbus_message_get_path (message),
dbus_message_get_interface (message),
dbus_message_get_member (message));
if (dbus_message_is_method_call (message, SM_DBUS_CLIENT_PRIVATE_INTERFACE, "EndSessionResponse")) {
g_assert (gsm_client_peek_id (GSM_CLIENT (client)) != NULL);
if (path != NULL && strcmp (path, gsm_client_peek_id (GSM_CLIENT (client))) != 0) {
/* Different object path */
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
handle_end_session_response (client, message);
return DBUS_HANDLER_RESULT_HANDLED;
}
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
开发者ID:tapiralec,项目名称:gnome-session,代码行数:31,代码来源:gsm-dbus-client.c
示例6: gkd_dbus_introspect_handle
DBusMessage*
gkd_dbus_introspect_handle (DBusMessage *message, const gchar *type)
{
GError *error = NULL;
DBusMessage *reply;
gchar *filename;
gchar *data;
g_return_val_if_fail (message, NULL);
g_return_val_if_fail (type, NULL);
if (dbus_message_is_method_call (message, DBUS_INTERFACE_INTROSPECTABLE, "Introspect") &&
dbus_message_get_args (message, NULL, DBUS_TYPE_INVALID)) {
filename = g_strconcat (INTROSPECTDIR, G_DIR_SEPARATOR_S, "introspect-", type, ".xml", NULL);
g_file_get_contents (filename, &data, NULL, &error);
g_free (filename);
if (error != NULL) {
g_warning ("couldn't load introspect data file: %s: %s",
filename, egg_error_message (error));
g_clear_error (&error);
return NULL;
}
reply = dbus_message_new_method_return (message);
if (!dbus_message_append_args (reply, DBUS_TYPE_STRING, &data, DBUS_TYPE_INVALID))
g_return_val_if_reached (NULL);
g_free (data);
return reply;
}
return NULL;
}
开发者ID:TheCoffeMaker,项目名称:Mate-Desktop-Environment,代码行数:34,代码来源:gkd-dbus-util.c
示例7: generic_message
static DBusHandlerResult generic_message(DBusConnection *connection,
DBusMessage *message, void *user_data)
{
struct generic_data *data = user_data;
struct interface_data *iface;
const GDBusMethodTable *method;
const char *interface;
interface = dbus_message_get_interface(message);
iface = find_interface(data->interfaces, interface);
if (iface == NULL)
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
for (method = iface->methods; method &&
method->name && method->function; method++) {
if (dbus_message_is_method_call(message, iface->name,
method->name) == FALSE)
continue;
if (dbus_message_has_signature(message,
method->signature) == FALSE)
continue;
if (check_privilege(connection, message, method,
iface->user_data) == TRUE)
return DBUS_HANDLER_RESULT_HANDLED;
return process_message(connection, message, method,
iface->user_data);
}
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
开发者ID:593141477,项目名称:bluez-rda,代码行数:34,代码来源:object.c
示例8: bsd_dbus_message_handler
static DBusHandlerResult bsd_dbus_message_handler (DBusConnection *connection, DBusMessage *message, void *user_data){
DBusMessage *reply = NULL;
if(message == NULL)
return DBUS_HANDLER_RESULT_HANDLED;
if (strcmp(dbus_message_get_path(message),BSD_DBUS_OBJPATH) == 0) {
if (dbus_message_is_method_call(message,BSD_DBUS_INTERFACE,BSD_COPY_FILES_BETEWEEN_BORADS)) {
reply = bsd_copy_files_between_boards(connection,message,user_data);
}
else if (dbus_message_is_method_call(message,BSD_DBUS_INTERFACE,BSD_SYNCHRONIZE_FILES_TO_OTHER_BOARDS)) {
reply = bsd_synchronize_files(connection,message,user_data);
}
else if (dbus_message_is_method_call(message,BSD_DBUS_INTERFACE,BSD_SYNCHRONIZE_FILES_TO_OTHER_BOARDS_V2)) {
reply = bsd_synchronize_files_v2(connection,message,user_data);
}
else if (dbus_message_is_method_call(message,BSD_DBUS_INTERFACE,BSD_GET_ALIVE_SLOT_IDS)) {
reply = bsd_get_alive_slot_ids(connection,message,user_data);
}
else if (dbus_message_is_method_call(message,BSD_DBUS_INTERFACE,BSD_SET_BSD_DAEMONLOG_LEVEL)) {
reply = bsd_set_daemonlog_level(connection,message,user_data);
}
else if (dbus_message_is_method_call(message,BSD_DBUS_INTERFACE,BSD_COPY_FILES_BETEWEEN_DEVICES)) {
reply = bsd_copy_files_between_devices(connection,message,user_data);
}
else if (dbus_message_is_method_call(message,BSD_DBUS_INTERFACE,BSD_CHECK_DETINATION_BOARD_INFORMATION)) {
reply = bsd_check_destination_board(connection,message,user_data);
}
else if (dbus_message_is_method_call(message,BSD_DBUS_INTERFACE,BSD_CHECK_DETINATION_DEVICE_INFORMATION)) {
reply = bsd_check_destination_device(connection,message,user_data);
}
else if (dbus_message_is_method_call(message,BSD_DBUS_INTERFACE,BSD_CLOSE_TCP_SOCKET)) {
reply = bsd_close_tcp_socket(connection,message,user_data);
}
if (dbus_message_is_method_call(message,BSD_DBUS_INTERFACE,BSD_COPY_FILES_BETEWEEN_BORADS_V2)) {
reply = bsd_copy_files_between_boards_v2(connection,message,user_data);
}
}
if (reply) {
dbus_connection_send (connection, reply, NULL);
dbus_connection_flush(connection);
dbus_message_unref (reply);
}
return DBUS_HANDLER_RESULT_HANDLED ;
}
开发者ID:inibir,项目名称:daemongroup,代码行数:47,代码来源:bsd_dbus.c
示例9: message_handler
DBusHandlerResult message_handler(DBusConnection *connection,
DBusMessage *message,
void *user_data)
{
char *method = (char *)dbus_message_get_member(message);
DBusMessage *reply = NULL;
if (dbus_message_is_method_call(message, DBUS_INTERFACE_INTROSPECTABLE, "Introspect"))
{
/* string length: "%s" provides space for termination zero */
if (!introspection_xml &&
(introspection_xml = whine_malloc(strlen(introspection_xml_template) + strlen(daemon->dbus_name))))
sprintf(introspection_xml, introspection_xml_template, daemon->dbus_name);
if (introspection_xml)
{
reply = dbus_message_new_method_return(message);
dbus_message_append_args(reply, DBUS_TYPE_STRING, &introspection_xml, DBUS_TYPE_INVALID);
}
}
else if (strcmp(method, "GetVersion") == 0)
{
char *v = VERSION;
reply = dbus_message_new_method_return(message);
dbus_message_append_args(reply, DBUS_TYPE_STRING, &v, DBUS_TYPE_INVALID);
}
else if (strcmp(method, "SetServers") == 0)
{
my_syslog(LOG_INFO, _("setting upstream servers from DBus"));
dbus_read_servers(message);
check_servers();
}
else if (strcmp(method, "SetServersEx") == 0)
{
my_syslog(LOG_INFO, _("setting upstream servers from DBus"));
reply = dbus_read_servers_ex(message);
check_servers();
}
else if (strcmp(method, "ClearCache") == 0)
clear_cache_and_reload(dnsmasq_time());
else
return (DBUS_HANDLER_RESULT_NOT_YET_HANDLED);
method = user_data; /* no warning */
/* If no reply or no error, return nothing */
if (!reply)
reply = dbus_message_new_method_return(message);
if (reply)
{
dbus_connection_send (connection, reply, NULL);
dbus_message_unref (reply);
}
return (DBUS_HANDLER_RESULT_HANDLED);
}
开发者ID:StephenMacras,项目名称:dsl-n55u-bender,代码行数:58,代码来源:dbus.c
示例10: ibus_message_is_method_call
gboolean
ibus_message_is_method_call (IBusMessage *message,
const gchar *interface,
const gchar *method)
{
return dbus_message_is_method_call (message,
interface,
method);
}
开发者ID:definite,项目名称:ibus,代码行数:9,代码来源:ibusmessage.c
示例11: avahi_dbus_msg_domain_browser_impl
DBusHandlerResult avahi_dbus_msg_domain_browser_impl(DBusConnection *c, DBusMessage *m, void *userdata) {
DBusError error;
DomainBrowserInfo *i = userdata;
assert(c);
assert(m);
assert(i);
dbus_error_init(&error);
avahi_log_debug(__FILE__": interface=%s, path=%s, member=%s",
dbus_message_get_interface(m),
dbus_message_get_path(m),
dbus_message_get_member(m));
/* Introspection */
if (dbus_message_is_method_call(m, DBUS_INTERFACE_INTROSPECTABLE, "Introspect"))
return avahi_dbus_handle_introspect(c, m, "DomainBrowser.introspect");
/* Access control */
if (strcmp(dbus_message_get_sender(m), i->client->name))
return avahi_dbus_respond_error(c, m, AVAHI_ERR_ACCESS_DENIED, NULL);
if (dbus_message_is_method_call(m, AVAHI_DBUS_INTERFACE_DOMAIN_BROWSER, "Free")) {
if (!dbus_message_get_args(m, &error, DBUS_TYPE_INVALID)) {
avahi_log_warn("Error parsing DomainBrowser::Free message");
goto fail;
}
avahi_dbus_domain_browser_free(i);
return avahi_dbus_respond_ok(c, m);
}
avahi_log_warn("Missed message %s::%s()", dbus_message_get_interface(m), dbus_message_get_member(m));
fail:
if (dbus_error_is_set(&error))
dbus_error_free(&error);
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
开发者ID:miettal,项目名称:armadillo420_standard,代码行数:43,代码来源:dbus-domain-browser.c
示例12: path_message_func
static DBusHandlerResult
path_message_func (DBusConnection *connection,
DBusMessage *message,
void *user_data)
{
if (dbus_message_is_method_call (message,
"org.freedesktop.TestSuite",
"Echo"))
return handle_echo (connection, message);
else if (dbus_message_is_method_call (message,
"org.freedesktop.TestSuite",
"Exit"))
{
quit ();
return DBUS_HANDLER_RESULT_HANDLED;
}
else
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
开发者ID:0omega,项目名称:platform_external_dbus,代码行数:19,代码来源:test-shell-service.c
示例13: handle_messages
/**
* Returns -1 upon error, 0 when there are no more messages
*/
static int handle_messages(void)
{
DBusMessage *message;
if (!dbus_connection_read_write(connection, 250)) {
fprintf(stderr, "FAIL: Connecion is closed\n");
return -1;
}
for (;;) {
message = dbus_connection_pop_message(connection);
if (message == NULL)
return 0;
log_message(log_fd, "received ", message);
if (dbus_message_is_signal(message, interface, "Signal")) {
dbus_message_unref(message);
continue;
} else
if (dbus_message_is_method_call
(message, interface, "Method")) {
DBusMessage *reply;
reply = dbus_message_new_method_return(message);
dbus_message_unref(message);
log_message(log_fd, "sent ", reply);
dbus_connection_send(connection, reply, NULL);
dbus_connection_flush(connection);
dbus_message_unref(reply);
continue;
} else if (dbus_message_get_type(message) ==
DBUS_MESSAGE_TYPE_METHOD_CALL) {
DBusMessage *reply;
reply =
dbus_message_new_error(message,
DBUS_ERROR_UNKNOWN_METHOD,
NULL);
dbus_message_unref(message);
log_message(log_fd, "sent ", reply);
dbus_connection_send(connection, reply, NULL);
dbus_connection_flush(connection);
dbus_message_unref(reply);
continue;
} else {
dbus_message_unref(message);
continue;
}
}
return 0;
}
开发者ID:abbgrade,项目名称:snappy-testdata,代码行数:58,代码来源:dbus_service.c
示例14: reply
void reply(DBusMessage *msg, DBusConnection *conn) {
DBusMessage *reply;
DBusMessageIter args;
long t_response = -1;
double d_response = -1;
if (dbus_message_is_method_call(msg, DBUS_NAMESPACE, "Sunrise")) { t_response = sunrise(msg); }
if (dbus_message_is_method_call(msg, DBUS_NAMESPACE, "Sunset")) { t_response = sunset(msg); }
if (dbus_message_is_method_call(msg, DBUS_NAMESPACE, "Brightness")) { d_response = brightness(msg); }
reply = dbus_message_new_method_return(msg);
dbus_message_iter_init_append(reply, &args);
if (t_response >= 0) { sendT(conn, reply, &args, t_response); }
if (d_response >= 0) { sendD(conn, reply, &args, d_response); }
dbus_connection_flush(conn);
dbus_message_unref(reply);
}
开发者ID:laCour,项目名称:sunrise,代码行数:20,代码来源:main.cpp
示例15: dbus_reg_filter
static DBusHandlerResult
dbus_reg_filter (DBusConnection * connection, DBusMessage * message, void * user_data)
{
if (dbus_message_is_method_call(message, NOTIFICATION_WATCHER_DBUS_ADDR, "RegisterStatusNotifierItem")) {
DBusMessage * reply = dbus_message_new_method_return(message);
dbus_connection_send(connection, reply, NULL);
dbus_message_unref(reply);
return DBUS_HANDLER_RESULT_HANDLED;
}
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
开发者ID:ArcticaProject,项目名称:libayatana-appindicator,代码行数:12,代码来源:test-libappindicator-status-client.c
示例16: dbus_status_item_filter
DBusHandlerResult dbus_status_item_filter(DBusConnection *connection,DBusMessage * msg,void */* data*/){
// DEBUG_DBUS_MESSAGE(msg);
DBusMessage * reply;
DBusMessageIter iter;
DBusMessageIter dict;
//DBusMessageIter dictentry;
FXuint serial;
if (dbus_message_has_path(msg,APPLICATION_STATUS_ITEM_PATH)){
DEBUG_DBUS_MESSAGE(msg);
if (dbus_message_has_interface(msg,APPLICATION_STATUS_ITEM_INTERFACE)) {
if (dbus_message_is_method_call(msg,APPLICATION_STATUS_ITEM_INTERFACE,"Activate")){
GMPlayerManager::instance()->cmd_toggle_shown();
return gm_dbus_reply_if_needed(connection,msg);
}
else if (dbus_message_is_method_call(msg,APPLICATION_STATUS_ITEM_INTERFACE,"Scroll")){
FXint delta;
const FXchar * orientation;
if (dbus_message_get_args(msg,NULL,DBUS_TYPE_INT32,&delta,DBUS_TYPE_STRING,&orientation,DBUS_TYPE_INVALID)) {
//FIXME
FXint level = GMPlayerManager::instance()->volume();
level+=(delta/120);
GMPlayerManager::instance()->volume(level);
}
return gm_dbus_reply_if_needed(connection,msg);
}
}
else if (dbus_message_has_interface(msg,DBUS_INTERFACE_INTROSPECTABLE)) {
if (dbus_message_is_method_call(msg,DBUS_INTERFACE_INTROSPECTABLE,"Introspect")){
return gm_dbus_reply_string(connection,msg,appstatus_xml);
}
}
else if (dbus_message_has_interface(msg,DBUS_INTERFACE_PROPERTIES)) {
if (dbus_message_is_method_call(msg,DBUS_INTERFACE_PROPERTIES,"Get")){
GM_DEBUG_PRINT("get\n");
}
else if (dbus_message_is_method_call(msg,DBUS_INTERFACE_PROPERTIES,"GetAll")){
if ((reply=dbus_message_new_method_return(msg))!=NULL) {
dbus_message_iter_init_append(reply,&iter);
dbus_message_iter_open_container(&iter,DBUS_TYPE_ARRAY,"{sv}",&dict);
gm_dbus_dict_append_path(&dict,"Menu",APPLICATION_STATUS_ITEM_MENU_PATH);
gm_dbus_dict_append_string(&dict,"Category","ApplicationStatus");
gm_dbus_dict_append_string(&dict,"Id","gogglesmm");
gm_dbus_dict_append_string(&dict,"IconName","gogglesmm");
gm_dbus_dict_append_string(&dict,"Status","Active");
gm_dbus_dict_append_uint32(&dict,"WindowId",GMPlayerManager::instance()->getMainWindowId());
gm_add_tooltip(&dict);
dbus_message_iter_close_container(&iter,&dict);
dbus_connection_send(connection,reply,&serial);
dbus_message_unref(reply);
}
return DBUS_HANDLER_RESULT_HANDLED;
}
else if (dbus_message_is_method_call(msg,DBUS_INTERFACE_PROPERTIES,"Set")){
}
}
}
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
开发者ID:sophom,项目名称:gogglesmm,代码行数:60,代码来源:GMAppStatusNotify.cpp
示例17: profile_handler
static DBusHandlerResult profile_handler(DBusConnection *c, DBusMessage *m, void *userdata) {
pa_bluetooth_backend *b = userdata;
DBusMessage *r = NULL;
const char *path, *interface, *member;
pa_assert(b);
path = dbus_message_get_path(m);
interface = dbus_message_get_interface(m);
member = dbus_message_get_member(m);
pa_log_debug("dbus: path=%s, interface=%s, member=%s", path, interface, member);
if (!pa_streq(path, HSP_AG_PROFILE) && !pa_streq(path, HSP_HS_PROFILE))
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
if (dbus_message_is_method_call(m, "org.freedesktop.DBus.Introspectable", "Introspect")) {
const char *xml = PROFILE_INTROSPECT_XML;
pa_assert_se(r = dbus_message_new_method_return(m));
pa_assert_se(dbus_message_append_args(r, DBUS_TYPE_STRING, &xml, DBUS_TYPE_INVALID));
} else if (dbus_message_is_method_call(m, BLUEZ_PROFILE_INTERFACE, "Release")) {
pa_log_debug("Release not handled");
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
} else if (dbus_message_is_method_call(m, BLUEZ_PROFILE_INTERFACE, "RequestDisconnection")) {
r = profile_request_disconnection(c, m, userdata);
} else if (dbus_message_is_method_call(m, BLUEZ_PROFILE_INTERFACE, "NewConnection"))
r = profile_new_connection(c, m, userdata);
else
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
if (r) {
pa_assert_se(dbus_connection_send(pa_dbus_connection_get(b->connection), r, NULL));
dbus_message_unref(r);
}
return DBUS_HANDLER_RESULT_HANDLED;
}
开发者ID:plbossart,项目名称:pulseaudio,代码行数:39,代码来源:backend-native.c
示例18: _handle_message
static DBusHandlerResult
_handle_message (DBusConnection *connection, DBusMessage *message, void *data)
{
ServiceData *svc = (ServiceData *)data;
DBusHandlerResult result;
rb_debug ("handling metadata service message: %s", dbus_message_get_member (message));
if (dbus_message_is_method_call (message, RB_METADATA_DBUS_INTERFACE, "load")) {
result = rb_metadata_dbus_load (connection, message, svc);
} else if (dbus_message_is_method_call (message, RB_METADATA_DBUS_INTERFACE, "getSaveableTypes")) {
result = rb_metadata_dbus_get_saveable_types (connection, message, svc);
} else if (dbus_message_is_method_call (message, RB_METADATA_DBUS_INTERFACE, "save")) {
result = rb_metadata_dbus_save (connection, message, svc);
} else if (dbus_message_is_method_call (message, RB_METADATA_DBUS_INTERFACE, "ping")) {
result = rb_metadata_dbus_ping (connection, message, svc);
} else {
result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
svc->last_active = time (NULL);
return result;
}
开发者ID:AdamZ,项目名称:rhythmbox-magnatune,代码行数:22,代码来源:rb-metadata-dbus-service.c
示例19: wbmd_dbus_message_handler
static DBusHandlerResult wbmd_dbus_message_handler (DBusConnection *connection, DBusMessage *message, void *user_data){
DBusMessage *reply = NULL;
if(message == NULL)
return DBUS_HANDLER_RESULT_HANDLED;
if (strcmp(dbus_message_get_path(message),WBMD_DBUS_OBJPATH) == 0) {
if (dbus_message_is_method_call(message,WBMD_DBUS_INTERFACE,WBMD_DBUS_CONF_METHOD_CREATE_WBRIDGE)) {
reply = wbmd_dbus_interface_create_wbridge(connection,message,user_data);
}
else if (dbus_message_is_method_call(message,WBMD_DBUS_INTERFACE,WBMD_DBUS_CONF_METHOD_SHOW_WBRIDGE_LIST)) {
reply = wbmd_dbus_interface_show_wbridge_list(connection,message,user_data);
}
else if (dbus_message_is_method_call(message,WBMD_DBUS_INTERFACE,WBMD_DBUS_CONF_METHOD_WBRIDGE)) {
reply = wbmd_dbus_interface_wbridge(connection,message,user_data);
}
else if (dbus_message_is_method_call(message,WBMD_DBUS_INTERFACE,WBMD_DBUS_CONF_METHOD_SET_WBRIDGE_SNMP)) {
reply = wbmd_dbus_interface_set_wbridge_snmp(connection,message,user_data);
}
else if (dbus_message_is_method_call(message,WBMD_DBUS_INTERFACE,WBMD_DBUS_CONF_METHOD_SHOW_WBRIDGE_BASIC_INFO)) {
reply = wbmd_dbus_interface_show_wbridge_basic_info(connection,message,user_data);
}
else if (dbus_message_is_method_call(message,WBMD_DBUS_INTERFACE,WBMD_DBUS_CONF_METHOD_SHOW_WBRIDGE_MINT_INFO)) {
reply = wbmd_dbus_interface_show_wbridge_mint_info(connection,message,user_data);
}
else if (dbus_message_is_method_call(message,WBMD_DBUS_INTERFACE,WBMD_DBUS_CONF_METHOD_SHOW_WBRIDGE_RF_INFO)) {
reply = wbmd_dbus_interface_show_wbridge_rf_info(connection,message,user_data);
}
else if (dbus_message_is_method_call(message,WBMD_DBUS_INTERFACE,WBMD_DBUS_CONF_METHOD_SHOW_WBRIDGE_RUNNING_CONFIG)) {
reply = wbmd_dbus_interface_show_running_config(connection,message,user_data);
}
else if (dbus_message_is_method_call(message,WBMD_DBUS_INTERFACE,WBMD_DBUS_CONF_METHOD_DELETE_WBRIDGE)) {
reply = wbmd_dbus_interface_delete_wbridge(connection,message,user_data);
}
}
if (reply) {
dbus_connection_send (connection, reply, NULL);
dbus_connection_flush(connection);
dbus_message_unref (reply);
}
return DBUS_HANDLER_RESULT_HANDLED ;
}
开发者ID:kkcloudy,项目名称:daemongroup,代码行数:44,代码来源:wbmd_dbus.c
示例20: dbus_msg_is_method_call
/*
* Description:
* Re-format Path string for Hansi N + 1
*
* Parameter:
* same to function dbus_message_is_method_call
*
* Return:
* 0: Failed.
* nonzero: Successed, see return value of dbus_message_is_method_call for detail.
*
*/
unsigned int dbus_msg_is_method_call(DBusMessage *msg, unsigned char *dbus_if, unsigned char *path)
{
unsigned char if_path[128] = {0};
unsigned char cmd_path[128] = {0};
if (get_vrid_path(if_path, dbus_if) == NULL || get_vrid_path(cmd_path, path) == NULL)
{
WSMLog(L_ERR, "%s: get_vrid_path failed\n", __func__);
return 0;
}
return dbus_message_is_method_call(msg, if_path, cmd_path);
}
开发者ID:kkcloudy,项目名称:daemongroup,代码行数:25,代码来源:wsm_dbus.c
注:本文中的dbus_message_is_method_call函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论