+++ /dev/null
-/*
- * Generated by tidlc 1.4.9.
- */
-
-
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE
-#endif
-
-#include <pthread.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <libgen.h>
-#include <glib.h>
-#include <dlog.h>
-#include <rpc-port.h>
-#include <rpc-port-parcel.h>
-
-#include "mmifw_proxy.h"
-
-#ifdef LOG_TAG
-#undef LOG_TAG
-#endif
-
-#define LOG_TAG "RPC_PORT_PROXY"
-
-#ifdef _E
-#undef _E
-#endif
-
-#ifdef _W
-#undef _W
-#endif
-
-#ifdef _I
-#undef _I
-#endif
-
-#ifdef _D
-#undef _D
-#endif
-
-#define _E(fmt, ...) dlog_print(DLOG_ERROR, LOG_TAG, "%s: %s(%d) > "fmt, basename(__FILE__), __FUNCTION__, __LINE__, ##__VA_ARGS__)
-#define _W(fmt, ...) dlog_print(DLOG_WARN, LOG_TAG, "%s: %s(%d) > "fmt, basename(__FILE__), __FUNCTION__, __LINE__, ##__VA_ARGS__)
-#define _I(fmt, ...) dlog_print(DLOG_INFO, LOG_TAG, "%s: %s(%d) > "fmt, basename(__FILE__), __FUNCTION__, __LINE__, ##__VA_ARGS__)
-#define _D(fmt, ...) dlog_print(DLOG_DEBUG, LOG_TAG, "%s: %s(%d) > "fmt, basename(__FILE__), __FUNCTION__, __LINE__, ##__VA_ARGS__)
-
-typedef void (*proxy_delegate)(GList **list, rpc_port_parcel_h parcel, int seq_id, int id);
-
-struct focus_event_s {
- rpc_port_parcelable_t parcelable;
- int type;
- int timestamp;
- bool focus_in;
-};
-
-static void __focus_event_to(rpc_port_parcel_h parcel, void *data)
-{
- rpc_port_focus_event_h h = data;
-
- if (!parcel || !h) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_write_int32(parcel, h->type);
- rpc_port_parcel_write_int32(parcel, h->timestamp);
- rpc_port_parcel_write_bool(parcel, h->focus_in);
-}
-
-static void __focus_event_from(rpc_port_parcel_h parcel, void *data)
-{
- rpc_port_focus_event_h h = data;
-
- if (!parcel || !h) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_read_int32(parcel, &h->type);
- rpc_port_parcel_read_int32(parcel, &h->timestamp);
- rpc_port_parcel_read_bool(parcel, &h->focus_in);
-}
-
-int rpc_port_focus_event_create(rpc_port_focus_event_h *h)
-{
- struct focus_event_s *handle;
-
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- handle = calloc(1, sizeof(struct focus_event_s));
- if (!handle) {
- _E("Out of memory");
- return -1;
- }
-
- handle->parcelable.to = __focus_event_to;
- handle->parcelable.from = __focus_event_from;
-
- *h = handle;
-
- return 0;
-}
-
-int rpc_port_focus_event_destroy(rpc_port_focus_event_h h)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- free(h);
-
- return 0;
-}
-
-int rpc_port_focus_event_clone(rpc_port_focus_event_h h, rpc_port_focus_event_h *clone)
-{
- rpc_port_focus_event_h handle = NULL;
-
- if (!h || !clone) {
- _E("Invalid parameter");
- return -1;
- }
-
- rpc_port_focus_event_create(&handle);
- if (!handle) {
- _E("Failed to create focus_event handle");
- return -1;
- }
-
- handle->type = h->type;
- handle->timestamp = h->timestamp;
- handle->focus_in = h->focus_in;
- *clone = handle;
-
- return 0;
-}
-
-int rpc_port_focus_event_set_type(rpc_port_focus_event_h h, int type)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- h->type = type;
- return 0;
-}
-
-int rpc_port_focus_event_set_timestamp(rpc_port_focus_event_h h, int timestamp)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- h->timestamp = timestamp;
- return 0;
-}
-
-int rpc_port_focus_event_set_focus_in(rpc_port_focus_event_h h, bool focus_in)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- h->focus_in = focus_in;
- return 0;
-}
-
-int rpc_port_focus_event_get_type(rpc_port_focus_event_h h, int *type)
-{
- if (!h || !type) {
- _E("Invalid parameter");
- return -1;
- }
-
- *type = h->type;
- return 0;
-}
-
-int rpc_port_focus_event_get_timestamp(rpc_port_focus_event_h h, int *timestamp)
-{
- if (!h || !timestamp) {
- _E("Invalid parameter");
- return -1;
- }
-
- *timestamp = h->timestamp;
- return 0;
-}
-
-int rpc_port_focus_event_get_focus_in(rpc_port_focus_event_h h, bool *focus_in)
-{
- if (!h || !focus_in) {
- _E("Invalid parameter");
- return -1;
- }
-
- *focus_in = h->focus_in;
- return 0;
-}
-
-struct state_change_event_s {
- rpc_port_parcelable_t parcelable;
- int type;
- int timestamp;
- int state;
- int old_state;
-};
-
-static void __state_change_event_to(rpc_port_parcel_h parcel, void *data)
-{
- rpc_port_state_change_event_h h = data;
-
- if (!parcel || !h) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_write_int32(parcel, h->type);
- rpc_port_parcel_write_int32(parcel, h->timestamp);
- rpc_port_parcel_write_int32(parcel, h->state);
- rpc_port_parcel_write_int32(parcel, h->old_state);
-}
-
-static void __state_change_event_from(rpc_port_parcel_h parcel, void *data)
-{
- rpc_port_state_change_event_h h = data;
-
- if (!parcel || !h) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_read_int32(parcel, &h->type);
- rpc_port_parcel_read_int32(parcel, &h->timestamp);
- rpc_port_parcel_read_int32(parcel, &h->state);
- rpc_port_parcel_read_int32(parcel, &h->old_state);
-}
-
-int rpc_port_state_change_event_create(rpc_port_state_change_event_h *h)
-{
- struct state_change_event_s *handle;
-
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- handle = calloc(1, sizeof(struct state_change_event_s));
- if (!handle) {
- _E("Out of memory");
- return -1;
- }
-
- handle->parcelable.to = __state_change_event_to;
- handle->parcelable.from = __state_change_event_from;
-
- *h = handle;
-
- return 0;
-}
-
-int rpc_port_state_change_event_destroy(rpc_port_state_change_event_h h)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- free(h);
-
- return 0;
-}
-
-int rpc_port_state_change_event_clone(rpc_port_state_change_event_h h, rpc_port_state_change_event_h *clone)
-{
- rpc_port_state_change_event_h handle = NULL;
-
- if (!h || !clone) {
- _E("Invalid parameter");
- return -1;
- }
-
- rpc_port_state_change_event_create(&handle);
- if (!handle) {
- _E("Failed to create state_change_event handle");
- return -1;
- }
-
- handle->type = h->type;
- handle->timestamp = h->timestamp;
- handle->state = h->state;
- handle->old_state = h->old_state;
- *clone = handle;
-
- return 0;
-}
-
-int rpc_port_state_change_event_set_type(rpc_port_state_change_event_h h, int type)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- h->type = type;
- return 0;
-}
-
-int rpc_port_state_change_event_set_timestamp(rpc_port_state_change_event_h h, int timestamp)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- h->timestamp = timestamp;
- return 0;
-}
-
-int rpc_port_state_change_event_set_state(rpc_port_state_change_event_h h, int state)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- h->state = state;
- return 0;
-}
-
-int rpc_port_state_change_event_set_old_state(rpc_port_state_change_event_h h, int old_state)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- h->old_state = old_state;
- return 0;
-}
-
-int rpc_port_state_change_event_get_type(rpc_port_state_change_event_h h, int *type)
-{
- if (!h || !type) {
- _E("Invalid parameter");
- return -1;
- }
-
- *type = h->type;
- return 0;
-}
-
-int rpc_port_state_change_event_get_timestamp(rpc_port_state_change_event_h h, int *timestamp)
-{
- if (!h || !timestamp) {
- _E("Invalid parameter");
- return -1;
- }
-
- *timestamp = h->timestamp;
- return 0;
-}
-
-int rpc_port_state_change_event_get_state(rpc_port_state_change_event_h h, int *state)
-{
- if (!h || !state) {
- _E("Invalid parameter");
- return -1;
- }
-
- *state = h->state;
- return 0;
-}
-
-int rpc_port_state_change_event_get_old_state(rpc_port_state_change_event_h h, int *old_state)
-{
- if (!h || !old_state) {
- _E("Invalid parameter");
- return -1;
- }
-
- *old_state = h->old_state;
- return 0;
-}
-
-struct wakeup_event_s {
- rpc_port_parcelable_t parcelable;
- int type;
- int timestamp;
- char *source;
-};
-
-static void __wakeup_event_to(rpc_port_parcel_h parcel, void *data)
-{
- rpc_port_wakeup_event_h h = data;
-
- if (!parcel || !h) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_write_int32(parcel, h->type);
- rpc_port_parcel_write_int32(parcel, h->timestamp);
- rpc_port_parcel_write_string(parcel, h->source ? h->source : "");
-}
-
-static void __wakeup_event_from(rpc_port_parcel_h parcel, void *data)
-{
- rpc_port_wakeup_event_h h = data;
-
- if (!parcel || !h) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_read_int32(parcel, &h->type);
- rpc_port_parcel_read_int32(parcel, &h->timestamp);
- rpc_port_parcel_read_string(parcel, &h->source);
-}
-
-int rpc_port_wakeup_event_create(rpc_port_wakeup_event_h *h)
-{
- struct wakeup_event_s *handle;
-
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- handle = calloc(1, sizeof(struct wakeup_event_s));
- if (!handle) {
- _E("Out of memory");
- return -1;
- }
-
- handle->parcelable.to = __wakeup_event_to;
- handle->parcelable.from = __wakeup_event_from;
-
- *h = handle;
-
- return 0;
-}
-
-int rpc_port_wakeup_event_destroy(rpc_port_wakeup_event_h h)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- if (h->source)
- free(h->source);
-
- free(h);
-
- return 0;
-}
-
-int rpc_port_wakeup_event_clone(rpc_port_wakeup_event_h h, rpc_port_wakeup_event_h *clone)
-{
- rpc_port_wakeup_event_h handle = NULL;
-
- if (!h || !clone) {
- _E("Invalid parameter");
- return -1;
- }
-
- rpc_port_wakeup_event_create(&handle);
- if (!handle) {
- _E("Failed to create wakeup_event handle");
- return -1;
- }
-
- handle->type = h->type;
- handle->timestamp = h->timestamp;
- if (h->source) {
- handle->source = strdup(h->source);
- if (!handle->source) {
- _E("Failed to duplicate h->source");
- rpc_port_wakeup_event_destroy(handle);
- return -1;
- }
- }
-
- *clone = handle;
-
- return 0;
-}
-
-int rpc_port_wakeup_event_set_type(rpc_port_wakeup_event_h h, int type)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- h->type = type;
- return 0;
-}
-
-int rpc_port_wakeup_event_set_timestamp(rpc_port_wakeup_event_h h, int timestamp)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- h->timestamp = timestamp;
- return 0;
-}
-
-int rpc_port_wakeup_event_set_source(rpc_port_wakeup_event_h h, const char *source)
-{
- if (!h || !source) {
- _E("Invalid parameter");
- return -1;
- }
-
- if (h->source) {
- free(h->source);
- h->source = NULL;
- }
-
- h->source = strdup(source);
- if (!h->source) {
- _E("Failed to duplicate data");
- return -1;
- }
-
- return 0;
-}
-
-int rpc_port_wakeup_event_get_type(rpc_port_wakeup_event_h h, int *type)
-{
- if (!h || !type) {
- _E("Invalid parameter");
- return -1;
- }
-
- *type = h->type;
- return 0;
-}
-
-int rpc_port_wakeup_event_get_timestamp(rpc_port_wakeup_event_h h, int *timestamp)
-{
- if (!h || !timestamp) {
- _E("Invalid parameter");
- return -1;
- }
-
- *timestamp = h->timestamp;
- return 0;
-}
-
-int rpc_port_wakeup_event_get_source(rpc_port_wakeup_event_h h, char **source)
-{
- if (!h || !source) {
- _E("Invalid parameter");
- return -1;
- }
-
- if (!h->source) {
- _E("Invalid parameter: h->source is NULL");
- return -1;
- }
-
- *source = strdup(h->source);
- if (*source == NULL) {
- _E("Failed to duplicate source");
- return -1;
- }
-
- return 0;
-}
-
-struct key_event_s {
- rpc_port_parcelable_t parcelable;
- int type;
- int timestamp;
- bool key_down;
- int keycode;
- char *keyname;
- char *source;
-};
-
-static void __key_event_to(rpc_port_parcel_h parcel, void *data)
-{
- rpc_port_key_event_h h = data;
-
- if (!parcel || !h) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_write_int32(parcel, h->type);
- rpc_port_parcel_write_int32(parcel, h->timestamp);
- rpc_port_parcel_write_bool(parcel, h->key_down);
- rpc_port_parcel_write_int32(parcel, h->keycode);
- rpc_port_parcel_write_string(parcel, h->keyname ? h->keyname : "");
- rpc_port_parcel_write_string(parcel, h->source ? h->source : "");
-}
-
-static void __key_event_from(rpc_port_parcel_h parcel, void *data)
-{
- rpc_port_key_event_h h = data;
-
- if (!parcel || !h) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_read_int32(parcel, &h->type);
- rpc_port_parcel_read_int32(parcel, &h->timestamp);
- rpc_port_parcel_read_bool(parcel, &h->key_down);
- rpc_port_parcel_read_int32(parcel, &h->keycode);
- rpc_port_parcel_read_string(parcel, &h->keyname);
- rpc_port_parcel_read_string(parcel, &h->source);
-}
-
-int rpc_port_key_event_create(rpc_port_key_event_h *h)
-{
- struct key_event_s *handle;
-
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- handle = calloc(1, sizeof(struct key_event_s));
- if (!handle) {
- _E("Out of memory");
- return -1;
- }
-
- handle->parcelable.to = __key_event_to;
- handle->parcelable.from = __key_event_from;
-
- *h = handle;
-
- return 0;
-}
-
-int rpc_port_key_event_destroy(rpc_port_key_event_h h)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- if (h->keyname)
- free(h->keyname);
-
- if (h->source)
- free(h->source);
-
- free(h);
-
- return 0;
-}
-
-int rpc_port_key_event_clone(rpc_port_key_event_h h, rpc_port_key_event_h *clone)
-{
- rpc_port_key_event_h handle = NULL;
-
- if (!h || !clone) {
- _E("Invalid parameter");
- return -1;
- }
-
- rpc_port_key_event_create(&handle);
- if (!handle) {
- _E("Failed to create key_event handle");
- return -1;
- }
-
- handle->type = h->type;
- handle->timestamp = h->timestamp;
- handle->key_down = h->key_down;
- handle->keycode = h->keycode;
- if (h->keyname) {
- handle->keyname = strdup(h->keyname);
- if (!handle->keyname) {
- _E("Failed to duplicate h->keyname");
- rpc_port_key_event_destroy(handle);
- return -1;
- }
- }
-
- if (h->source) {
- handle->source = strdup(h->source);
- if (!handle->source) {
- _E("Failed to duplicate h->source");
- rpc_port_key_event_destroy(handle);
- return -1;
- }
- }
-
- *clone = handle;
-
- return 0;
-}
-
-int rpc_port_key_event_set_type(rpc_port_key_event_h h, int type)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- h->type = type;
- return 0;
-}
-
-int rpc_port_key_event_set_timestamp(rpc_port_key_event_h h, int timestamp)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- h->timestamp = timestamp;
- return 0;
-}
-
-int rpc_port_key_event_set_key_down(rpc_port_key_event_h h, bool key_down)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- h->key_down = key_down;
- return 0;
-}
-
-int rpc_port_key_event_set_keycode(rpc_port_key_event_h h, int keycode)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- h->keycode = keycode;
- return 0;
-}
-
-int rpc_port_key_event_set_keyname(rpc_port_key_event_h h, const char *keyname)
-{
- if (!h || !keyname) {
- _E("Invalid parameter");
- return -1;
- }
-
- if (h->keyname) {
- free(h->keyname);
- h->keyname = NULL;
- }
-
- h->keyname = strdup(keyname);
- if (!h->keyname) {
- _E("Failed to duplicate data");
- return -1;
- }
-
- return 0;
-}
-
-int rpc_port_key_event_set_source(rpc_port_key_event_h h, const char *source)
-{
- if (!h || !source) {
- _E("Invalid parameter");
- return -1;
- }
-
- if (h->source) {
- free(h->source);
- h->source = NULL;
- }
-
- h->source = strdup(source);
- if (!h->source) {
- _E("Failed to duplicate data");
- return -1;
- }
-
- return 0;
-}
-
-int rpc_port_key_event_get_type(rpc_port_key_event_h h, int *type)
-{
- if (!h || !type) {
- _E("Invalid parameter");
- return -1;
- }
-
- *type = h->type;
- return 0;
-}
-
-int rpc_port_key_event_get_timestamp(rpc_port_key_event_h h, int *timestamp)
-{
- if (!h || !timestamp) {
- _E("Invalid parameter");
- return -1;
- }
-
- *timestamp = h->timestamp;
- return 0;
-}
-
-int rpc_port_key_event_get_key_down(rpc_port_key_event_h h, bool *key_down)
-{
- if (!h || !key_down) {
- _E("Invalid parameter");
- return -1;
- }
-
- *key_down = h->key_down;
- return 0;
-}
-
-int rpc_port_key_event_get_keycode(rpc_port_key_event_h h, int *keycode)
-{
- if (!h || !keycode) {
- _E("Invalid parameter");
- return -1;
- }
-
- *keycode = h->keycode;
- return 0;
-}
-
-int rpc_port_key_event_get_keyname(rpc_port_key_event_h h, char **keyname)
-{
- if (!h || !keyname) {
- _E("Invalid parameter");
- return -1;
- }
-
- if (!h->keyname) {
- _E("Invalid parameter: h->keyname is NULL");
- return -1;
- }
-
- *keyname = strdup(h->keyname);
- if (*keyname == NULL) {
- _E("Failed to duplicate keyname");
- return -1;
- }
-
- return 0;
-}
-
-int rpc_port_key_event_get_source(rpc_port_key_event_h h, char **source)
-{
- if (!h || !source) {
- _E("Invalid parameter");
- return -1;
- }
-
- if (!h->source) {
- _E("Invalid parameter: h->source is NULL");
- return -1;
- }
-
- *source = strdup(h->source);
- if (*source == NULL) {
- _E("Failed to duplicate source");
- return -1;
- }
-
- return 0;
-}
-
-struct gesture_event_s {
- rpc_port_parcelable_t parcelable;
- int type;
- int timestamp;
- char *source;
-};
-
-static void __gesture_event_to(rpc_port_parcel_h parcel, void *data)
-{
- rpc_port_gesture_event_h h = data;
-
- if (!parcel || !h) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_write_int32(parcel, h->type);
- rpc_port_parcel_write_int32(parcel, h->timestamp);
- rpc_port_parcel_write_string(parcel, h->source ? h->source : "");
-}
-
-static void __gesture_event_from(rpc_port_parcel_h parcel, void *data)
-{
- rpc_port_gesture_event_h h = data;
-
- if (!parcel || !h) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_read_int32(parcel, &h->type);
- rpc_port_parcel_read_int32(parcel, &h->timestamp);
- rpc_port_parcel_read_string(parcel, &h->source);
-}
-
-int rpc_port_gesture_event_create(rpc_port_gesture_event_h *h)
-{
- struct gesture_event_s *handle;
-
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- handle = calloc(1, sizeof(struct gesture_event_s));
- if (!handle) {
- _E("Out of memory");
- return -1;
- }
-
- handle->parcelable.to = __gesture_event_to;
- handle->parcelable.from = __gesture_event_from;
-
- *h = handle;
-
- return 0;
-}
-
-int rpc_port_gesture_event_destroy(rpc_port_gesture_event_h h)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- if (h->source)
- free(h->source);
-
- free(h);
-
- return 0;
-}
-
-int rpc_port_gesture_event_clone(rpc_port_gesture_event_h h, rpc_port_gesture_event_h *clone)
-{
- rpc_port_gesture_event_h handle = NULL;
-
- if (!h || !clone) {
- _E("Invalid parameter");
- return -1;
- }
-
- rpc_port_gesture_event_create(&handle);
- if (!handle) {
- _E("Failed to create gesture_event handle");
- return -1;
- }
-
- handle->type = h->type;
- handle->timestamp = h->timestamp;
- if (h->source) {
- handle->source = strdup(h->source);
- if (!handle->source) {
- _E("Failed to duplicate h->source");
- rpc_port_gesture_event_destroy(handle);
- return -1;
- }
- }
-
- *clone = handle;
-
- return 0;
-}
-
-int rpc_port_gesture_event_set_type(rpc_port_gesture_event_h h, int type)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- h->type = type;
- return 0;
-}
-
-int rpc_port_gesture_event_set_timestamp(rpc_port_gesture_event_h h, int timestamp)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- h->timestamp = timestamp;
- return 0;
-}
-
-int rpc_port_gesture_event_set_source(rpc_port_gesture_event_h h, const char *source)
-{
- if (!h || !source) {
- _E("Invalid parameter");
- return -1;
- }
-
- if (h->source) {
- free(h->source);
- h->source = NULL;
- }
-
- h->source = strdup(source);
- if (!h->source) {
- _E("Failed to duplicate data");
- return -1;
- }
-
- return 0;
-}
-
-int rpc_port_gesture_event_get_type(rpc_port_gesture_event_h h, int *type)
-{
- if (!h || !type) {
- _E("Invalid parameter");
- return -1;
- }
-
- *type = h->type;
- return 0;
-}
-
-int rpc_port_gesture_event_get_timestamp(rpc_port_gesture_event_h h, int *timestamp)
-{
- if (!h || !timestamp) {
- _E("Invalid parameter");
- return -1;
- }
-
- *timestamp = h->timestamp;
- return 0;
-}
-
-int rpc_port_gesture_event_get_source(rpc_port_gesture_event_h h, char **source)
-{
- if (!h || !source) {
- _E("Invalid parameter");
- return -1;
- }
-
- if (!h->source) {
- _E("Invalid parameter: h->source is NULL");
- return -1;
- }
-
- *source = strdup(h->source);
- if (*source == NULL) {
- _E("Failed to duplicate source");
- return -1;
- }
-
- return 0;
-}
-
-struct voice_event_s {
- rpc_port_parcelable_t parcelable;
- int type;
- int timestamp;
- char *source;
-};
-
-static void __voice_event_to(rpc_port_parcel_h parcel, void *data)
-{
- rpc_port_voice_event_h h = data;
-
- if (!parcel || !h) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_write_int32(parcel, h->type);
- rpc_port_parcel_write_int32(parcel, h->timestamp);
- rpc_port_parcel_write_string(parcel, h->source ? h->source : "");
-}
-
-static void __voice_event_from(rpc_port_parcel_h parcel, void *data)
-{
- rpc_port_voice_event_h h = data;
-
- if (!parcel || !h) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_read_int32(parcel, &h->type);
- rpc_port_parcel_read_int32(parcel, &h->timestamp);
- rpc_port_parcel_read_string(parcel, &h->source);
-}
-
-int rpc_port_voice_event_create(rpc_port_voice_event_h *h)
-{
- struct voice_event_s *handle;
-
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- handle = calloc(1, sizeof(struct voice_event_s));
- if (!handle) {
- _E("Out of memory");
- return -1;
- }
-
- handle->parcelable.to = __voice_event_to;
- handle->parcelable.from = __voice_event_from;
-
- *h = handle;
-
- return 0;
-}
-
-int rpc_port_voice_event_destroy(rpc_port_voice_event_h h)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- if (h->source)
- free(h->source);
-
- free(h);
-
- return 0;
-}
-
-int rpc_port_voice_event_clone(rpc_port_voice_event_h h, rpc_port_voice_event_h *clone)
-{
- rpc_port_voice_event_h handle = NULL;
-
- if (!h || !clone) {
- _E("Invalid parameter");
- return -1;
- }
-
- rpc_port_voice_event_create(&handle);
- if (!handle) {
- _E("Failed to create voice_event handle");
- return -1;
- }
-
- handle->type = h->type;
- handle->timestamp = h->timestamp;
- if (h->source) {
- handle->source = strdup(h->source);
- if (!handle->source) {
- _E("Failed to duplicate h->source");
- rpc_port_voice_event_destroy(handle);
- return -1;
- }
- }
-
- *clone = handle;
-
- return 0;
-}
-
-int rpc_port_voice_event_set_type(rpc_port_voice_event_h h, int type)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- h->type = type;
- return 0;
-}
-
-int rpc_port_voice_event_set_timestamp(rpc_port_voice_event_h h, int timestamp)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- h->timestamp = timestamp;
- return 0;
-}
-
-int rpc_port_voice_event_set_source(rpc_port_voice_event_h h, const char *source)
-{
- if (!h || !source) {
- _E("Invalid parameter");
- return -1;
- }
-
- if (h->source) {
- free(h->source);
- h->source = NULL;
- }
-
- h->source = strdup(source);
- if (!h->source) {
- _E("Failed to duplicate data");
- return -1;
- }
-
- return 0;
-}
-
-int rpc_port_voice_event_get_type(rpc_port_voice_event_h h, int *type)
-{
- if (!h || !type) {
- _E("Invalid parameter");
- return -1;
- }
-
- *type = h->type;
- return 0;
-}
-
-int rpc_port_voice_event_get_timestamp(rpc_port_voice_event_h h, int *timestamp)
-{
- if (!h || !timestamp) {
- _E("Invalid parameter");
- return -1;
- }
-
- *timestamp = h->timestamp;
- return 0;
-}
-
-int rpc_port_voice_event_get_source(rpc_port_voice_event_h h, char **source)
-{
- if (!h || !source) {
- _E("Invalid parameter");
- return -1;
- }
-
- if (!h->source) {
- _E("Invalid parameter: h->source is NULL");
- return -1;
- }
-
- *source = strdup(h->source);
- if (*source == NULL) {
- _E("Failed to duplicate source");
- return -1;
- }
-
- return 0;
-}
-
-struct action_event_s {
- rpc_port_parcelable_t parcelable;
- int type;
- int timestamp;
- char *cmd;
- char **args;
- int args_size;
- int nargs;
- char *source;
-};
-
-static void __action_event_to(rpc_port_parcel_h parcel, void *data)
-{
- rpc_port_action_event_h h = data;
-
- if (!parcel || !h) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_write_int32(parcel, h->type);
- rpc_port_parcel_write_int32(parcel, h->timestamp);
- rpc_port_parcel_write_string(parcel, h->cmd ? h->cmd : "");
- rpc_port_parcel_write_array_count(parcel, h->args_size);
- do {
- for (int i = 0; i < h->args_size; i++) {
- rpc_port_parcel_write_string(parcel, h->args[i] ? h->args[i] : "");
- }
- } while (0);
-
- rpc_port_parcel_write_int32(parcel, h->nargs);
- rpc_port_parcel_write_string(parcel, h->source ? h->source : "");
-}
-
-static void __action_event_from(rpc_port_parcel_h parcel, void *data)
-{
- rpc_port_action_event_h h = data;
-
- if (!parcel || !h) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_read_int32(parcel, &h->type);
- rpc_port_parcel_read_int32(parcel, &h->timestamp);
- rpc_port_parcel_read_string(parcel, &h->cmd);
-
- do {
- rpc_port_parcel_read_array_count(parcel, &h->args_size);
-
- h->args = calloc(h->args_size, sizeof(*h->args));
- if (!h->args) {
- _E("Out of memory");
- return;
- }
-
- for (int i = 0; i < h->args_size; i++) {
- char *value = NULL;
-
- rpc_port_parcel_read_string(parcel, &value);
- h->args[i] = value;
- }
- } while (0);
-
- rpc_port_parcel_read_int32(parcel, &h->nargs);
- rpc_port_parcel_read_string(parcel, &h->source);
-}
-
-int rpc_port_action_event_create(rpc_port_action_event_h *h)
-{
- struct action_event_s *handle;
-
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- handle = calloc(1, sizeof(struct action_event_s));
- if (!handle) {
- _E("Out of memory");
- return -1;
- }
-
- handle->parcelable.to = __action_event_to;
- handle->parcelable.from = __action_event_from;
-
- *h = handle;
-
- return 0;
-}
-
-int rpc_port_action_event_destroy(rpc_port_action_event_h h)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- if (h->cmd)
- free(h->cmd);
-
- do {
- for (int j = 0; j < h->args_size; j++) {
- if (h->args[j])
- free(h->args[j]);
- }
- free(h->args);
- } while (0);
- if (h->source)
- free(h->source);
-
- free(h);
-
- return 0;
-}
-
-int rpc_port_action_event_clone(rpc_port_action_event_h h, rpc_port_action_event_h *clone)
-{
- rpc_port_action_event_h handle = NULL;
-
- if (!h || !clone) {
- _E("Invalid parameter");
- return -1;
- }
-
- rpc_port_action_event_create(&handle);
- if (!handle) {
- _E("Failed to create action_event handle");
- return -1;
- }
-
- handle->type = h->type;
- handle->timestamp = h->timestamp;
- if (h->cmd) {
- handle->cmd = strdup(h->cmd);
- if (!handle->cmd) {
- _E("Failed to duplicate h->cmd");
- rpc_port_action_event_destroy(handle);
- return -1;
- }
- }
-
- do {
- if (h->args_size == 0) {
- _W("args is empty");
- break;
- }
-
- handle->args = calloc(h->args_size, sizeof(*h->args));
- if (!handle->args) {
- _E("Out of memory");
- rpc_port_action_event_destroy(handle);
- return -1;
- }
- handle->args_size = h->args_size;
-
- for (int i = 0; i < h->args_size; i++) {
- handle->args[i] = strdup(h->args[i]);
- }
- } while (0);
-
- handle->nargs = h->nargs;
- if (h->source) {
- handle->source = strdup(h->source);
- if (!handle->source) {
- _E("Failed to duplicate h->source");
- rpc_port_action_event_destroy(handle);
- return -1;
- }
- }
-
- *clone = handle;
-
- return 0;
-}
-
-int rpc_port_action_event_set_type(rpc_port_action_event_h h, int type)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- h->type = type;
- return 0;
-}
-
-int rpc_port_action_event_set_timestamp(rpc_port_action_event_h h, int timestamp)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- h->timestamp = timestamp;
- return 0;
-}
-
-int rpc_port_action_event_set_cmd(rpc_port_action_event_h h, const char *cmd)
-{
- if (!h || !cmd) {
- _E("Invalid parameter");
- return -1;
- }
-
- if (h->cmd) {
- free(h->cmd);
- h->cmd = NULL;
- }
-
- h->cmd = strdup(cmd);
- if (!h->cmd) {
- _E("Failed to duplicate data");
- return -1;
- }
-
- return 0;
-}
-
-int rpc_port_action_event_set_args(rpc_port_action_event_h h, char **args, int args_size)
-{
- if (!h || !args) {
- _E("Invalid parameter");
- return -1;
- }
-
- do {
- for (int j = 0; j < h->args_size; j++) {
- if (h->args[j])
- free(h->args[j]);
- }
- free(h->args);
- } while (0);
-
- h->args = NULL;
-
- do {
- h->args = calloc(args_size, sizeof(*args));
- if (!h->args) {
- _E("Out of memory");
- return -1;
- }
- h->args_size = args_size;
-
- for (int i = 0; i < h->args_size; i++) {
- h->args[i] = strdup(args[i]);
- }
- } while (0);
-
- return 0;
-}
-
-int rpc_port_action_event_set_nargs(rpc_port_action_event_h h, int nargs)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- h->nargs = nargs;
- return 0;
-}
-
-int rpc_port_action_event_set_source(rpc_port_action_event_h h, const char *source)
-{
- if (!h || !source) {
- _E("Invalid parameter");
- return -1;
- }
-
- if (h->source) {
- free(h->source);
- h->source = NULL;
- }
-
- h->source = strdup(source);
- if (!h->source) {
- _E("Failed to duplicate data");
- return -1;
- }
-
- return 0;
-}
-
-int rpc_port_action_event_get_type(rpc_port_action_event_h h, int *type)
-{
- if (!h || !type) {
- _E("Invalid parameter");
- return -1;
- }
-
- *type = h->type;
- return 0;
-}
-
-int rpc_port_action_event_get_timestamp(rpc_port_action_event_h h, int *timestamp)
-{
- if (!h || !timestamp) {
- _E("Invalid parameter");
- return -1;
- }
-
- *timestamp = h->timestamp;
- return 0;
-}
-
-int rpc_port_action_event_get_cmd(rpc_port_action_event_h h, char **cmd)
-{
- if (!h || !cmd) {
- _E("Invalid parameter");
- return -1;
- }
-
- if (!h->cmd) {
- _E("Invalid parameter: h->cmd is NULL");
- return -1;
- }
-
- *cmd = strdup(h->cmd);
- if (*cmd == NULL) {
- _E("Failed to duplicate cmd");
- return -1;
- }
-
- return 0;
-}
-
-int rpc_port_action_event_get_args(rpc_port_action_event_h h, char ***args, int *args_size)
-{
- if (!h || !args || !args_size) {
- _E("Invalid parameter");
- return -1;
- }
-
- do {
- if (h->args_size == 0) {
- _W("args is empty");
- break;
- }
-
- *args = calloc(h->args_size, sizeof(*h->args));
- if (!*args) {
- _E("Out of memory");
- return -1;
- }
- *args_size = h->args_size;
-
- for (int i = 0; i < h->args_size; i++) {
- (*args)[i] = strdup(h->args[i]);
- }
- } while (0);
-
- return 0;
-}
-
-int rpc_port_action_event_get_nargs(rpc_port_action_event_h h, int *nargs)
-{
- if (!h || !nargs) {
- _E("Invalid parameter");
- return -1;
- }
-
- *nargs = h->nargs;
- return 0;
-}
-
-int rpc_port_action_event_get_source(rpc_port_action_event_h h, char **source)
-{
- if (!h || !source) {
- _E("Invalid parameter");
- return -1;
- }
-
- if (!h->source) {
- _E("Invalid parameter: h->source is NULL");
- return -1;
- }
-
- *source = strdup(h->source);
- if (*source == NULL) {
- _E("Failed to duplicate source");
- return -1;
- }
-
- return 0;
-}
-
-struct feedback_event_s {
- rpc_port_parcelable_t parcelable;
- int type;
- int timestamp;
- char *feedback;
- char *comment;
-};
-
-static void __feedback_event_to(rpc_port_parcel_h parcel, void *data)
-{
- rpc_port_feedback_event_h h = data;
-
- if (!parcel || !h) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_write_int32(parcel, h->type);
- rpc_port_parcel_write_int32(parcel, h->timestamp);
- rpc_port_parcel_write_string(parcel, h->feedback ? h->feedback : "");
- rpc_port_parcel_write_string(parcel, h->comment ? h->comment : "");
-}
-
-static void __feedback_event_from(rpc_port_parcel_h parcel, void *data)
-{
- rpc_port_feedback_event_h h = data;
-
- if (!parcel || !h) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_read_int32(parcel, &h->type);
- rpc_port_parcel_read_int32(parcel, &h->timestamp);
- rpc_port_parcel_read_string(parcel, &h->feedback);
- rpc_port_parcel_read_string(parcel, &h->comment);
-}
-
-int rpc_port_feedback_event_create(rpc_port_feedback_event_h *h)
-{
- struct feedback_event_s *handle;
-
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- handle = calloc(1, sizeof(struct feedback_event_s));
- if (!handle) {
- _E("Out of memory");
- return -1;
- }
-
- handle->parcelable.to = __feedback_event_to;
- handle->parcelable.from = __feedback_event_from;
-
- *h = handle;
-
- return 0;
-}
-
-int rpc_port_feedback_event_destroy(rpc_port_feedback_event_h h)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- if (h->feedback)
- free(h->feedback);
-
- if (h->comment)
- free(h->comment);
-
- free(h);
-
- return 0;
-}
-
-int rpc_port_feedback_event_clone(rpc_port_feedback_event_h h, rpc_port_feedback_event_h *clone)
-{
- rpc_port_feedback_event_h handle = NULL;
-
- if (!h || !clone) {
- _E("Invalid parameter");
- return -1;
- }
-
- rpc_port_feedback_event_create(&handle);
- if (!handle) {
- _E("Failed to create feedback_event handle");
- return -1;
- }
-
- handle->type = h->type;
- handle->timestamp = h->timestamp;
- if (h->feedback) {
- handle->feedback = strdup(h->feedback);
- if (!handle->feedback) {
- _E("Failed to duplicate h->feedback");
- rpc_port_feedback_event_destroy(handle);
- return -1;
- }
- }
-
- if (h->comment) {
- handle->comment = strdup(h->comment);
- if (!handle->comment) {
- _E("Failed to duplicate h->comment");
- rpc_port_feedback_event_destroy(handle);
- return -1;
- }
- }
-
- *clone = handle;
-
- return 0;
-}
-
-int rpc_port_feedback_event_set_type(rpc_port_feedback_event_h h, int type)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- h->type = type;
- return 0;
-}
-
-int rpc_port_feedback_event_set_timestamp(rpc_port_feedback_event_h h, int timestamp)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- h->timestamp = timestamp;
- return 0;
-}
-
-int rpc_port_feedback_event_set_feedback(rpc_port_feedback_event_h h, const char *feedback)
-{
- if (!h || !feedback) {
- _E("Invalid parameter");
- return -1;
- }
-
- if (h->feedback) {
- free(h->feedback);
- h->feedback = NULL;
- }
-
- h->feedback = strdup(feedback);
- if (!h->feedback) {
- _E("Failed to duplicate data");
- return -1;
- }
-
- return 0;
-}
-
-int rpc_port_feedback_event_set_comment(rpc_port_feedback_event_h h, const char *comment)
-{
- if (!h || !comment) {
- _E("Invalid parameter");
- return -1;
- }
-
- if (h->comment) {
- free(h->comment);
- h->comment = NULL;
- }
-
- h->comment = strdup(comment);
- if (!h->comment) {
- _E("Failed to duplicate data");
- return -1;
- }
-
- return 0;
-}
-
-int rpc_port_feedback_event_get_type(rpc_port_feedback_event_h h, int *type)
-{
- if (!h || !type) {
- _E("Invalid parameter");
- return -1;
- }
-
- *type = h->type;
- return 0;
-}
-
-int rpc_port_feedback_event_get_timestamp(rpc_port_feedback_event_h h, int *timestamp)
-{
- if (!h || !timestamp) {
- _E("Invalid parameter");
- return -1;
- }
-
- *timestamp = h->timestamp;
- return 0;
-}
-
-int rpc_port_feedback_event_get_feedback(rpc_port_feedback_event_h h, char **feedback)
-{
- if (!h || !feedback) {
- _E("Invalid parameter");
- return -1;
- }
-
- if (!h->feedback) {
- _E("Invalid parameter: h->feedback is NULL");
- return -1;
- }
-
- *feedback = strdup(h->feedback);
- if (*feedback == NULL) {
- _E("Failed to duplicate feedback");
- return -1;
- }
-
- return 0;
-}
-
-int rpc_port_feedback_event_get_comment(rpc_port_feedback_event_h h, char **comment)
-{
- if (!h || !comment) {
- _E("Invalid parameter");
- return -1;
- }
-
- if (!h->comment) {
- _E("Invalid parameter: h->comment is NULL");
- return -1;
- }
-
- *comment = strdup(h->comment);
- if (*comment == NULL) {
- _E("Failed to duplicate comment");
- return -1;
- }
-
- return 0;
-}
-
-struct array_string_s {
- rpc_port_parcelable_t parcelable;
- char **array_strings;
- int array_strings_size;
-};
-
-static void __array_string_to(rpc_port_parcel_h parcel, void *data)
-{
- rpc_port_array_string_h h = data;
-
- if (!parcel || !h) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_write_array_count(parcel, h->array_strings_size);
- do {
- for (int i = 0; i < h->array_strings_size; i++) {
- rpc_port_parcel_write_string(parcel, h->array_strings[i] ? h->array_strings[i] : "");
- }
- } while (0);
-}
-
-static void __array_string_from(rpc_port_parcel_h parcel, void *data)
-{
- rpc_port_array_string_h h = data;
-
- if (!parcel || !h) {
- _E("Invalid parameter");
- return;
- }
-
- do {
- rpc_port_parcel_read_array_count(parcel, &h->array_strings_size);
-
- h->array_strings = calloc(h->array_strings_size, sizeof(*h->array_strings));
- if (!h->array_strings) {
- _E("Out of memory");
- return;
- }
-
- for (int i = 0; i < h->array_strings_size; i++) {
- char *value = NULL;
-
- rpc_port_parcel_read_string(parcel, &value);
- h->array_strings[i] = value;
- }
- } while (0);
-}
-
-int rpc_port_array_string_create(rpc_port_array_string_h *h)
-{
- struct array_string_s *handle;
-
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- handle = calloc(1, sizeof(struct array_string_s));
- if (!handle) {
- _E("Out of memory");
- return -1;
- }
-
- handle->parcelable.to = __array_string_to;
- handle->parcelable.from = __array_string_from;
-
- *h = handle;
-
- return 0;
-}
-
-int rpc_port_array_string_destroy(rpc_port_array_string_h h)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- do {
- for (int j = 0; j < h->array_strings_size; j++) {
- if (h->array_strings[j])
- free(h->array_strings[j]);
- }
- free(h->array_strings);
- } while (0);
-
- free(h);
-
- return 0;
-}
-
-int rpc_port_array_string_clone(rpc_port_array_string_h h, rpc_port_array_string_h *clone)
-{
- rpc_port_array_string_h handle = NULL;
-
- if (!h || !clone) {
- _E("Invalid parameter");
- return -1;
- }
-
- rpc_port_array_string_create(&handle);
- if (!handle) {
- _E("Failed to create array_string handle");
- return -1;
- }
-
- do {
- if (h->array_strings_size == 0) {
- _W("array_strings is empty");
- break;
- }
-
- handle->array_strings = calloc(h->array_strings_size, sizeof(*h->array_strings));
- if (!handle->array_strings) {
- _E("Out of memory");
- rpc_port_array_string_destroy(handle);
- return -1;
- }
- handle->array_strings_size = h->array_strings_size;
-
- for (int i = 0; i < h->array_strings_size; i++) {
- handle->array_strings[i] = strdup(h->array_strings[i]);
- }
- } while (0);
-
- *clone = handle;
-
- return 0;
-}
-
-int rpc_port_array_string_set_array_strings(rpc_port_array_string_h h, char **array_strings, int array_strings_size)
-{
- if (!h || !array_strings) {
- _E("Invalid parameter");
- return -1;
- }
-
- do {
- for (int j = 0; j < h->array_strings_size; j++) {
- if (h->array_strings[j])
- free(h->array_strings[j]);
- }
- free(h->array_strings);
- } while (0);
-
- h->array_strings = NULL;
-
- do {
- h->array_strings = calloc(array_strings_size, sizeof(*array_strings));
- if (!h->array_strings) {
- _E("Out of memory");
- return -1;
- }
- h->array_strings_size = array_strings_size;
-
- for (int i = 0; i < h->array_strings_size; i++) {
- h->array_strings[i] = strdup(array_strings[i]);
- }
- } while (0);
-
- return 0;
-}
-
-int rpc_port_array_string_get_array_strings(rpc_port_array_string_h h, char ***array_strings, int *array_strings_size)
-{
- if (!h || !array_strings || !array_strings_size) {
- _E("Invalid parameter");
- return -1;
- }
-
- do {
- if (h->array_strings_size == 0) {
- _W("array_strings is empty");
- break;
- }
-
- *array_strings = calloc(h->array_strings_size, sizeof(*h->array_strings));
- if (!*array_strings) {
- _E("Out of memory");
- return -1;
- }
- *array_strings_size = h->array_strings_size;
-
- for (int i = 0; i < h->array_strings_size; i++) {
- (*array_strings)[i] = strdup(h->array_strings[i]);
- }
- } while (0);
-
- return 0;
-}
-
-enum mmifw_method_e {
- mmifw_METHOD_Result,
- mmifw_METHOD_Callback,
- mmifw_METHOD_register_cb,
- mmifw_METHOD_deregister_cb,
- mmifw_METHOD_get_focus,
- mmifw_METHOD_set_state,
-};
-
-enum mmifw_delegate_e {
- mmifw_DELEGATE_focus_event_cb = 1,
- mmifw_DELEGATE_state_change_event_cb = 2,
- mmifw_DELEGATE_wakeup_event_cb = 3,
- mmifw_DELEGATE_key_event_cb = 4,
- mmifw_DELEGATE_gesture_event_cb = 5,
- mmifw_DELEGATE_voice_event_cb = 6,
- mmifw_DELEGATE_action_event_cb = 7,
- mmifw_DELEGATE_feedback_event_cb = 8,
-};
-
-struct mmifw_s {
- char *stub_appid;
- rpc_port_proxy_h proxy;
- rpc_port_h port;
- rpc_port_h callback_port;
- rpc_port_proxy_mmifw_callback_s callback;
- void *user_data;
- GList *delegates;
- GRecMutex mutex;
-};
-
-struct mmifw_focus_event_cb_s {
- rpc_port_parcelable_t parcelable;
- int id;
- int seq_id;
- mmifw_focus_event_cb callback;
- bool once;
- void *user_data;
-};
-
-static void __mmifw_focus_event_cb_to(rpc_port_parcel_h parcel, void *data)
-{
- struct mmifw_focus_event_cb_s *handle = data;
-
- if (!handle) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_write_int32(parcel, handle->id);
- rpc_port_parcel_write_int32(parcel, handle->seq_id);
- rpc_port_parcel_write_bool(parcel, handle->once);
- _I("id(%d), seq_id(%d), once(%s)", handle->id, handle->seq_id, handle->once ? "true" : "false");
-}
-
-static void __mmifw_focus_event_cb_from(rpc_port_parcel_h parcel, void *data)
-{
- struct mmifw_focus_event_cb_s *handle = data;
-
- if (!handle) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_read_int32(parcel, &handle->id);
- rpc_port_parcel_read_int32(parcel, &handle->seq_id);
- rpc_port_parcel_read_bool(parcel, &handle->once);
- _I("id(%d), seq_id(%d), once(%s)", handle->id, handle->seq_id, handle->once ? "true" : "false");
-}
-
-rpc_port_mmifw_focus_event_cb_h rpc_port_mmifw_focus_event_cb_create(mmifw_focus_event_cb callback, bool once, void *user_data)
-{
- struct mmifw_focus_event_cb_s *handle;
- static int seq_num;
-
- handle = calloc(1, sizeof(struct mmifw_focus_event_cb_s));
- if (!handle) {
- _E("Out of memory");
- return NULL;
- }
-
- handle->parcelable.to = __mmifw_focus_event_cb_to;
- handle->parcelable.from= __mmifw_focus_event_cb_from;
- handle->id = mmifw_DELEGATE_focus_event_cb;
- handle->seq_id = g_atomic_int_add(&seq_num, 1) + 1;
- handle->callback = callback;
- handle->once = once;
- handle->user_data = user_data;
- _I("id(%d), seq_id(%d)", handle->id, handle->seq_id);
-
- return handle;
-}
-
-int rpc_port_mmifw_focus_event_cb_destroy(rpc_port_mmifw_focus_event_cb_h delegate)
-{
- if (!delegate) {
- _E("Invalid parameter");
- return -1;
- }
-
- free(delegate);
-
- return 0;
-}
-
-int rpc_port_proxy_mmifw_focus_event_cb_dispose(rpc_port_proxy_mmifw_h proxy, rpc_port_mmifw_focus_event_cb_h delegate)
-{
- struct mmifw_focus_event_cb_s *handle;
- GList *iter;
-
- if (!proxy || !delegate) {
- _E("Invalid handle %p %p", proxy, delegate);
- return -1;
- }
-
- iter = proxy->delegates;
- while (iter) {
- handle = (struct mmifw_focus_event_cb_s *)iter->data;
- if (handle == delegate) {
- _W("id(%d), seq_id(%d), once(%s)", handle->id, handle->seq_id, handle->once ? "true" : "false");
- proxy->delegates = g_list_remove_link(proxy->delegates, iter);
- free(handle);
- g_list_free(iter);
- return 0;
- }
- iter = g_list_next(iter);
- }
-
- return -1;
-}
-
-static void __mmifw_delegate_focus_event_cb(GList **list, rpc_port_parcel_h parcel, int seq_id, int id)
-{
- rpc_port_focus_event_h args = NULL;
-
- rpc_port_focus_event_create(&args);
- rpc_port_parcel_read(parcel, &args->parcelable, args);
-
- do {
- struct mmifw_focus_event_cb_s *handle;
- GList *iter;
-
- iter = *list;
- while (iter) {
- handle = (struct mmifw_focus_event_cb_s *)iter->data;
- if (handle->seq_id == seq_id && handle->id == id) {
- bool once = handle->once;
-
- _W("Invoke id(%d), seq_id(%d)", id, seq_id);
- handle->callback(handle->user_data, args);
-
- if (once) {
- _W("Dispose");
- *list = g_list_remove_link(*list, iter);
- free(handle);
- g_list_free(iter);
- }
- break;
- }
- iter = g_list_next(iter);
- }
- } while (0);
- rpc_port_focus_event_destroy(args);
-}
-
-struct mmifw_state_change_event_cb_s {
- rpc_port_parcelable_t parcelable;
- int id;
- int seq_id;
- mmifw_state_change_event_cb callback;
- bool once;
- void *user_data;
-};
-
-static void __mmifw_state_change_event_cb_to(rpc_port_parcel_h parcel, void *data)
-{
- struct mmifw_state_change_event_cb_s *handle = data;
-
- if (!handle) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_write_int32(parcel, handle->id);
- rpc_port_parcel_write_int32(parcel, handle->seq_id);
- rpc_port_parcel_write_bool(parcel, handle->once);
- _I("id(%d), seq_id(%d), once(%s)", handle->id, handle->seq_id, handle->once ? "true" : "false");
-}
-
-static void __mmifw_state_change_event_cb_from(rpc_port_parcel_h parcel, void *data)
-{
- struct mmifw_state_change_event_cb_s *handle = data;
-
- if (!handle) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_read_int32(parcel, &handle->id);
- rpc_port_parcel_read_int32(parcel, &handle->seq_id);
- rpc_port_parcel_read_bool(parcel, &handle->once);
- _I("id(%d), seq_id(%d), once(%s)", handle->id, handle->seq_id, handle->once ? "true" : "false");
-}
-
-rpc_port_mmifw_state_change_event_cb_h rpc_port_mmifw_state_change_event_cb_create(mmifw_state_change_event_cb callback, bool once, void *user_data)
-{
- struct mmifw_state_change_event_cb_s *handle;
- static int seq_num;
-
- handle = calloc(1, sizeof(struct mmifw_state_change_event_cb_s));
- if (!handle) {
- _E("Out of memory");
- return NULL;
- }
-
- handle->parcelable.to = __mmifw_state_change_event_cb_to;
- handle->parcelable.from= __mmifw_state_change_event_cb_from;
- handle->id = mmifw_DELEGATE_state_change_event_cb;
- handle->seq_id = g_atomic_int_add(&seq_num, 1) + 1;
- handle->callback = callback;
- handle->once = once;
- handle->user_data = user_data;
- _I("id(%d), seq_id(%d)", handle->id, handle->seq_id);
-
- return handle;
-}
-
-int rpc_port_mmifw_state_change_event_cb_destroy(rpc_port_mmifw_state_change_event_cb_h delegate)
-{
- if (!delegate) {
- _E("Invalid parameter");
- return -1;
- }
-
- free(delegate);
-
- return 0;
-}
-
-int rpc_port_proxy_mmifw_state_change_event_cb_dispose(rpc_port_proxy_mmifw_h proxy, rpc_port_mmifw_state_change_event_cb_h delegate)
-{
- struct mmifw_state_change_event_cb_s *handle;
- GList *iter;
-
- if (!proxy || !delegate) {
- _E("Invalid handle %p %p", proxy, delegate);
- return -1;
- }
-
- iter = proxy->delegates;
- while (iter) {
- handle = (struct mmifw_state_change_event_cb_s *)iter->data;
- if (handle == delegate) {
- _W("id(%d), seq_id(%d), once(%s)", handle->id, handle->seq_id, handle->once ? "true" : "false");
- proxy->delegates = g_list_remove_link(proxy->delegates, iter);
- free(handle);
- g_list_free(iter);
- return 0;
- }
- iter = g_list_next(iter);
- }
-
- return -1;
-}
-
-static void __mmifw_delegate_state_change_event_cb(GList **list, rpc_port_parcel_h parcel, int seq_id, int id)
-{
- rpc_port_state_change_event_h args = NULL;
-
- rpc_port_state_change_event_create(&args);
- rpc_port_parcel_read(parcel, &args->parcelable, args);
-
- do {
- struct mmifw_state_change_event_cb_s *handle;
- GList *iter;
-
- iter = *list;
- while (iter) {
- handle = (struct mmifw_state_change_event_cb_s *)iter->data;
- if (handle->seq_id == seq_id && handle->id == id) {
- bool once = handle->once;
-
- _W("Invoke id(%d), seq_id(%d)", id, seq_id);
- handle->callback(handle->user_data, args);
-
- if (once) {
- _W("Dispose");
- *list = g_list_remove_link(*list, iter);
- free(handle);
- g_list_free(iter);
- }
- break;
- }
- iter = g_list_next(iter);
- }
- } while (0);
- rpc_port_state_change_event_destroy(args);
-}
-
-struct mmifw_wakeup_event_cb_s {
- rpc_port_parcelable_t parcelable;
- int id;
- int seq_id;
- mmifw_wakeup_event_cb callback;
- bool once;
- void *user_data;
-};
-
-static void __mmifw_wakeup_event_cb_to(rpc_port_parcel_h parcel, void *data)
-{
- struct mmifw_wakeup_event_cb_s *handle = data;
-
- if (!handle) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_write_int32(parcel, handle->id);
- rpc_port_parcel_write_int32(parcel, handle->seq_id);
- rpc_port_parcel_write_bool(parcel, handle->once);
- _I("id(%d), seq_id(%d), once(%s)", handle->id, handle->seq_id, handle->once ? "true" : "false");
-}
-
-static void __mmifw_wakeup_event_cb_from(rpc_port_parcel_h parcel, void *data)
-{
- struct mmifw_wakeup_event_cb_s *handle = data;
-
- if (!handle) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_read_int32(parcel, &handle->id);
- rpc_port_parcel_read_int32(parcel, &handle->seq_id);
- rpc_port_parcel_read_bool(parcel, &handle->once);
- _I("id(%d), seq_id(%d), once(%s)", handle->id, handle->seq_id, handle->once ? "true" : "false");
-}
-
-rpc_port_mmifw_wakeup_event_cb_h rpc_port_mmifw_wakeup_event_cb_create(mmifw_wakeup_event_cb callback, bool once, void *user_data)
-{
- struct mmifw_wakeup_event_cb_s *handle;
- static int seq_num;
-
- handle = calloc(1, sizeof(struct mmifw_wakeup_event_cb_s));
- if (!handle) {
- _E("Out of memory");
- return NULL;
- }
-
- handle->parcelable.to = __mmifw_wakeup_event_cb_to;
- handle->parcelable.from= __mmifw_wakeup_event_cb_from;
- handle->id = mmifw_DELEGATE_wakeup_event_cb;
- handle->seq_id = g_atomic_int_add(&seq_num, 1) + 1;
- handle->callback = callback;
- handle->once = once;
- handle->user_data = user_data;
- _I("id(%d), seq_id(%d)", handle->id, handle->seq_id);
-
- return handle;
-}
-
-int rpc_port_mmifw_wakeup_event_cb_destroy(rpc_port_mmifw_wakeup_event_cb_h delegate)
-{
- if (!delegate) {
- _E("Invalid parameter");
- return -1;
- }
-
- free(delegate);
-
- return 0;
-}
-
-int rpc_port_proxy_mmifw_wakeup_event_cb_dispose(rpc_port_proxy_mmifw_h proxy, rpc_port_mmifw_wakeup_event_cb_h delegate)
-{
- struct mmifw_wakeup_event_cb_s *handle;
- GList *iter;
-
- if (!proxy || !delegate) {
- _E("Invalid handle %p %p", proxy, delegate);
- return -1;
- }
-
- iter = proxy->delegates;
- while (iter) {
- handle = (struct mmifw_wakeup_event_cb_s *)iter->data;
- if (handle == delegate) {
- _W("id(%d), seq_id(%d), once(%s)", handle->id, handle->seq_id, handle->once ? "true" : "false");
- proxy->delegates = g_list_remove_link(proxy->delegates, iter);
- free(handle);
- g_list_free(iter);
- return 0;
- }
- iter = g_list_next(iter);
- }
-
- return -1;
-}
-
-static void __mmifw_delegate_wakeup_event_cb(GList **list, rpc_port_parcel_h parcel, int seq_id, int id)
-{
- rpc_port_wakeup_event_h args = NULL;
-
- rpc_port_wakeup_event_create(&args);
- rpc_port_parcel_read(parcel, &args->parcelable, args);
-
- do {
- struct mmifw_wakeup_event_cb_s *handle;
- GList *iter;
-
- iter = *list;
- while (iter) {
- handle = (struct mmifw_wakeup_event_cb_s *)iter->data;
- if (handle->seq_id == seq_id && handle->id == id) {
- bool once = handle->once;
-
- _W("Invoke id(%d), seq_id(%d)", id, seq_id);
- handle->callback(handle->user_data, args);
-
- if (once) {
- _W("Dispose");
- *list = g_list_remove_link(*list, iter);
- free(handle);
- g_list_free(iter);
- }
- break;
- }
- iter = g_list_next(iter);
- }
- } while (0);
- rpc_port_wakeup_event_destroy(args);
-}
-
-struct mmifw_key_event_cb_s {
- rpc_port_parcelable_t parcelable;
- int id;
- int seq_id;
- mmifw_key_event_cb callback;
- bool once;
- void *user_data;
-};
-
-static void __mmifw_key_event_cb_to(rpc_port_parcel_h parcel, void *data)
-{
- struct mmifw_key_event_cb_s *handle = data;
-
- if (!handle) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_write_int32(parcel, handle->id);
- rpc_port_parcel_write_int32(parcel, handle->seq_id);
- rpc_port_parcel_write_bool(parcel, handle->once);
- _I("id(%d), seq_id(%d), once(%s)", handle->id, handle->seq_id, handle->once ? "true" : "false");
-}
-
-static void __mmifw_key_event_cb_from(rpc_port_parcel_h parcel, void *data)
-{
- struct mmifw_key_event_cb_s *handle = data;
-
- if (!handle) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_read_int32(parcel, &handle->id);
- rpc_port_parcel_read_int32(parcel, &handle->seq_id);
- rpc_port_parcel_read_bool(parcel, &handle->once);
- _I("id(%d), seq_id(%d), once(%s)", handle->id, handle->seq_id, handle->once ? "true" : "false");
-}
-
-rpc_port_mmifw_key_event_cb_h rpc_port_mmifw_key_event_cb_create(mmifw_key_event_cb callback, bool once, void *user_data)
-{
- struct mmifw_key_event_cb_s *handle;
- static int seq_num;
-
- handle = calloc(1, sizeof(struct mmifw_key_event_cb_s));
- if (!handle) {
- _E("Out of memory");
- return NULL;
- }
-
- handle->parcelable.to = __mmifw_key_event_cb_to;
- handle->parcelable.from= __mmifw_key_event_cb_from;
- handle->id = mmifw_DELEGATE_key_event_cb;
- handle->seq_id = g_atomic_int_add(&seq_num, 1) + 1;
- handle->callback = callback;
- handle->once = once;
- handle->user_data = user_data;
- _I("id(%d), seq_id(%d)", handle->id, handle->seq_id);
-
- return handle;
-}
-
-int rpc_port_mmifw_key_event_cb_destroy(rpc_port_mmifw_key_event_cb_h delegate)
-{
- if (!delegate) {
- _E("Invalid parameter");
- return -1;
- }
-
- free(delegate);
-
- return 0;
-}
-
-int rpc_port_proxy_mmifw_key_event_cb_dispose(rpc_port_proxy_mmifw_h proxy, rpc_port_mmifw_key_event_cb_h delegate)
-{
- struct mmifw_key_event_cb_s *handle;
- GList *iter;
-
- if (!proxy || !delegate) {
- _E("Invalid handle %p %p", proxy, delegate);
- return -1;
- }
-
- iter = proxy->delegates;
- while (iter) {
- handle = (struct mmifw_key_event_cb_s *)iter->data;
- if (handle == delegate) {
- _W("id(%d), seq_id(%d), once(%s)", handle->id, handle->seq_id, handle->once ? "true" : "false");
- proxy->delegates = g_list_remove_link(proxy->delegates, iter);
- free(handle);
- g_list_free(iter);
- return 0;
- }
- iter = g_list_next(iter);
- }
-
- return -1;
-}
-
-static void __mmifw_delegate_key_event_cb(GList **list, rpc_port_parcel_h parcel, int seq_id, int id)
-{
- rpc_port_key_event_h args = NULL;
-
- rpc_port_key_event_create(&args);
- rpc_port_parcel_read(parcel, &args->parcelable, args);
-
- do {
- struct mmifw_key_event_cb_s *handle;
- GList *iter;
-
- iter = *list;
- while (iter) {
- handle = (struct mmifw_key_event_cb_s *)iter->data;
- if (handle->seq_id == seq_id && handle->id == id) {
- bool once = handle->once;
-
- _W("Invoke id(%d), seq_id(%d)", id, seq_id);
- handle->callback(handle->user_data, args);
-
- if (once) {
- _W("Dispose");
- *list = g_list_remove_link(*list, iter);
- free(handle);
- g_list_free(iter);
- }
- break;
- }
- iter = g_list_next(iter);
- }
- } while (0);
- rpc_port_key_event_destroy(args);
-}
-
-struct mmifw_gesture_event_cb_s {
- rpc_port_parcelable_t parcelable;
- int id;
- int seq_id;
- mmifw_gesture_event_cb callback;
- bool once;
- void *user_data;
-};
-
-static void __mmifw_gesture_event_cb_to(rpc_port_parcel_h parcel, void *data)
-{
- struct mmifw_gesture_event_cb_s *handle = data;
-
- if (!handle) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_write_int32(parcel, handle->id);
- rpc_port_parcel_write_int32(parcel, handle->seq_id);
- rpc_port_parcel_write_bool(parcel, handle->once);
- _I("id(%d), seq_id(%d), once(%s)", handle->id, handle->seq_id, handle->once ? "true" : "false");
-}
-
-static void __mmifw_gesture_event_cb_from(rpc_port_parcel_h parcel, void *data)
-{
- struct mmifw_gesture_event_cb_s *handle = data;
-
- if (!handle) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_read_int32(parcel, &handle->id);
- rpc_port_parcel_read_int32(parcel, &handle->seq_id);
- rpc_port_parcel_read_bool(parcel, &handle->once);
- _I("id(%d), seq_id(%d), once(%s)", handle->id, handle->seq_id, handle->once ? "true" : "false");
-}
-
-rpc_port_mmifw_gesture_event_cb_h rpc_port_mmifw_gesture_event_cb_create(mmifw_gesture_event_cb callback, bool once, void *user_data)
-{
- struct mmifw_gesture_event_cb_s *handle;
- static int seq_num;
-
- handle = calloc(1, sizeof(struct mmifw_gesture_event_cb_s));
- if (!handle) {
- _E("Out of memory");
- return NULL;
- }
-
- handle->parcelable.to = __mmifw_gesture_event_cb_to;
- handle->parcelable.from= __mmifw_gesture_event_cb_from;
- handle->id = mmifw_DELEGATE_gesture_event_cb;
- handle->seq_id = g_atomic_int_add(&seq_num, 1) + 1;
- handle->callback = callback;
- handle->once = once;
- handle->user_data = user_data;
- _I("id(%d), seq_id(%d)", handle->id, handle->seq_id);
-
- return handle;
-}
-
-int rpc_port_mmifw_gesture_event_cb_destroy(rpc_port_mmifw_gesture_event_cb_h delegate)
-{
- if (!delegate) {
- _E("Invalid parameter");
- return -1;
- }
-
- free(delegate);
-
- return 0;
-}
-
-int rpc_port_proxy_mmifw_gesture_event_cb_dispose(rpc_port_proxy_mmifw_h proxy, rpc_port_mmifw_gesture_event_cb_h delegate)
-{
- struct mmifw_gesture_event_cb_s *handle;
- GList *iter;
-
- if (!proxy || !delegate) {
- _E("Invalid handle %p %p", proxy, delegate);
- return -1;
- }
-
- iter = proxy->delegates;
- while (iter) {
- handle = (struct mmifw_gesture_event_cb_s *)iter->data;
- if (handle == delegate) {
- _W("id(%d), seq_id(%d), once(%s)", handle->id, handle->seq_id, handle->once ? "true" : "false");
- proxy->delegates = g_list_remove_link(proxy->delegates, iter);
- free(handle);
- g_list_free(iter);
- return 0;
- }
- iter = g_list_next(iter);
- }
-
- return -1;
-}
-
-static void __mmifw_delegate_gesture_event_cb(GList **list, rpc_port_parcel_h parcel, int seq_id, int id)
-{
- rpc_port_gesture_event_h args = NULL;
-
- rpc_port_gesture_event_create(&args);
- rpc_port_parcel_read(parcel, &args->parcelable, args);
-
- do {
- struct mmifw_gesture_event_cb_s *handle;
- GList *iter;
-
- iter = *list;
- while (iter) {
- handle = (struct mmifw_gesture_event_cb_s *)iter->data;
- if (handle->seq_id == seq_id && handle->id == id) {
- bool once = handle->once;
-
- _W("Invoke id(%d), seq_id(%d)", id, seq_id);
- handle->callback(handle->user_data, args);
-
- if (once) {
- _W("Dispose");
- *list = g_list_remove_link(*list, iter);
- free(handle);
- g_list_free(iter);
- }
- break;
- }
- iter = g_list_next(iter);
- }
- } while (0);
- rpc_port_gesture_event_destroy(args);
-}
-
-struct mmifw_voice_event_cb_s {
- rpc_port_parcelable_t parcelable;
- int id;
- int seq_id;
- mmifw_voice_event_cb callback;
- bool once;
- void *user_data;
-};
-
-static void __mmifw_voice_event_cb_to(rpc_port_parcel_h parcel, void *data)
-{
- struct mmifw_voice_event_cb_s *handle = data;
-
- if (!handle) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_write_int32(parcel, handle->id);
- rpc_port_parcel_write_int32(parcel, handle->seq_id);
- rpc_port_parcel_write_bool(parcel, handle->once);
- _I("id(%d), seq_id(%d), once(%s)", handle->id, handle->seq_id, handle->once ? "true" : "false");
-}
-
-static void __mmifw_voice_event_cb_from(rpc_port_parcel_h parcel, void *data)
-{
- struct mmifw_voice_event_cb_s *handle = data;
-
- if (!handle) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_read_int32(parcel, &handle->id);
- rpc_port_parcel_read_int32(parcel, &handle->seq_id);
- rpc_port_parcel_read_bool(parcel, &handle->once);
- _I("id(%d), seq_id(%d), once(%s)", handle->id, handle->seq_id, handle->once ? "true" : "false");
-}
-
-rpc_port_mmifw_voice_event_cb_h rpc_port_mmifw_voice_event_cb_create(mmifw_voice_event_cb callback, bool once, void *user_data)
-{
- struct mmifw_voice_event_cb_s *handle;
- static int seq_num;
-
- handle = calloc(1, sizeof(struct mmifw_voice_event_cb_s));
- if (!handle) {
- _E("Out of memory");
- return NULL;
- }
-
- handle->parcelable.to = __mmifw_voice_event_cb_to;
- handle->parcelable.from= __mmifw_voice_event_cb_from;
- handle->id = mmifw_DELEGATE_voice_event_cb;
- handle->seq_id = g_atomic_int_add(&seq_num, 1) + 1;
- handle->callback = callback;
- handle->once = once;
- handle->user_data = user_data;
- _I("id(%d), seq_id(%d)", handle->id, handle->seq_id);
-
- return handle;
-}
-
-int rpc_port_mmifw_voice_event_cb_destroy(rpc_port_mmifw_voice_event_cb_h delegate)
-{
- if (!delegate) {
- _E("Invalid parameter");
- return -1;
- }
-
- free(delegate);
-
- return 0;
-}
-
-int rpc_port_proxy_mmifw_voice_event_cb_dispose(rpc_port_proxy_mmifw_h proxy, rpc_port_mmifw_voice_event_cb_h delegate)
-{
- struct mmifw_voice_event_cb_s *handle;
- GList *iter;
-
- if (!proxy || !delegate) {
- _E("Invalid handle %p %p", proxy, delegate);
- return -1;
- }
-
- iter = proxy->delegates;
- while (iter) {
- handle = (struct mmifw_voice_event_cb_s *)iter->data;
- if (handle == delegate) {
- _W("id(%d), seq_id(%d), once(%s)", handle->id, handle->seq_id, handle->once ? "true" : "false");
- proxy->delegates = g_list_remove_link(proxy->delegates, iter);
- free(handle);
- g_list_free(iter);
- return 0;
- }
- iter = g_list_next(iter);
- }
-
- return -1;
-}
-
-static void __mmifw_delegate_voice_event_cb(GList **list, rpc_port_parcel_h parcel, int seq_id, int id)
-{
- rpc_port_voice_event_h args = NULL;
-
- rpc_port_voice_event_create(&args);
- rpc_port_parcel_read(parcel, &args->parcelable, args);
-
- do {
- struct mmifw_voice_event_cb_s *handle;
- GList *iter;
-
- iter = *list;
- while (iter) {
- handle = (struct mmifw_voice_event_cb_s *)iter->data;
- if (handle->seq_id == seq_id && handle->id == id) {
- bool once = handle->once;
-
- _W("Invoke id(%d), seq_id(%d)", id, seq_id);
- handle->callback(handle->user_data, args);
-
- if (once) {
- _W("Dispose");
- *list = g_list_remove_link(*list, iter);
- free(handle);
- g_list_free(iter);
- }
- break;
- }
- iter = g_list_next(iter);
- }
- } while (0);
- rpc_port_voice_event_destroy(args);
-}
-
-struct mmifw_action_event_cb_s {
- rpc_port_parcelable_t parcelable;
- int id;
- int seq_id;
- mmifw_action_event_cb callback;
- bool once;
- void *user_data;
-};
-
-static void __mmifw_action_event_cb_to(rpc_port_parcel_h parcel, void *data)
-{
- struct mmifw_action_event_cb_s *handle = data;
-
- if (!handle) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_write_int32(parcel, handle->id);
- rpc_port_parcel_write_int32(parcel, handle->seq_id);
- rpc_port_parcel_write_bool(parcel, handle->once);
- _I("id(%d), seq_id(%d), once(%s)", handle->id, handle->seq_id, handle->once ? "true" : "false");
-}
-
-static void __mmifw_action_event_cb_from(rpc_port_parcel_h parcel, void *data)
-{
- struct mmifw_action_event_cb_s *handle = data;
-
- if (!handle) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_read_int32(parcel, &handle->id);
- rpc_port_parcel_read_int32(parcel, &handle->seq_id);
- rpc_port_parcel_read_bool(parcel, &handle->once);
- _I("id(%d), seq_id(%d), once(%s)", handle->id, handle->seq_id, handle->once ? "true" : "false");
-}
-
-rpc_port_mmifw_action_event_cb_h rpc_port_mmifw_action_event_cb_create(mmifw_action_event_cb callback, bool once, void *user_data)
-{
- struct mmifw_action_event_cb_s *handle;
- static int seq_num;
-
- handle = calloc(1, sizeof(struct mmifw_action_event_cb_s));
- if (!handle) {
- _E("Out of memory");
- return NULL;
- }
-
- handle->parcelable.to = __mmifw_action_event_cb_to;
- handle->parcelable.from= __mmifw_action_event_cb_from;
- handle->id = mmifw_DELEGATE_action_event_cb;
- handle->seq_id = g_atomic_int_add(&seq_num, 1) + 1;
- handle->callback = callback;
- handle->once = once;
- handle->user_data = user_data;
- _I("id(%d), seq_id(%d)", handle->id, handle->seq_id);
-
- return handle;
-}
-
-int rpc_port_mmifw_action_event_cb_destroy(rpc_port_mmifw_action_event_cb_h delegate)
-{
- if (!delegate) {
- _E("Invalid parameter");
- return -1;
- }
-
- free(delegate);
-
- return 0;
-}
-
-int rpc_port_proxy_mmifw_action_event_cb_dispose(rpc_port_proxy_mmifw_h proxy, rpc_port_mmifw_action_event_cb_h delegate)
-{
- struct mmifw_action_event_cb_s *handle;
- GList *iter;
-
- if (!proxy || !delegate) {
- _E("Invalid handle %p %p", proxy, delegate);
- return -1;
- }
-
- iter = proxy->delegates;
- while (iter) {
- handle = (struct mmifw_action_event_cb_s *)iter->data;
- if (handle == delegate) {
- _W("id(%d), seq_id(%d), once(%s)", handle->id, handle->seq_id, handle->once ? "true" : "false");
- proxy->delegates = g_list_remove_link(proxy->delegates, iter);
- free(handle);
- g_list_free(iter);
- return 0;
- }
- iter = g_list_next(iter);
- }
-
- return -1;
-}
-
-static void __mmifw_delegate_action_event_cb(GList **list, rpc_port_parcel_h parcel, int seq_id, int id)
-{
- rpc_port_action_event_h args = NULL;
-
- rpc_port_action_event_create(&args);
- rpc_port_parcel_read(parcel, &args->parcelable, args);
-
- do {
- struct mmifw_action_event_cb_s *handle;
- GList *iter;
-
- iter = *list;
- while (iter) {
- handle = (struct mmifw_action_event_cb_s *)iter->data;
- if (handle->seq_id == seq_id && handle->id == id) {
- bool once = handle->once;
-
- _W("Invoke id(%d), seq_id(%d)", id, seq_id);
- handle->callback(handle->user_data, args);
-
- if (once) {
- _W("Dispose");
- *list = g_list_remove_link(*list, iter);
- free(handle);
- g_list_free(iter);
- }
- break;
- }
- iter = g_list_next(iter);
- }
- } while (0);
- rpc_port_action_event_destroy(args);
-}
-
-struct mmifw_feedback_event_cb_s {
- rpc_port_parcelable_t parcelable;
- int id;
- int seq_id;
- mmifw_feedback_event_cb callback;
- bool once;
- void *user_data;
-};
-
-static void __mmifw_feedback_event_cb_to(rpc_port_parcel_h parcel, void *data)
-{
- struct mmifw_feedback_event_cb_s *handle = data;
-
- if (!handle) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_write_int32(parcel, handle->id);
- rpc_port_parcel_write_int32(parcel, handle->seq_id);
- rpc_port_parcel_write_bool(parcel, handle->once);
- _I("id(%d), seq_id(%d), once(%s)", handle->id, handle->seq_id, handle->once ? "true" : "false");
-}
-
-static void __mmifw_feedback_event_cb_from(rpc_port_parcel_h parcel, void *data)
-{
- struct mmifw_feedback_event_cb_s *handle = data;
-
- if (!handle) {
- _E("Invalid parameter");
- return;
- }
-
- rpc_port_parcel_read_int32(parcel, &handle->id);
- rpc_port_parcel_read_int32(parcel, &handle->seq_id);
- rpc_port_parcel_read_bool(parcel, &handle->once);
- _I("id(%d), seq_id(%d), once(%s)", handle->id, handle->seq_id, handle->once ? "true" : "false");
-}
-
-rpc_port_mmifw_feedback_event_cb_h rpc_port_mmifw_feedback_event_cb_create(mmifw_feedback_event_cb callback, bool once, void *user_data)
-{
- struct mmifw_feedback_event_cb_s *handle;
- static int seq_num;
-
- handle = calloc(1, sizeof(struct mmifw_feedback_event_cb_s));
- if (!handle) {
- _E("Out of memory");
- return NULL;
- }
-
- handle->parcelable.to = __mmifw_feedback_event_cb_to;
- handle->parcelable.from= __mmifw_feedback_event_cb_from;
- handle->id = mmifw_DELEGATE_feedback_event_cb;
- handle->seq_id = g_atomic_int_add(&seq_num, 1) + 1;
- handle->callback = callback;
- handle->once = once;
- handle->user_data = user_data;
- _I("id(%d), seq_id(%d)", handle->id, handle->seq_id);
-
- return handle;
-}
-
-int rpc_port_mmifw_feedback_event_cb_destroy(rpc_port_mmifw_feedback_event_cb_h delegate)
-{
- if (!delegate) {
- _E("Invalid parameter");
- return -1;
- }
-
- free(delegate);
-
- return 0;
-}
-
-int rpc_port_proxy_mmifw_feedback_event_cb_dispose(rpc_port_proxy_mmifw_h proxy, rpc_port_mmifw_feedback_event_cb_h delegate)
-{
- struct mmifw_feedback_event_cb_s *handle;
- GList *iter;
-
- if (!proxy || !delegate) {
- _E("Invalid handle %p %p", proxy, delegate);
- return -1;
- }
-
- iter = proxy->delegates;
- while (iter) {
- handle = (struct mmifw_feedback_event_cb_s *)iter->data;
- if (handle == delegate) {
- _W("id(%d), seq_id(%d), once(%s)", handle->id, handle->seq_id, handle->once ? "true" : "false");
- proxy->delegates = g_list_remove_link(proxy->delegates, iter);
- free(handle);
- g_list_free(iter);
- return 0;
- }
- iter = g_list_next(iter);
- }
-
- return -1;
-}
-
-static void __mmifw_delegate_feedback_event_cb(GList **list, rpc_port_parcel_h parcel, int seq_id, int id)
-{
- rpc_port_feedback_event_h args = NULL;
-
- rpc_port_feedback_event_create(&args);
- rpc_port_parcel_read(parcel, &args->parcelable, args);
-
- do {
- struct mmifw_feedback_event_cb_s *handle;
- GList *iter;
-
- iter = *list;
- while (iter) {
- handle = (struct mmifw_feedback_event_cb_s *)iter->data;
- if (handle->seq_id == seq_id && handle->id == id) {
- bool once = handle->once;
-
- _W("Invoke id(%d), seq_id(%d)", id, seq_id);
- handle->callback(handle->user_data, args);
-
- if (once) {
- _W("Dispose");
- *list = g_list_remove_link(*list, iter);
- free(handle);
- g_list_free(iter);
- }
- break;
- }
- iter = g_list_next(iter);
- }
- } while (0);
- rpc_port_feedback_event_destroy(args);
-}
-
-static proxy_delegate __mmifw_delegate_table[] = {
- [mmifw_DELEGATE_focus_event_cb] = __mmifw_delegate_focus_event_cb,
- [mmifw_DELEGATE_state_change_event_cb] = __mmifw_delegate_state_change_event_cb,
- [mmifw_DELEGATE_wakeup_event_cb] = __mmifw_delegate_wakeup_event_cb,
- [mmifw_DELEGATE_key_event_cb] = __mmifw_delegate_key_event_cb,
- [mmifw_DELEGATE_gesture_event_cb] = __mmifw_delegate_gesture_event_cb,
- [mmifw_DELEGATE_voice_event_cb] = __mmifw_delegate_voice_event_cb,
- [mmifw_DELEGATE_action_event_cb] = __mmifw_delegate_action_event_cb,
- [mmifw_DELEGATE_feedback_event_cb] = __mmifw_delegate_feedback_event_cb,
-};
-
-static void __mmifw_process_received_event(GList **list, rpc_port_parcel_h parcel)
-{
- int id;
- int seq_id;
- bool once;
-
- rpc_port_parcel_read_int32(parcel, &id);
- rpc_port_parcel_read_int32(parcel, &seq_id);
- rpc_port_parcel_read_bool(parcel, &once);
- _W("id(%d), seq_id(%d)", id, seq_id);
-
- if (id > 0 && id < (sizeof(__mmifw_delegate_table) / sizeof(__mmifw_delegate_table[0]))) {
- if (__mmifw_delegate_table[id])
- __mmifw_delegate_table[id](list, parcel, seq_id, id);
- } else {
- _W("Unknown id(%d)", id);
- }
-}
-
-static rpc_port_parcel_h __mmifw_consume_command(rpc_port_proxy_mmifw_h h)
-{
- rpc_port_parcel_h parcel = NULL;
- int cmd = -1;
-
- do {
- rpc_port_parcel_create_from_port(&parcel, h->port);
- if (!parcel)
- break;
-
- rpc_port_parcel_read_int32(parcel, &cmd);
- if (cmd == mmifw_METHOD_Result)
- return parcel;
-
- rpc_port_parcel_destroy(parcel);
- parcel = NULL;
- } while (true);
-
- return NULL;
-}
-
-static void __mmifw_on_connected(const char *endpoint, const char *port_name, rpc_port_h port, void *data)
-{
- rpc_port_proxy_mmifw_h handle = data;
-
- handle->port = port;
- rpc_port_proxy_get_port(handle->proxy, RPC_PORT_PORT_CALLBACK, &handle->callback_port);
- if (handle->callback.connected)
- handle->callback.connected(handle, handle->user_data);
- _I("[__RPC_PORT__] endpoint(%s), port_name(%s)", endpoint, port_name);
-}
-
-static void __mmifw_on_disconnected(const char *endpoint, const char *port_name, void *data)
-{
- rpc_port_proxy_mmifw_h handle = data;
-
- handle->port = NULL;
- if (handle->callback.disconnected)
- handle->callback.disconnected(handle, handle->user_data);
- _I("[__RPC_PORT__] endpoint(%s), port_name(%s)", endpoint, port_name);
-}
-
-static void __mmifw_on_rejected(const char *endpoint, const char *port_name, void *data)
-{
- rpc_port_proxy_mmifw_h handle = data;
-
- handle->port = NULL;
- if (handle->callback.rejected)
- handle->callback.rejected(handle, handle->user_data);
- _I("[__RPC_PORT__] endpoint(%s), port_name(%s)", endpoint, port_name);
-}
-
-static void __mmifw_on_received(const char *endpoint, const char *port_name, void *data)
-{
- rpc_port_proxy_mmifw_h handle = data;
- rpc_port_parcel_h parcel_received = NULL;
- int cmd = -1;
-
- rpc_port_parcel_create_from_port(&parcel_received, handle->callback_port);
- if (!parcel_received) {
- _E("Failed to create parcel from port(%s)", port_name);
- return;
- }
-
- rpc_port_parcel_read_int32(parcel_received, &cmd);
- if (cmd != mmifw_METHOD_Callback) {
- _E("Invalid protocol");
- rpc_port_parcel_destroy(parcel_received);
- return;
- }
-
- __mmifw_process_received_event(&handle->delegates, parcel_received);
- rpc_port_parcel_destroy(parcel_received);
- _I("[__RPC_PORT__] endpoint(%s), port_name(%s)", endpoint, port_name);
-}
-
-int rpc_port_proxy_mmifw_invoke_register_cb(rpc_port_proxy_mmifw_h h, rpc_port_mmifw_focus_event_cb_h focus_cb, rpc_port_mmifw_state_change_event_cb_h state_cb, rpc_port_mmifw_wakeup_event_cb_h wakeup_cb, rpc_port_mmifw_key_event_cb_h key_cb, rpc_port_mmifw_gesture_event_cb_h gesture_cb, rpc_port_mmifw_voice_event_cb_h voice_cb, rpc_port_mmifw_action_event_cb_h action_cb, rpc_port_mmifw_feedback_event_cb_h feedback_cb)
-{
- rpc_port_parcel_h parcel;
- int r;
- int ret = -1;
-
- if (!h || !focus_cb || !state_cb || !wakeup_cb || !key_cb || !gesture_cb || !voice_cb || !action_cb || !feedback_cb) {
- _E("Invalid parameter");
- return ret;
- }
-
- if (!h->port) {
- _E("Not connected");
- return ret;
- }
-
- rpc_port_parcel_create(&parcel);
- rpc_port_parcel_write_int32(parcel, mmifw_METHOD_register_cb);
-
- do {
- struct mmifw_focus_event_cb_s *handle = focus_cb;
-
- rpc_port_parcel_write(parcel, &handle->parcelable, handle);
- h->delegates = g_list_append(h->delegates, handle);
- } while (0);
-
- do {
- struct mmifw_state_change_event_cb_s *handle = state_cb;
-
- rpc_port_parcel_write(parcel, &handle->parcelable, handle);
- h->delegates = g_list_append(h->delegates, handle);
- } while (0);
-
- do {
- struct mmifw_wakeup_event_cb_s *handle = wakeup_cb;
-
- rpc_port_parcel_write(parcel, &handle->parcelable, handle);
- h->delegates = g_list_append(h->delegates, handle);
- } while (0);
-
- do {
- struct mmifw_key_event_cb_s *handle = key_cb;
-
- rpc_port_parcel_write(parcel, &handle->parcelable, handle);
- h->delegates = g_list_append(h->delegates, handle);
- } while (0);
-
- do {
- struct mmifw_gesture_event_cb_s *handle = gesture_cb;
-
- rpc_port_parcel_write(parcel, &handle->parcelable, handle);
- h->delegates = g_list_append(h->delegates, handle);
- } while (0);
-
- do {
- struct mmifw_voice_event_cb_s *handle = voice_cb;
-
- rpc_port_parcel_write(parcel, &handle->parcelable, handle);
- h->delegates = g_list_append(h->delegates, handle);
- } while (0);
-
- do {
- struct mmifw_action_event_cb_s *handle = action_cb;
-
- rpc_port_parcel_write(parcel, &handle->parcelable, handle);
- h->delegates = g_list_append(h->delegates, handle);
- } while (0);
-
- do {
- struct mmifw_feedback_event_cb_s *handle = feedback_cb;
-
- rpc_port_parcel_write(parcel, &handle->parcelable, handle);
- h->delegates = g_list_append(h->delegates, handle);
- } while (0);
-
- r = rpc_port_parcel_send(parcel, h->port);
- if (r != RPC_PORT_ERROR_NONE) {
- _E("Failed to send parcel. result(%d)", r);
- r = RPC_PORT_ERROR_IO_ERROR;
- }
-
- rpc_port_parcel_destroy(parcel);
-
- g_rec_mutex_lock(&h->mutex);
- do {
- rpc_port_parcel_h parcel_received;
-
- parcel_received = __mmifw_consume_command(h);
- if (!parcel_received) {
- _E("Invalid protocol");
- r = RPC_PORT_ERROR_IO_ERROR;
- break;
- }
-
- rpc_port_parcel_read_int32(parcel_received, &ret);
-
- rpc_port_parcel_destroy(parcel_received);
- } while (0);
- g_rec_mutex_unlock(&h->mutex);
- set_last_result(r);
-
- return ret;
-}
-
-void rpc_port_proxy_mmifw_invoke_deregister_cb(rpc_port_proxy_mmifw_h h)
-{
- rpc_port_parcel_h parcel;
- int r;
-
- if (!h) {
- _E("Invalid parameter");
- return;
- }
-
- if (!h->port) {
- _E("Not connected");
- return;
- }
-
- rpc_port_parcel_create(&parcel);
- rpc_port_parcel_write_int32(parcel, mmifw_METHOD_deregister_cb);
-
- r = rpc_port_parcel_send(parcel, h->port);
- if (r != RPC_PORT_ERROR_NONE) {
- _E("Failed to send parcel. result(%d)", r);
- r = RPC_PORT_ERROR_IO_ERROR;
- }
-
- rpc_port_parcel_destroy(parcel);
- set_last_result(r);
-}
-
-void rpc_port_proxy_mmifw_invoke_get_focus(rpc_port_proxy_mmifw_h h)
-{
- rpc_port_parcel_h parcel;
- int r;
-
- if (!h) {
- _E("Invalid parameter");
- return;
- }
-
- if (!h->port) {
- _E("Not connected");
- return;
- }
-
- rpc_port_parcel_create(&parcel);
- rpc_port_parcel_write_int32(parcel, mmifw_METHOD_get_focus);
-
- r = rpc_port_parcel_send(parcel, h->port);
- if (r != RPC_PORT_ERROR_NONE) {
- _E("Failed to send parcel. result(%d)", r);
- r = RPC_PORT_ERROR_IO_ERROR;
- }
-
- rpc_port_parcel_destroy(parcel);
- set_last_result(r);
-}
-
-void rpc_port_proxy_mmifw_invoke_set_state(rpc_port_proxy_mmifw_h h, int state)
-{
- rpc_port_parcel_h parcel;
- int r;
-
- if (!h) {
- _E("Invalid parameter");
- return;
- }
-
- if (!h->port) {
- _E("Not connected");
- return;
- }
-
- rpc_port_parcel_create(&parcel);
- rpc_port_parcel_write_int32(parcel, mmifw_METHOD_set_state);
- rpc_port_parcel_write_int32(parcel, state);
-
- r = rpc_port_parcel_send(parcel, h->port);
- if (r != RPC_PORT_ERROR_NONE) {
- _E("Failed to send parcel. result(%d)", r);
- r = RPC_PORT_ERROR_IO_ERROR;
- }
-
- rpc_port_parcel_destroy(parcel);
- set_last_result(r);
-}
-
-static struct mmifw_s *__create_mmifw(const char *stub_appid, rpc_port_proxy_mmifw_callback_s *callback, void *user_data)
-{
- struct mmifw_s *handle;
-
- handle = calloc(1, sizeof(struct mmifw_s));
- if (!handle) {
- _E("Out of memory");
- return NULL;
- }
-
- handle->stub_appid = strdup(stub_appid);
- if (!handle->stub_appid) {
- _E("Out of memory");
- free(handle);
- return NULL;
- }
-
- rpc_port_proxy_create(&handle->proxy);
- if (!handle->proxy) {
- _E("Failed to create proxy");
- free(handle->stub_appid);
- free(handle);
- return NULL;
- }
-
- g_rec_mutex_init(&handle->mutex);
-
- handle->callback = *callback;
- handle->user_data = user_data;
-
- return handle;
-}
-
-static void __destroy_mmifw(struct mmifw_s *h)
-{
- if (!h)
- return;
-
- g_rec_mutex_clear(&h->mutex);
-
- if (h->delegates)
- g_list_free_full(h->delegates, free);
-
- if (h->proxy)
- rpc_port_proxy_destroy(h->proxy);
-
- if (h->stub_appid)
- free(h->stub_appid);
-
- free(h);
-}
-
-int rpc_port_proxy_mmifw_create(const char *stub_appid, rpc_port_proxy_mmifw_callback_s *callback, void *user_data, rpc_port_proxy_mmifw_h *h)
-{
- struct mmifw_s *handle;
- int r;
-
- if (!stub_appid || !callback || !h) {
- _E("Invalid parameter");
- return -1;
- }
-
- handle = __create_mmifw(stub_appid, callback, user_data);
- if (!handle)
- return -1;
-
- r = rpc_port_proxy_add_connected_event_cb(handle->proxy, __mmifw_on_connected, handle);
- if (r != 0) {
- _E("Failed to add connected event cb. err = %d", r);
- __destroy_mmifw(handle);
- return r;
- }
-
- r = rpc_port_proxy_add_disconnected_event_cb(handle->proxy, __mmifw_on_disconnected, handle);
- if (r != 0) {
- _E("Failed to add disconnected event cb. err = %d", r);
- __destroy_mmifw(handle);
- return r;
- }
-
- r = rpc_port_proxy_add_rejected_event_cb(handle->proxy, __mmifw_on_rejected, handle);
- if (r != 0) {
- _E("Failed to add rejected event cb. err = %d", r);
- __destroy_mmifw(handle);
- return r;
- }
-
- r = rpc_port_proxy_add_received_event_cb(handle->proxy, __mmifw_on_received, handle);
- if (r != 0) {
- _E("Failed to add received event cb. err = %d", r);
- __destroy_mmifw(handle);
- return r;
- }
-
- *h = handle;
-
- return 0;
-}
-
-int rpc_port_proxy_mmifw_connect(rpc_port_proxy_mmifw_h h)
-{
- int r;
-
- if (!h || !h->proxy) {
- _E("Invalid parameter");
- return -1;
- }
-
- r = rpc_port_proxy_connect(h->proxy, h->stub_appid, "mmifw");
- if (r != 0) {
- _E("Failed to connect mmifw(%s)", h->stub_appid);
- return r;
- }
-
- return 0;
-}
-
-int rpc_port_proxy_mmifw_destroy(rpc_port_proxy_mmifw_h h)
-{
- if (!h) {
- _E("Invalid parameter");
- return -1;
- }
-
- __destroy_mmifw(h);
- return 0;
-}
-
-int rpc_port_proxy_mmifw_connect_sync(rpc_port_proxy_mmifw_h h)
-{
- int r;
-
- if (!h || !h->proxy) {
- _E("Invalid parameter");
- return -1;
- }
-
- r = rpc_port_proxy_connect_sync(h->proxy, h->stub_appid, "mmifw");
- if (r != 0) {
- _E("Failed to connect sync mmifw(%s)", h->stub_appid);
- return r;
- }
-
- return 0;
-}