#define CT_OPERATION_RESULT_TYPE "http://tizen.org/appcontrol/data/social/result_type"
#define CT_OPERATION_PATH "http://tizen.org/appcontrol/data/path"
#define CT_OPERATION_RETURN_RESULT "http://tizen.org/appcontrol/data/social/return_result"
-#define CT_OPERATION_SELECTION_MODE "http://tizen.org/appcontrol/data/social/selection_mode"
+#define CT_OPERATION_SELECTION_MODE "http://tizen.org/appcontrol/data/selection_mode"
#define CT_OPERATION_ITEM_TYPE_PERSON "person"
#define CT_OPERATION_ITEM_TYPE_CONTACT "contact"
void phone_list_ug_return_values(service_h service, int *result_list, int cnt, const char *result_type);
void phone_list_ug_return_number_email_ids(ui_gadget_h ug, int *result_number_list, int number_list_count, int *result_email_list, int email_list_count);
void phone_ug_return_id(ui_gadget_h ug, int ct_id, int num_id, int email_id);
-void phone_ug_return_value(service_h service, int ct_id, int num_id, int email_id);
+void phone_ug_return_value(service_h service, int ct_id, int num_id, int email_id, int result_id);
void phone_ug_return_vcard(ui_gadget_h ug, int ct_id, char *vcard);
void phone_ug_operation_return_vcard(service_h service, int ct_id, char *vcard);
Evas_Object* phone_create_nocontents(Evas_Object *parent, const char* label);
service_destroy(service);
}
-void phone_ug_return_value(service_h service, int person_id, int num_id, int email_id)
+void phone_ug_return_value(service_h service, int person_id, int num_id, int email_id, int result_id)
{
service_h reply;
char buf[16];
free(result_array[0]);
free(result_array);
+
+ return;
}
if (num_id) {
free(result_array[0]);
free(result_array);
+
+ return;
}
if (email_id) {
free(result_array[0]);
free(result_array);
+
+ return;
+ }
+
+ if (result_id) {
+ snprintf(buf, sizeof(buf), "%d", person_id);
+ PH_DBG("person id %s", buf);
+
+ service_add_extra_data(reply, CT_OPERATION_ITEM_ID, buf);
+
+ service_reply_to_launch_request(reply, service, SERVICE_RESULT_SUCCEEDED);
+
+ service_destroy(reply);
+
+ return;
}
}
void phone_ug_operation_return_vcard(service_h service, int ct_id, char *vcard)
{
service_h reply;
- char **result_array = NULL;
- result_array = calloc(1, sizeof(char *));
service_create(&reply);
if (vcard) {
- result_array[0] = vcard;
- service_add_extra_data_array(reply, CT_OPERATION_PATH, (const char **)result_array, 1);
+ service_add_extra_data(reply, CT_OPERATION_PATH, vcard);
}
service_reply_to_launch_request(reply, service, SERVICE_RESULT_SUCCEEDED);
service_destroy(reply);
-
- free(result_array);
}
void phone_ug_return_vcard(ui_gadget_h ug, int ct_id, char *vcard)
free(val);
return -1;
}
-
free(val);
val = NULL;
return -1;
}
- service_get_extra_data(service, CT_OPERATION_PHONE, &val);
- if(val)
+ service_get_extra_data(service, CT_OPERATION_PHONE, &val1);
+ if(val1)
{
if (NULL == cdetail_d->contact) {
err = contacts_record_create(_contacts_contact._uri, &(cdetail_d->contact));
}
}
- __detail_set_contact_data(cdetail_d->contact, CT_OPERATION_PHONE, val);
+ __detail_set_contact_data(cdetail_d->contact, CT_OPERATION_PHONE, val1);
- free(val);
- val = NULL;
+ free(val1);
+ val1 = NULL;
}
- service_get_extra_data(service, CT_OPERATION_EMAIL, &val);
- if(val)
+
+ service_get_extra_data(service, CT_OPERATION_EMAIL, &val1);
+ if(val1)
{
if (NULL == cdetail_d->contact) {
err = contacts_record_create(_contacts_contact._uri, &(cdetail_d->contact));
}
}
- __detail_set_contact_data(cdetail_d->contact, CT_OPERATION_EMAIL, val);
+ __detail_set_contact_data(cdetail_d->contact, CT_OPERATION_EMAIL, val1);
- free(val);
- val = NULL;
+ free(val1);
+ val1 = NULL;
}
- service_get_extra_data(service, CT_OPERATION_URL, &val);
- if(val)
+
+ service_get_extra_data(service, CT_OPERATION_URL, &val1);
+ if(val1)
{
if (NULL == cdetail_d->contact) {
err = contacts_record_create(_contacts_contact._uri, &(cdetail_d->contact));
return -1;
}
}
- __detail_set_contact_data(cdetail_d->contact, CT_OPERATION_URL, val);
+ __detail_set_contact_data(cdetail_d->contact, CT_OPERATION_URL, val1);
- free(val);
- val = NULL;
+ free(val1);
+ val1 = NULL;
}
return CT_UG_REQUEST_ADD;
PH_DBG("person id %s", val1);
cdetail_d->person_id = atoi(val1);
free(val1);
+ val1 = NULL;
if (cdetail_d->person_id) { // From OSP
Eina_List *list_contact = ctui_person_get_writable_contact_list(cdetail_d->person_id);
return -1;
}
- service_get_extra_data(service, CT_OPERATION_PHONE, &val);
- if(val)
+ service_get_extra_data(service, CT_OPERATION_PHONE, &val1);
+ if(val1)
{
- __detail_set_contact_data(cdetail_d->contact, CT_OPERATION_PHONE, val);
+ __detail_set_contact_data(cdetail_d->contact, CT_OPERATION_PHONE, val1);
- free(val);
- val = NULL;
+ free(val1);
+ val1 = NULL;
}
- service_get_extra_data(service, CT_OPERATION_EMAIL, &val);
- if(val)
+
+ service_get_extra_data(service, CT_OPERATION_EMAIL, &val1);
+ if(val1)
{
- __detail_set_contact_data(cdetail_d->contact, CT_OPERATION_EMAIL, val);
+ __detail_set_contact_data(cdetail_d->contact, CT_OPERATION_EMAIL, val1);
- free(val);
- val = NULL;
+ free(val1);
+ val1 = NULL;
}
- service_get_extra_data(service, CT_OPERATION_URL, &val);
- if(val)
+
+ service_get_extra_data(service, CT_OPERATION_URL, &val1);
+ if(val1)
{
- __detail_set_contact_data(cdetail_d->contact, CT_OPERATION_URL, val);
+ __detail_set_contact_data(cdetail_d->contact, CT_OPERATION_URL, val1);
- free(val);
- val = NULL;
+ free(val1);
+ val1 = NULL;
}
return CT_UG_REQUEST_EDIT;
}
else {
cinput_d->saved = true;
if(cdetail_d->service_operation)
- phone_ug_return_value(cdetail_d->service_operation, cdetail_d->person_id, 0, 0);
+ phone_ug_return_value(cdetail_d->service_operation, 0, 0, 0, cdetail_d->person_id);
}
}
else {
if (NULL == cdetail_d->prev_view_data && cdetail_d->ug) {
phone_ug_return_id(cdetail_d->ug, ret_id, 0, 0);
if(cdetail_d->service_operation)
- phone_ug_return_value(cdetail_d->service_operation, ret_id, 0, 0);
+ phone_ug_return_value(cdetail_d->service_operation, 0, 0, 0, ret_id);
}
}
clist_d->ug_request = CT_UG_REQUEST_UPDATE_CONTACT;
clist_d->list_op = CT_GET_LIST_PERSON_OF_WRITABLE_ADDRBOOK_ID;
- service_get_extra_data(service, CT_OPERATION_PHONE, &val);
- if(val) {
+ service_get_extra_data(service, CT_OPERATION_PHONE, &val1);
+ if(val1) {
clist_d->ug_request = CT_UG_REQUEST_UPDATE_WITH_NUM;
- clist_d->ug_data = val;
+ clist_d->ug_data = val1;
return 1;
}
- service_get_extra_data(service, CT_OPERATION_EMAIL, &val);
- if(val) {
+
+ service_get_extra_data(service, CT_OPERATION_EMAIL, &val1);
+ if(val1) {
clist_d->ug_request = CT_UG_REQUEST_UPDATE_WITH_EMAIL;
- clist_d->ug_data = val;
+ clist_d->ug_data = val1;
return 1;
}
- service_get_extra_data(service, CT_OPERATION_URL, &val);
- if(val) {
+
+ service_get_extra_data(service, CT_OPERATION_URL, &val1);
+ if(val1) {
clist_d->ug_request = CT_UG_REQUEST_UPDATE_WITH_WEB;
- clist_d->ug_data = val;
+ clist_d->ug_data = val1;
return 1;
}
}
else if(strcmp(operation, CT_OPERATION_SOCIAL_PICK) == 0) {
service_get_extra_data(service, CT_OPERATION_ITEM_TYPE, &val);
- if(strcmp(val, CT_OPERATION_ITEM_TYPE_PERSON) != 0) {
- ERR("CT_OPERATION_ITEM_TYPE_PERSON not matched %s", val);
- free(val);
- return -1;
- }
- free(val);
- val = NULL;
-
- service_get_extra_data(service, CT_OPERATION_ITEM_TYPE, &val);
if(val) {
if(strcmp(val, CT_OPERATION_ITEM_TYPE_PERSON) != 0) {
ERR("CT_OPERATION_ITEM_TYPE_PERSON not matched %s", val);
}
free(val);
}
+ else {
+ ERR("CT_OPERATION_SELECTION_MODE is mandatory");
+ return -1;
+ }
}
else {
ERR("operation wrong");
}
else {
if(clist_d->service_operation)
- phone_ug_return_value(clist_d->service_operation, 0, (int)data, 0);
+ phone_ug_return_value(clist_d->service_operation, 0, (int)data, 0, 0);
else
phone_ug_return_id(clist_d->ug, person_id, (int)data, 0);
ug_destroy_me(clist_d->ug);
}
else {
if(clist_d->service_operation)
- phone_ug_return_value(clist_d->service_operation, 0, 0, (int)data);
+ phone_ug_return_value(clist_d->service_operation, 0, 0, (int)data, 0);
else
phone_ug_return_id(clist_d->ug, contact_id, 0, (int)data);
err = contacts_record_get_int(record, _contacts_number.id, &number_id);
p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
if(clist_d->service_operation)
- phone_ug_return_value(clist_d->service_operation, 0, number_id, 0);
+ phone_ug_return_value(clist_d->service_operation, 0, number_id, 0, 0);
else
phone_ug_return_id(clist_d->ug, person_info->id, number_id, 0);
ug_destroy_me(clist_d->ug);
err = contacts_record_get_int(record, _contacts_email.id, &email_id);
p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
if(clist_d->service_operation)
- phone_ug_return_value(clist_d->service_operation, 0, 0, email_id);
+ phone_ug_return_value(clist_d->service_operation, 0, 0, email_id, 0);
else
phone_ug_return_id(clist_d->ug, person_info->id, 0, email_id);
ug_destroy_me(clist_d->ug);
err = contacts_record_get_int(record, _contacts_number.id, &number_id);
p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
if(clist_d->service_operation)
- phone_ug_return_value(clist_d->service_operation, 0, number_id, 0);
+ phone_ug_return_value(clist_d->service_operation, 0, number_id, 0, 0);
else
phone_ug_return_id(clist_d->ug, person_info->id, number_id, 0);
ug_destroy_me(clist_d->ug);
err = contacts_record_get_int(record, _contacts_email.id, &email_id);
p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
if(clist_d->service_operation)
- phone_ug_return_value(clist_d->service_operation, 0, 0, email_id);
+ phone_ug_return_value(clist_d->service_operation, 0, 0, email_id, 0);
else
phone_ug_return_id(clist_d->ug, person_info->id, 0, email_id);
ug_destroy_me(clist_d->ug);
case CT_UG_REQUEST_SELECT_PERSON:
if (clist_d->ug) {
if(clist_d->service_operation)
- phone_ug_return_value(clist_d->service_operation, person_info->id, 0, 0);
+ phone_ug_return_value(clist_d->service_operation, person_info->id, 0, 0, 0);
else
phone_ug_return_id(clist_d->ug, person_info->id, 0, 0);
ug_destroy_me(clist_d->ug);