rpc_port_proxy_AutofillAppPort_destroy(rpc_h);
rpc_h = NULL;
}
+ else
+ return AUTOFILL_ERROR_NOT_INITIALIZED;
return AUTOFILL_ERROR_NONE;
}
LOGD("app id : %s, view id : %s", vi->app_id, vi->view_id);
- rpc_port_proxy_AutofillAppPort_invoke_commit(rpc_h, vih);
+ int ret = rpc_port_proxy_AutofillAppPort_invoke_commit(rpc_h, vih);
rpc_port_autofill_save_view_info_destroy(vih);
- return AUTOFILL_ERROR_NONE;
+ return ret;
}
{
LOGD("app id : %s, view id : %s", vi->app_id, vi->view_id);
+ int ret = AUTOFILL_ERROR_NONE;
rpc_port_autofill_view_info_h vih;
char *id;
char *label;
return AUTOFILL_ERROR_INVALID_PARAMETER;
}
+ if (!rpc_h) {
+ LOGW("Not initialized");
+ return AUTOFILL_ERROR_NOT_INITIALIZED;
+ }
+
rpc_port_autofill_view_info_create(&vih);
rpc_port_autofill_view_info_set_view_id(vih, vi->view_id);
LOGD("rpc_h : %p", rpc_h);
- if (rpc_h) {
- rpc_port_proxy_AutofillAppPort_invoke_request_auth_info(rpc_h, vih);
- }
+ ret = rpc_port_proxy_AutofillAppPort_invoke_request_auth_info(rpc_h, vih);
rpc_port_autofill_view_info_destroy(vih);
- return AUTOFILL_ERROR_NONE;
+ return ret;
}
EXPORT_API int autofill_auth_info_set_callback(Autofill_Auth_Info_Cb autofill_auth_info_cb, void *data)
EXPORT_API int autofill_fill_request(autofill_view_info_h vi)
{
+ int ret = AUTOFILL_ERROR_NONE;
rpc_port_autofill_view_info_h vih;
char *id;
char *label;
return AUTOFILL_ERROR_INVALID_PARAMETER;
}
+ if (!rpc_h) {
+ LOGW("Not initialized");
+ return AUTOFILL_ERROR_NOT_INITIALIZED;
+ }
+
Eina_List *l;
autofill_item_h it;
LOGD("app id : %s, view id : %s", vi->app_id, vi->view_id);
- rpc_port_proxy_AutofillAppPort_invoke_send_fill_request(rpc_h, vih);
+ ret = rpc_port_proxy_AutofillAppPort_invoke_send_fill_request(rpc_h, vih);
rpc_port_autofill_view_info_destroy(vih);
- return AUTOFILL_ERROR_NONE;
+ return ret;
}
EXPORT_API int autofill_fill_response_set_callback(Autofill_Fill_Response_Cb autofill_response_cb, void *data)
set_last_result(r);
}
-void rpc_port_proxy_AutofillAppPort_invoke_request_auth_info(rpc_port_proxy_AutofillAppPort_h h, rpc_port_autofill_view_info_h vi)
+int rpc_port_proxy_AutofillAppPort_invoke_request_auth_info(rpc_port_proxy_AutofillAppPort_h h, rpc_port_autofill_view_info_h vi)
{
rpc_port_parcel_h parcel;
int r;
+ int ret = -1;
if (!h || !vi) {
_E("Invalid parameter");
- return;
+ return ret;
}
if (!h->port) {
_E("Not connected");
- return;
+ return ret;
}
rpc_port_parcel_create(&parcel);
}
rpc_port_parcel_destroy(parcel);
+
+ g_rec_mutex_lock(&h->mutex);
+ do {
+ rpc_port_parcel_h parcel_received;
+
+ parcel_received = __AutofillAppPort_consume_command(h);
+ if (!parcel_received) {
+ _E("Invalid protocol");
+ 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_AutofillAppPort_invoke_send_fill_request(rpc_port_proxy_AutofillAppPort_h h, rpc_port_autofill_view_info_h vi)
+int rpc_port_proxy_AutofillAppPort_invoke_send_fill_request(rpc_port_proxy_AutofillAppPort_h h, rpc_port_autofill_view_info_h vi)
{
rpc_port_parcel_h parcel;
int r;
+ int ret = -1;
if (!h || !vi) {
_E("Invalid parameter");
- return;
+ return ret;
}
if (!h->port) {
_E("Not connected");
- return;
+ return ret;
}
rpc_port_parcel_create(&parcel);
}
rpc_port_parcel_destroy(parcel);
+
+ g_rec_mutex_lock(&h->mutex);
+ do {
+ rpc_port_parcel_h parcel_received;
+
+ parcel_received = __AutofillAppPort_consume_command(h);
+ if (!parcel_received) {
+ _E("Invalid protocol");
+ 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_AutofillAppPort_invoke_commit(rpc_port_proxy_AutofillAppPort_h h, rpc_port_autofill_save_view_info_h vi)
+int rpc_port_proxy_AutofillAppPort_invoke_commit(rpc_port_proxy_AutofillAppPort_h h, rpc_port_autofill_save_view_info_h vi)
{
rpc_port_parcel_h parcel;
int r;
+ int ret = -1;
if (!h || !vi) {
_E("Invalid parameter");
- return;
+ return ret;
}
if (!h->port) {
_E("Not connected");
- return;
+ return ret;
}
rpc_port_parcel_create(&parcel);
}
rpc_port_parcel_destroy(parcel);
+
+ g_rec_mutex_lock(&h->mutex);
+ do {
+ rpc_port_parcel_h parcel_received;
+
+ parcel_received = __AutofillAppPort_consume_command(h);
+ if (!parcel_received) {
+ _E("Invalid protocol");
+ 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;
}
static struct AutofillAppPort_s *__create_AutofillAppPort(const char *stub_appid, rpc_port_proxy_AutofillAppPort_callback_s *callback, void *user_data)
void rpc_port_proxy_AutofillAppPort_invoke_Unregister(rpc_port_proxy_AutofillAppPort_h h);
-void rpc_port_proxy_AutofillAppPort_invoke_request_auth_info(rpc_port_proxy_AutofillAppPort_h h, rpc_port_autofill_view_info_h vi);
+int rpc_port_proxy_AutofillAppPort_invoke_request_auth_info(rpc_port_proxy_AutofillAppPort_h h, rpc_port_autofill_view_info_h vi);
-void rpc_port_proxy_AutofillAppPort_invoke_send_fill_request(rpc_port_proxy_AutofillAppPort_h h, rpc_port_autofill_view_info_h vi);
+int rpc_port_proxy_AutofillAppPort_invoke_send_fill_request(rpc_port_proxy_AutofillAppPort_h h, rpc_port_autofill_view_info_h vi);
-void rpc_port_proxy_AutofillAppPort_invoke_commit(rpc_port_proxy_AutofillAppPort_h h, rpc_port_autofill_save_view_info_h vi);
+int rpc_port_proxy_AutofillAppPort_invoke_commit(rpc_port_proxy_AutofillAppPort_h h, rpc_port_autofill_save_view_info_h vi);
#ifdef __cplusplus
}
*
* @privlevel public
*
+ * @privilege %http://tizen.org/privilege/appmanager.launch \n
+ * %http://tizen.org/privilege/datasharing
+ *
* @return 0 on success, otherwise a negative error value
* @retval #AUTOFILL_ERROR_NONE No error
+ * @retval #AUTOFILL_ERROR_PERMISSION_DENIED Permission denied
*/
int autofill_initialize(autofill_connection_status_changed_cb callback, void *user_data);
*
* @return 0 on success, otherwise a negative error value
* @retval #AUTOFILL_ERROR_NONE No error
+ * @retval #AUTOFILL_ERROR_NOT_INITIALIZED Not initialized
*/
int autofill_deinitialize();
*
* @return 0 on success, otherwise a negative error value
* @retval #AUTOFILL_ERROR_NONE No error
+ * @retval #AUTOFILL_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #AUTOFILL_ERROR_NOT_INITIALIZED Not initialized
*/
int autofill_auth_info_request(autofill_view_info_h vi);
*
* @return 0 on success, otherwise a negative error value
* @retval #AUTOFILL_ERROR_NONE No error
+ * @retval #AUTOFILL_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #AUTOFILL_ERROR_NOT_INITIALIZED Not initialized
*/
int autofill_fill_request(autofill_view_info_h vi);
*
* @return 0 on success, otherwise a negative error value
* @retval #AUTOFILL_ERROR_NONE No error
+ * @retval #AUTOFILL_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #AUTOFILL_ERROR_NOT_INITIALIZED Not initialized
*/
int autofill_commit(autofill_save_view_info_h vi);
rpc_port_autofill_view_info_create(&vi);
rpc_port_parcel_read(parcel, &vi->parcelable, vi);
- context->callback.request_auth_info(context, vi, context->user_data);
+ int ret = context->callback.request_auth_info(context, vi, context->user_data);
+ do {
+ rpc_port_parcel_h result;
+
+ rpc_port_parcel_create(&result);
+ rpc_port_parcel_write_int32(result, AutofillAppPort_METHOD_Result);
+ rpc_port_parcel_write_int32(result, ret);
+ rpc_port_parcel_send(result, port);
+ rpc_port_parcel_destroy(result);
+ } while (0);
rpc_port_autofill_view_info_destroy(vi);
return 0;
rpc_port_autofill_view_info_create(&vi);
rpc_port_parcel_read(parcel, &vi->parcelable, vi);
- context->callback.send_fill_request(context, vi, context->user_data);
+ int ret = context->callback.send_fill_request(context, vi, context->user_data);
+ do {
+ rpc_port_parcel_h result;
+
+ rpc_port_parcel_create(&result);
+ rpc_port_parcel_write_int32(result, AutofillAppPort_METHOD_Result);
+ rpc_port_parcel_write_int32(result, ret);
+ rpc_port_parcel_send(result, port);
+ rpc_port_parcel_destroy(result);
+ } while (0);
rpc_port_autofill_view_info_destroy(vi);
return 0;
rpc_port_autofill_save_view_info_create(&vi);
rpc_port_parcel_read(parcel, &vi->parcelable, vi);
- context->callback.commit(context, vi, context->user_data);
+ int ret = context->callback.commit(context, vi, context->user_data);
+ do {
+ rpc_port_parcel_h result;
+
+ rpc_port_parcel_create(&result);
+ rpc_port_parcel_write_int32(result, AutofillAppPort_METHOD_Result);
+ rpc_port_parcel_write_int32(result, ret);
+ rpc_port_parcel_send(result, port);
+ rpc_port_parcel_destroy(result);
+ } while (0);
rpc_port_autofill_save_view_info_destroy(vi);
return 0;
int (*Register)(rpc_port_stub_AutofillAppPort_context_h context, rpc_port_AutofillAppPort_autofill_auth_info_cb_h auth_info_cb, rpc_port_AutofillAppPort_autofill_fill_response_cb_h fill_response_cb, void *user_data);
void (*Unregister)(rpc_port_stub_AutofillAppPort_context_h context, void *user_data);
- void (*request_auth_info)(rpc_port_stub_AutofillAppPort_context_h context, rpc_port_autofill_view_info_h vi, void *user_data);
- void (*send_fill_request)(rpc_port_stub_AutofillAppPort_context_h context, rpc_port_autofill_view_info_h vi, void *user_data);
- void (*commit)(rpc_port_stub_AutofillAppPort_context_h context, rpc_port_autofill_save_view_info_h vi, void *user_data);
+ int (*request_auth_info)(rpc_port_stub_AutofillAppPort_context_h context, rpc_port_autofill_view_info_h vi, void *user_data);
+ int (*send_fill_request)(rpc_port_stub_AutofillAppPort_context_h context, rpc_port_autofill_view_info_h vi, void *user_data);
+ int (*commit)(rpc_port_stub_AutofillAppPort_context_h context, rpc_port_autofill_save_view_info_h vi, void *user_data);
} rpc_port_stub_AutofillAppPort_callback_s;
int rpc_port_stub_AutofillAppPort_register(rpc_port_stub_AutofillAppPort_callback_s *callback, void *user_data);
return true;
}
-static void __auth_info_request_cb(rpc_port_stub_AutofillAppPort_context_h context, rpc_port_autofill_view_info_h vi, void *user_data)
+static int __auth_info_request_cb(rpc_port_stub_AutofillAppPort_context_h context, rpc_port_autofill_view_info_h vi, void *user_data)
{
char *sender = NULL;
autofill_client_s *sender_client;
rpc_port_autofill_svc_view_info_destroy(svi);
+ return 0;
}
-static void __autofill_fill_request_cb(rpc_port_stub_AutofillAppPort_context_h context, rpc_port_autofill_view_info_h vi, void *user_data)
+static int __autofill_fill_request_cb(rpc_port_stub_AutofillAppPort_context_h context, rpc_port_autofill_view_info_h vi, void *user_data)
{
char *sender = NULL;
char *view_id = NULL;
free(view_id);
rpc_port_autofill_svc_view_info_destroy(svi);
+
+ return 0;
}
-static void __commit_cb(rpc_port_stub_AutofillAppPort_context_h context, rpc_port_autofill_save_view_info_h vi, void *user_data)
+static int __commit_cb(rpc_port_stub_AutofillAppPort_context_h context, rpc_port_autofill_save_view_info_h vi, void *user_data)
{
char *sender = NULL;
autofill_client_s *sender_client;
free(view_id);
rpc_port_autofill_svc_save_view_info_destroy(svi);
+
+ return 0;
}
bool fill_response_item_cb(rpc_port_autofill_svc_response_item_h response_items, void *user_data)
LOGD("Send fill request");
autofill_fill_response_set_callback(_autofill_fill_response_cb, NULL);
- autofill_fill_request(autofill_view_info);
+ int ret = autofill_fill_request(autofill_view_info);
+ if (ret == AUTOFILL_ERROR_NONE)
+ LOGD("Succeeded to request fill");
+ else if (ret == AUTOFILL_ERROR_PERMISSION_DENIED)
+ LOGW("permission denied");
+ else
+ LOGW("Failed to request fill : %d", ret);
}
static void
_request_autofill_auth_info()
{
+ int ret;
autofill_auth_info_set_callback(_autofill_auth_info_cb, NULL);
- autofill_auth_info_request(autofill_view_info);
+ ret = autofill_auth_info_request(autofill_view_info);
+ if (ret == AUTOFILL_ERROR_NONE)
+ LOGD("Succeeded to request auth info");
+ else if (ret == AUTOFILL_ERROR_PERMISSION_DENIED)
+ LOGW("permission denied");
+ else
+ LOGW("Failed to request auth info. error : %d", ret);
}
static void
_save_autofill_info()
{
+ int ret;
char *app_id;
app_get_id(&app_id);
autofill_save_view_info_h autofill_save_view_info = NULL;
if (app_id)
free(app_id);
- autofill_commit(autofill_save_view_info);
+ ret = autofill_commit(autofill_save_view_info);
+ if (ret == AUTOFILL_ERROR_NONE)
+ LOGD("Succeeded to request auth info");
+ else if (ret == AUTOFILL_ERROR_PERMISSION_DENIED)
+ LOGW("permission denied");
+ else
+ LOGW("Failed to request auth info. error : %d", ret);
autofill_save_view_info_destroy(autofill_save_view_info);
}
{
Ecore_Evas *ee;
Evas *evas;
+ int ret;
if (!ecore_evas_init())
{
ecore_imf_init();
- autofill_initialize(connection_status_changed_cb, NULL);
+ ret = autofill_initialize(connection_status_changed_cb, NULL);
+ if (ret == AUTOFILL_ERROR_NONE)
+ LOGD("Succeeded to initialize");
+ else if (ret == AUTOFILL_ERROR_PERMISSION_DENIED)
+ LOGW("permission denied");
+ else
+ LOGW("Failed to initialize. error : %d", ret);
// create a new window, with size=WIDTHxHEIGHT and default engine
ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
int Register(autofill_auth_info_cb auth_info_cb, autofill_fill_response_cb fill_response_cb);
void Unregister() async;
- void request_auth_info(autofill_view_info vi) async;
- void send_fill_request(autofill_view_info vi) async;
- void commit(autofill_save_view_info vi) async;
+ int request_auth_info(autofill_view_info vi);
+ int send_fill_request(autofill_view_info vi);
+ int commit(autofill_save_view_info vi);
}