static DBusMessage * impl_get_localized_name (DBusConnection * bus, DBusMessage * message, void *user_data) { DBusMessage *reply; dbus_int32_t index; const char *name; AtkAction *action = (AtkAction *) user_data; g_return_val_if_fail (ATK_IS_ACTION (user_data), droute_not_yet_handled_error (message)); if (!dbus_message_get_args (message, NULL, DBUS_TYPE_INT32, &index, DBUS_TYPE_INVALID)) { return droute_invalid_arguments_error (message); } name = atk_action_get_localized_name (action, index); if (!name) name = ""; reply = dbus_message_new_method_return (message); if (reply) { dbus_message_append_args (reply, DBUS_TYPE_STRING, &name, DBUS_TYPE_INVALID); } return reply; }
JNIEXPORT jstring JNICALL Java_org_gnome_atk_AtkAction_atk_1action_1get_1localized_1name ( JNIEnv* env, jclass cls, jlong _self, jint _i ) { const gchar* result; jstring _result; AtkAction* self; gint i; // convert parameter self self = (AtkAction*) _self; // convert parameter i i = (gint) _i; // call function result = atk_action_get_localized_name(self, i); // cleanup parameter self // cleanup parameter i // translate return value to JNI type _result = (jstring) bindings_java_newString(env, result); // and finally return _result; }
static DBusMessage * impl_GetActions (DBusConnection * bus, DBusMessage * message, void *user_data) { AtkAction *action = (AtkAction *) user_data; DBusMessage *reply; gint count; gint i; DBusMessageIter iter, iter_array, iter_struct; g_return_val_if_fail (ATK_IS_ACTION (user_data), droute_not_yet_handled_error (message)); count = atk_action_get_n_actions (action); reply = dbus_message_new_method_return (message); if (!reply) goto oom; dbus_message_iter_init_append (reply, &iter); if (!dbus_message_iter_open_container (&iter, DBUS_TYPE_ARRAY, "(sss)", &iter_array)) goto oom; for (i = 0; i < count; i++) { const char *name = atk_action_get_name (action, i); const char *lname = atk_action_get_localized_name (action, i); const char *desc = atk_action_get_description (action, i); const char *kb = atk_action_get_keybinding (action, i); if (!name) name = ""; if (!lname) lname = ""; if (!desc) desc = ""; if (!kb) kb = ""; if (!dbus_message_iter_open_container (&iter_array, DBUS_TYPE_STRUCT, NULL, &iter_struct)) goto oom; dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_STRING, &name); dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_STRING, &lname); dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_STRING, &desc); dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_STRING, &kb); if (!dbus_message_iter_close_container (&iter_array, &iter_struct)) goto oom; } if (!dbus_message_iter_close_container (&iter, &iter_array)) goto oom; return reply; oom: // TODO: handle out-of-memory return reply; }