4 * Copyright (c) 2012 - 2013 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Wonyoung Lee <wy1115.lee@samsung.com>, Sungchan Kim <sungchan81.kim@samsung.com>
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
25 * @defgroup Account_PG Account
28 <h1 class="pg">Introduction</h1>
29 <h2 class="pg">Purpose of this document</h2>
31 The purpose of this document is to describe how applications can use account APIs for handling Account's information. This document gives programming guidelines to application engineers and examples of using Account data.
33 <h2 class="pg">Scope</h2>
35 The scope of this document is limited to Account API usage.
38 <h1 class="pg">Account Architecture</h1>
39 <h2 class="pg"> Overview</h2>
41 Account is responsible for inserting, deleting, and updating Account data in order to accommodate the needs for application's Account data.
42 Users can access Account data without knowing DB schema, SQLite, relations of data
44 <h1 class="pg">Account Features</h1>
46 - Handle information of Account
48 <h2 class="pg">Similar to Sqlite3</h2>
49 Account API is similar to Sqlite3.
51 <h2 class="pg">Handle information of Account</h2>
52 Account supports to insert/update/delete/get/set/query information of Account.
53 The Information of Account includes user name, package name, email, access token, icon path, source, display name, capability informatio etc.
55 <h1 class="pg">Account API Description</h1>
57 you can refer @ref ACCOUNT_SVC
59 <h1 class="pg">Sample Code</h1>
61 <h2 class="pg">Connect to Account Database</h2>
63 Before using Account information from Account API, caller module should connect to the Account database, and after finishing with the account information, should disconnect from the Account database
66 int account_connect(void);
68 int account_disconnect(void);
71 <h2 class="pg">Insert information of account</h2>
74 void insert_test(void)
79 ret = account_connect();
80 if(ret != ACCOUNT_ERROR_NONE)
82 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
85 ret = account_create(&account);
86 if(ret != ACCOUNT_ERROR_NONE)
88 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
91 ret = account_set_user_name(account, "tarun.kr");
93 if(ret != ACCOUNT_ERROR_NONE)
95 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
98 ret = account_set_display_name(account, "Tarun Kumar");
100 if(ret != ACCOUNT_ERROR_NONE)
102 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
105 ret = account_set_domain_name(account, "Samsung electronics");
106 if(ret != ACCOUNT_ERROR_NONE)
108 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
111 ret = account_set_email_address(account, "tarun@gmail.com");
112 if(ret != ACCOUNT_ERROR_NONE)
114 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
117 ret = account_set_package_name(account, "com.samsung.twiter");
118 if(ret != ACCOUNT_ERROR_NONE)
120 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
123 ret = account_set_icon_path(account, "icon-path");
124 if(ret != ACCOUNT_ERROR_NONE)
126 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
129 ret = account_set_access_token(account, "ACCESSTOKEN");
130 if(ret != ACCOUNT_ERROR_NONE)
132 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
135 ret = account_set_auth_type( account, ACCOUNT_AUTH_TYPE_OAUTH );
136 if(ret != ACCOUNT_ERROR_NONE)
138 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
141 ret = account_set_secret( account, ACCOUNT_SECRECY_INVISIBLE );
142 if(ret != ACCOUNT_ERROR_NONE)
144 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
146 ret = account_set_source(account, "URUSA inc.");
150 for(i=0;i<USER_TXT_CNT;i++)
152 ret = account_set_user_text(account, i, "user txt");
153 if(ret != ACCOUNT_ERROR_NONE)
155 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p, i=%d\n", __LINE__, ret, account, i);
160 for(i=0;i<USER_INT_CNT;i++)
162 ret = account_set_user_int(account, i, 888);
163 if(ret != ACCOUNT_ERROR_NONE)
165 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p, i=%d\n", __LINE__, ret, account, i);
169 ret = account_set_capability(account, ACCOUNT_CAPABILITY_CONTACT, ACCOUNT_CAPABILITY_ENABLED);
170 ret = account_set_capability(account, ACCOUNT_CAPABILITY_CALENDAR, ACCOUNT_CAPABILITY_ENABLED);
171 ret = account_set_capability(account, ACCOUNT_CAPABILITY_PHOTO, ACCOUNT_CAPABILITY_ENABLED);
172 ret = account_set_capability(account, ACCOUNT_CAPABILITY_VIDEO, ACCOUNT_CAPABILITY_ENABLED);
173 ret = account_set_capability(account, ACCOUNT_CAPABILITY_EMAIL, ACCOUNT_CAPABILITY_ENABLED);
174 ret = account_set_capability(account, ACCOUNT_CAPABILITY_STATUS_POST, ACCOUNT_CAPABILITY_ENABLED);
175 ret = account_set_capability(account, ACCOUNT_CAPABILITY_VOIP, ACCOUNT_CAPABILITY_ENABLED);
176 ret = account_set_capability(account, ACCOUNT_CAPABILITY_SAMSUNG_APPS, ACCOUNT_CAPABILITY_ENABLED);
177 ret = account_set_capability(account, ACCOUNT_CAPABILITY_MOBILE_TRACKER, ACCOUNT_CAPABILITY_ENABLED);
180 ret = account_insert_to_db(account, &account_id);
181 if(ret != ACCOUNT_ERROR_NONE)
183 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
187 ret = account_destroy(account);
188 if(ret != ACCOUNT_ERROR_NONE)
190 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
193 ret = account_disconnect();
194 if(ret != ACCOUNT_ERROR_NONE)
196 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
203 <h2 class="pg">Get account by id</h2>
206 bool _capability_get_callback(const char* capability_type, account_capability_state_e capability_value, void* user_data)
208 char* test_type = capability_type;
209 int test_value = capability_value;
211 SECURE_LOGD("_capability_get_callback test_type = : %s\n", test_type);
212 SECURE_LOGD("_capability_get_callback test_value = : %d\n", test_value);
216 static void _account_free_text(char *text)
224 void get_account_by_id(int account_id)
229 ret = account_connect();
230 if(ret != ACCOUNT_ERROR_NONE)
232 SECURE_LOGD("(%d)-[Account] ret = %d, \n", __LINE__, ret);
235 ret = account_create(&account);
236 if(ret != ACCOUNT_ERROR_NONE)
238 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
241 ret = account_query_account_by_account_id(account_id, &account);
242 if(ret != ACCOUNT_ERROR_NONE)
244 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
247 char *test_text = NULL;
249 account_get_user_name(handle, &test_text);
250 SECURE_LOGD("_account_get_callback : %s\n", test_text);
252 _account_free_text(test_text);
254 account_get_display_name(handle, &test_text);
255 SECURE_LOGD("_account_get_callback : %s\n", test_text);
257 _account_free_text(test_text);
259 account_get_email_address(handle, &test_text);
260 SECURE_LOGD("_account_get_callback : %s\n", test_text);
262 _account_free_text(test_text);
264 account_get_icon_path(handle, &test_text);
265 SECURE_LOGD("_account_get_callback : %s\n", test_text);
267 _account_free_text(test_text);
269 account_get_source(handle, &test_text);
270 SECURE_LOGD("_account_get_callback : %s\n", test_text);
272 _account_free_text(test_text);
274 account_get_package_name(handle, &test_text);
275 SECURE_LOGD("_account_get_callback : %s\n", test_text);
277 _account_free_text(test_text);
279 account_get_domain_name(handle, &test_text);
280 SECURE_LOGD("_account_get_callback : %s\n", test_text);
282 _account_free_text(test_text);
284 account_get_access_token(handle, &test_text);
285 SECURE_LOGD("_account_get_callback : %s\n", test_text);
289 for(i=0;i<USER_TXT_CNT;i++)
291 _account_free_text(test_text);
293 account_get_user_text(handle, i, &test_text);
294 SECURE_LOGD("_account_get_callback : %s\n", test_text);
299 account_auth_type_e auth_type;
300 account_get_auth_type(handle, &auth_type);
301 SECURE_LOGD("account_get_auth_type : %d\n", auth_type);
303 account_secrecy_state_e secret;
304 account_get_secret(handle, &secret);
305 SECURE_LOGD("account_get_secret : %d\n", secret);
307 account_sync_state_e sync_support;
308 account_get_sync_support(handle, &sync_support);
309 SECURE_LOGD("account_get_sync_support : %d\n", sync_support);
311 for(i=0;i<USER_INT_CNT;i++)
314 account_get_user_int(handle, i, &test_int);
315 SECURE_LOGD("_account_get_callback : %d\n", test_int);
318 account_get_capability(handle, _capability_get_callback, NULL);
320 ret = account_destroy(account);
321 if(ret != ACCOUNT_ERROR_NONE)
323 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
326 ret = account_disconnect();
327 if(ret != ACCOUNT_ERROR_NONE)
329 SECURE_LOGD("(%d)-[Account] ret = %d, \n", __LINE__, ret);
335 <h2 class="pg">Get account list by user name</h2>
338 static void _account_free_text(char *text)
346 bool _account_get_callback(account_h handle, void* user_data)
348 SECURE_LOGD("_account_get_callback\n");
350 char *test_text = NULL;
352 account_get_user_name(handle, &test_text);
353 SECURE_LOGD("_account_get_callback : %s\n", test_text);
355 _account_free_text(test_text);
357 account_get_display_name(handle, &test_text);
358 SECURE_LOGD("_account_get_callback : %s\n", test_text);
360 _account_free_text(test_text);
362 account_get_email_address(handle, &test_text);
363 SECURE_LOGD("_account_get_callback : %s\n", test_text);
365 _account_free_text(test_text);
367 account_get_icon_path(handle, &test_text);
368 SECURE_LOGD("_account_get_callback : %s\n", test_text);
370 _account_free_text(test_text);
372 account_get_source(handle, &test_text);
373 SECURE_LOGD("_account_get_callback : %s\n", test_text);
375 _account_free_text(test_text);
377 account_get_package_name(handle, &test_text);
378 SECURE_LOGD("_account_get_callback : %s\n", test_text);
380 _account_free_text(test_text);
382 account_get_domain_name(handle, &test_text);
383 SECURE_LOGD("_account_get_callback : %s\n", test_text);
385 _account_free_text(test_text);
387 account_get_access_token(handle, &test_text);
388 SECURE_LOGD("_account_get_callback : %s\n", test_text);
392 for(i=0;i<USER_TXT_CNT;i++)
394 _account_free_text(test_text);
396 account_get_user_text(handle, i, &test_text);
397 SECURE_LOGD("_account_get_callback : %s\n", test_text);
402 account_auth_type_e auth_type;
403 account_get_auth_type(handle, &auth_type);
404 SECURE_LOGD("account_get_auth_type : %d\n", auth_type);
406 account_secrecy_state_e secret;
407 account_get_secret(handle, &secret);
408 SECURE_LOGD("account_get_secret : %d\n", secret);
410 account_sync_state_e sync_support;
411 account_get_sync_support(handle, &sync_support);
412 SECURE_LOGD("account_get_sync_support : %d\n", sync_support);
414 for(i=0;i<USER_INT_CNT;i++)
417 account_get_user_int(handle, i, &test_int);
418 SECURE_LOGD("_account_get_callback : %d\n", test_int);
421 account_get_capability(handle, _capability_get_callback, NULL);
427 void get_account_list_by_user_name(char * user_name)
432 ret = account_connect();
433 if(ret != ACCOUNT_ERROR_NONE)
435 SECURE_LOGD("(%d)-[Account] ret = %d, \n", __LINE__, ret);
438 ret = account_query_account_by_user_name(_account_get_callback, user_name, NULL);
439 if(ret != ACCOUNT_ERROR_NONE)
441 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
444 ret = account_disconnect();
445 if(ret != ACCOUNT_ERROR_NONE)
447 SECURE_LOGD("(%d)-[Account] ret = %d, \n", __LINE__, ret);
452 <h2 class="pg">Get account list by package name</h2>
455 static void _account_free_text(char *text)
463 bool _account_get_callback(account_h handle, void* user_data)
465 SECURE_LOGD("_account_get_callback\n");
467 char *test_text = NULL;
469 account_get_user_name(handle, &test_text);
470 SECURE_LOGD("_account_get_callback : %s\n", test_text);
472 _account_free_text(test_text);
474 account_get_display_name(handle, &test_text);
475 SECURE_LOGD("_account_get_callback : %s\n", test_text);
477 _account_free_text(test_text);
479 account_get_email_address(handle, &test_text);
480 SECURE_LOGD("_account_get_callback : %s\n", test_text);
482 _account_free_text(test_text);
484 account_get_icon_path(handle, &test_text);
485 SECURE_LOGD("_account_get_callback : %s\n", test_text);
487 _account_free_text(test_text);
489 account_get_source(handle, &test_text);
490 SECURE_LOGD("_account_get_callback : %s\n", test_text);
492 _account_free_text(test_text);
494 account_get_package_name(handle, &test_text);
495 SECURE_LOGD("_account_get_callback : %s\n", test_text);
497 _account_free_text(test_text);
499 account_get_domain_name(handle, &test_text);
500 SECURE_LOGD("_account_get_callback : %s\n", test_text);
502 _account_free_text(test_text);
504 account_get_access_token(handle, &test_text);
505 SECURE_LOGD("_account_get_callback : %s\n", test_text);
509 for(i=0;i<USER_TXT_CNT;i++)
511 _account_free_text(test_text);
513 account_get_user_text(handle, i, &test_text);
514 SECURE_LOGD("_account_get_callback : %s\n", test_text);
519 account_auth_type_e auth_type;
520 account_get_auth_type(handle, &auth_type);
521 SECURE_LOGD("account_get_auth_type : %d\n", auth_type);
523 account_secrecy_state_e secret;
524 account_get_secret(handle, &secret);
525 SECURE_LOGD("account_get_secret : %d\n", secret);
527 account_sync_state_e sync_support;
528 account_get_sync_support(handle, &sync_support);
529 SECURE_LOGD("account_get_sync_support : %d\n", sync_support);
531 for(i=0;i<USER_INT_CNT;i++)
534 account_get_user_int(handle, i, &test_int);
535 SECURE_LOGD("_account_get_callback : %d\n", test_int);
538 account_get_capability(handle, _capability_get_callback, NULL);
543 void get_account_list_by_package_name(char * package_name)
548 ret = account_connect();
549 if(ret != ACCOUNT_ERROR_NONE)
551 SECURE_LOGD("(%d)-[Account] ret = %d, \n", __LINE__, ret);
554 ret = account_query_account_by_package_name(_account_get_callback, package_name, NULL);
555 if(ret != ACCOUNT_ERROR_NONE)
557 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
560 ret = account_disconnect();
561 if(ret != ACCOUNT_ERROR_NONE)
563 SECURE_LOGD("(%d)-[Account] ret = %d, \n", __LINE__, ret);
568 <h2 class="pg">Get all account list</h2>
571 static void _account_free_text(char *text)
579 bool _account_get_callback(account_h handle, void* user_data)
581 SECURE_LOGD("_account_get_callback\n");
583 char *test_text = NULL;
585 account_get_user_name(handle, &test_text);
586 SECURE_LOGD("_account_get_callback : %s\n", test_text);
588 _account_free_text(test_text);
590 account_get_display_name(handle, &test_text);
591 SECURE_LOGD("_account_get_callback : %s\n", test_text);
593 _account_free_text(test_text);
595 account_get_email_address(handle, &test_text);
596 SECURE_LOGD("_account_get_callback : %s\n", test_text);
598 _account_free_text(test_text);
600 account_get_icon_path(handle, &test_text);
601 SECURE_LOGD("_account_get_callback : %s\n", test_text);
603 _account_free_text(test_text);
605 account_get_source(handle, &test_text);
606 SECURE_LOGD("_account_get_callback : %s\n", test_text);
608 _account_free_text(test_text);
610 account_get_package_name(handle, &test_text);
611 SECURE_LOGD("_account_get_callback : %s\n", test_text);
613 _account_free_text(test_text);
615 account_get_domain_name(handle, &test_text);
616 SECURE_LOGD("_account_get_callback : %s\n", test_text);
618 _account_free_text(test_text);
620 account_get_access_token(handle, &test_text);
621 SECURE_LOGD("_account_get_callback : %s\n", test_text);
625 for(i=0;i<USER_TXT_CNT;i++)
627 _account_free_text(test_text);
629 account_get_user_text(handle, i, &test_text);
630 SECURE_LOGD("_account_get_callback : %s\n", test_text);
635 account_auth_type_e auth_type;
636 account_get_auth_type(handle, &auth_type);
637 SECURE_LOGD("account_get_auth_type : %d\n", auth_type);
639 account_secrecy_state_e secret;
640 account_get_secret(handle, &secret);
641 SECURE_LOGD("account_get_secret : %d\n", secret);
643 account_sync_state_e sync_support;
644 account_get_sync_support(handle, &sync_support);
645 SECURE_LOGD("account_get_sync_support : %d\n", sync_support);
647 for(i=0;i<USER_INT_CNT;i++)
650 account_get_user_int(handle, i, &test_int);
651 SECURE_LOGD("_account_get_callback : %d\n", test_int);
654 account_get_capability(handle, _capability_get_callback, NULL);
659 void get_all_account()
664 ret = account_connect();
665 if(ret != ACCOUNT_ERROR_NONE)
667 SECURE_LOGD("(%d)-[Account] ret = %d, \n", __LINE__, ret);
670 ret = account_foreach_account_from_db(_account_get_callback, NULL);
671 if(ret != ACCOUNT_ERROR_NONE)
673 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
676 ret = account_disconnect();
677 if(ret != ACCOUNT_ERROR_NONE)
679 SECURE_LOGD("(%d)-[Account] ret = %d, \n", __LINE__, ret);
684 <h2 class="pg">Update information of account by account id</h2>
687 void update_accont_by_id(int account_id)
692 ret = account_connect();
693 if(ret != ACCOUNT_ERROR_NONE)
695 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
698 ret = account_create(&account);
699 if(ret != ACCOUNT_ERROR_NONE)
701 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
704 ret = account_set_user_name(account, "update-tarun.kr");
706 if(ret != ACCOUNT_ERROR_NONE)
708 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
711 ret = account_set_display_name(account, "update-Tarun Kumar");
712 if(ret != ACCOUNT_ERROR_NONE)
714 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
717 ret = account_set_domain_name(account, "update-Samsung electronics");
718 if(ret != ACCOUNT_ERROR_NONE)
720 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
723 ret = account_set_email_address(account, "update-tarun@gmail.com");
724 if(ret != ACCOUNT_ERROR_NONE)
726 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
729 ret = account_set_package_name(account, "update-com.samsung.twiter");
730 if(ret != ACCOUNT_ERROR_NONE)
732 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
735 ret = account_set_icon_path(account, "update-icon-path");
736 if(ret != ACCOUNT_ERROR_NONE)
738 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
741 ret = account_set_access_token(account, "update-ACCESSTOKEN");
742 if(ret != ACCOUNT_ERROR_NONE)
744 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
747 ret = account_set_auth_type( account, ACCOUNT_AUTH_TYPE_OAUTH );
748 if(ret != ACCOUNT_ERROR_NONE)
750 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
752 ret = account_set_secret( account, ACCOUNT_SECRECY_INVISIBLE );
753 if(ret != ACCOUNT_ERROR_NONE)
755 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
757 ret = account_set_source(account, "update-URUSA inc.");
761 for(i=0;i<USER_TXT_CNT;i++)
763 ret = account_set_user_text(account, i, "update-user txt");
764 if(ret != ACCOUNT_ERROR_NONE)
766 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p, i=%d\n", __LINE__, ret, account, i);
771 for(i=0;i<USER_INT_CNT;i++)
773 ret = account_set_user_int(account, i, 999);
774 if(ret != ACCOUNT_ERROR_NONE)
776 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p, i=%d\n", __LINE__, ret, account, i);
780 ret = account_set_capability(account, ACCOUNT_CAPABILITY_CONTACT, ACCOUNT_CAPABILITY_DISABLED);
781 ret = account_set_capability(account, ACCOUNT_CAPABILITY_CALENDAR, ACCOUNT_CAPABILITY_DISABLED);
782 ret = account_set_capability(account, ACCOUNT_CAPABILITY_PHOTO, ACCOUNT_CAPABILITY_DISABLED);
783 ret = account_set_capability(account, ACCOUNT_CAPABILITY_VIDEO, ACCOUNT_CAPABILITY_DISABLED);
784 ret = account_set_capability(account, ACCOUNT_CAPABILITY_EMAIL, ACCOUNT_CAPABILITY_DISABLED);
785 ret = account_set_capability(account, ACCOUNT_CAPABILITY_STATUS_POST, ACCOUNT_CAPABILITY_DISABLED);
786 ret = account_set_capability(account, ACCOUNT_CAPABILITY_VOIP, ACCOUNT_CAPABILITY_DISABLED);
787 ret = account_set_capability(account, ACCOUNT_CAPABILITY_SAMSUNG_APPS, ACCOUNT_CAPABILITY_DISABLED);
788 ret = account_set_capability(account, ACCOUNT_CAPABILITY_MOBILE_TRACKER, ACCOUNT_CAPABILITY_DISABLED);
790 ret = account_update_to_db_by_id(account, account_id);
791 if(ret != ACCOUNT_ERROR_NONE)
793 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
797 ret = account_destroy(account);
798 if(ret != ACCOUNT_ERROR_NONE)
800 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
803 ret = account_disconnect();
804 if(ret != ACCOUNT_ERROR_NONE)
806 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
811 <h2 class="pg">Update information of account by user name</h2>
814 void update_accont_by_user_name(char *user_name, char *package_name)
819 ret = account_connect();
820 if(ret != ACCOUNT_ERROR_NONE)
822 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
825 ret = account_create(&account);
826 if(ret != ACCOUNT_ERROR_NONE)
828 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
831 ret = account_set_user_name(account, "update-tarun.kr");
832 if(ret != ACCOUNT_ERROR_NONE)
834 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
837 ret = account_set_display_name(account, "update-Tarun Kumar");
838 if(ret != ACCOUNT_ERROR_NONE)
840 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
843 ret = account_set_domain_name(account, "update-Samsung electronics");
844 if(ret != ACCOUNT_ERROR_NONE)
846 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
849 ret = account_set_email_address(account, "update-tarun@gmail.com");
850 if(ret != ACCOUNT_ERROR_NONE)
852 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
855 ret = account_set_package_name(account, "update-com.samsung.twiter");
856 if(ret != ACCOUNT_ERROR_NONE)
858 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
861 ret = account_set_icon_path(account, "update-icon-path");
862 if(ret != ACCOUNT_ERROR_NONE)
864 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
867 ret = account_set_access_token(account, "update-ACCESSTOKEN");
868 if(ret != ACCOUNT_ERROR_NONE)
870 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
873 ret = account_set_auth_type( account, ACCOUNT_AUTH_TYPE_OAUTH );
874 if(ret != ACCOUNT_ERROR_NONE)
876 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
878 ret = account_set_secret( account, ACCOUNT_SECRECY_INVISIBLE );
879 if(ret != ACCOUNT_ERROR_NONE)
881 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
884 ret = account_set_source(account, "update-URUSA inc.");
885 if(ret != ACCOUNT_ERROR_NONE)
887 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
892 for(i=0;i<USER_TXT_CNT;i++)
894 ret = account_set_user_text(account, i, "update-user txt");
895 if(ret != ACCOUNT_ERROR_NONE)
897 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p, i=%d\n", __LINE__, ret, account, i);
902 for(i=0;i<USER_INT_CNT;i++)
904 ret = account_set_user_int(account, i, 999);
905 if(ret != ACCOUNT_ERROR_NONE)
907 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p, i=%d\n", __LINE__, ret, account, i);
911 ret = account_set_capability(account, ACCOUNT_CAPABILITY_CONTACT, ACCOUNT_CAPABILITY_DISABLED);
912 ret = account_set_capability(account, ACCOUNT_CAPABILITY_CALENDAR, ACCOUNT_CAPABILITY_DISABLED);
913 ret = account_set_capability(account, ACCOUNT_CAPABILITY_PHOTO, ACCOUNT_CAPABILITY_DISABLED);
914 ret = account_set_capability(account, ACCOUNT_CAPABILITY_VIDEO, ACCOUNT_CAPABILITY_DISABLED);
915 ret = account_set_capability(account, ACCOUNT_CAPABILITY_EMAIL, ACCOUNT_CAPABILITY_DISABLED);
916 ret = account_set_capability(account, ACCOUNT_CAPABILITY_STATUS_POST, ACCOUNT_CAPABILITY_DISABLED);
917 ret = account_set_capability(account, ACCOUNT_CAPABILITY_VOIP, ACCOUNT_CAPABILITY_DISABLED);
918 ret = account_set_capability(account, ACCOUNT_CAPABILITY_SAMSUNG_APPS, ACCOUNT_CAPABILITY_DISABLED);
919 ret = account_set_capability(account, ACCOUNT_CAPABILITY_MOBILE_TRACKER, ACCOUNT_CAPABILITY_DISABLED);
921 ret = account_update_to_db_by_user_name(account, user_name, package_name);
922 if(ret != ACCOUNT_ERROR_NONE)
924 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
928 ret = account_destroy(account);
929 if(ret != ACCOUNT_ERROR_NONE)
931 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
934 ret = account_disconnect();
935 if(ret != ACCOUNT_ERROR_NONE)
937 SECURE_LOGD("(%d)-[Account] ret = %d, account=%p\n", __LINE__, ret, account);
942 <h2 class="pg">Delete account by id </h2>
945 void delete_account_by_id(int account_id)
949 ret = account_connect();
950 if(ret != ACCOUNT_ERROR_NONE)
952 SECURE_LOGD("(%d)-[Account] ret = %d, \n", __LINE__, ret);
955 ret = account_delete(account_id);
956 if(ret != ACCOUNT_ERROR_NONE)
958 SECURE_LOGD("(%d)-[Account] ret = %d, \n", __LINE__, ret);
961 ret = account_disconnect();
962 if(ret != ACCOUNT_ERROR_NONE)
964 SECURE_LOGD("(%d)-[Account] ret = %d, \n", __LINE__, ret);
970 <h2 class="pg">Update sync status by id </h2>
973 void update_sync_status_by_id(int account_id, const account_sync_state_e sync_status)
977 ret = account_connect();
978 if(ret != ACCOUNT_ERROR_NONE)
980 SECURE_LOGD("(%d)-[Account] ret = %d, \n", __LINE__, ret);
983 ret = account_update_sync_status_by_id(account_id, sync_status);
984 if(ret != ACCOUNT_ERROR_NONE)
986 SECURE_LOGD("(%d)-[Account] ret = %d, \n", __LINE__, ret);
989 ret = account_disconnect();
990 if(ret != ACCOUNT_ERROR_NONE)
992 SECURE_LOGD("(%d)-[Account] ret = %d, \n", __LINE__, ret);
998 <h2 class="pg">Delete account by user name </h2>
1001 void delete_account_by_user_name(char *user_name, char *package_name)
1004 ret = account_connect();
1005 if(ret != ACCOUNT_ERROR_NONE)
1007 SECURE_LOGD("(%d)-[Account] ret = %d, \n", __LINE__, ret);
1010 ret = account_delete_from_db_by_user_name(user_name, package_name);
1011 if(ret != ACCOUNT_ERROR_NONE)
1013 SECURE_LOGD("(%d)-[Account] ret = %d \n", __LINE__, ret);
1016 ret = account_disconnect();
1017 if(ret != ACCOUNT_ERROR_NONE)
1019 SECURE_LOGD("(%d)-[Account] ret = %d, \n", __LINE__, ret);
1025 <h2 class="pg">Delete account by package name </h2>
1028 void delete_account_by_package_name(char *package_name)
1031 ret = account_connect();
1032 if(ret != ACCOUNT_ERROR_NONE)
1034 SECURE_LOGD("(%d)-[Account] ret = %d, \n", __LINE__, ret);
1037 ret = account_delete_from_db_by_package_name(package_name);
1038 if(ret != ACCOUNT_ERROR_NONE)
1040 SECURE_LOGD("(%d)-[Account] ret = %d \n", __LINE__, ret);
1043 ret = account_disconnect();
1044 if(ret != ACCOUNT_ERROR_NONE)
1046 SECURE_LOGD("(%d)-[Account] ret = %d, \n", __LINE__, ret);
1052 <h2 class="pg">Get account insert dbus notification </h2>
1055 void notify_account_insert()
1058 DBusConnection* conn;
1061 SECURE_LOGD("Listening for signals\n");
1063 dbus_error_init(&err);
1065 conn = dbus_bus_get(DBUS_BUS_SYSTEM, &err);
1066 if (dbus_error_is_set(&err)) {
1067 dbus_error_free(&err);
1073 dbus_bus_add_match(conn, "type='signal',interface='account.signal.Type'", &err);
1074 dbus_connection_flush(conn);
1075 if (dbus_error_is_set(&err)) {
1078 SECURE_LOGD("Match rule sent\n");
1082 dbus_connection_read_write(conn, 0);
1083 msg = dbus_connection_pop_message(conn);
1090 if (dbus_message_is_signal(msg, ACCOUNT_DBUS_SIGNAL_INTERFACE, ACCOUNT_DBUS_NOTI_NAME_INSERT)) {
1091 SECURE_LOGD("Got Signal with name insert\n");
1094 dbus_message_unref(msg);
1096 dbus_connection_close(conn);
1100 <h2 class="pg">Get account update dbus notification </h2>
1103 void notify_account_update()
1106 DBusConnection* conn;
1109 SECURE_LOGD("Listening for signals\n");
1112 dbus_error_init(&err);
1114 conn = dbus_bus_get(DBUS_BUS_SYSTEM, &err);
1115 if (dbus_error_is_set(&err)) {
1116 dbus_error_free(&err);
1122 dbus_bus_add_match(conn, "type='signal',interface='account.signal.Type'", &err);
1123 dbus_connection_flush(conn);
1124 if (dbus_error_is_set(&err)) {
1127 SECURE_LOGD("Match rule sent\n");
1131 dbus_connection_read_write(conn, 0);
1132 msg = dbus_connection_pop_message(conn);
1139 if (dbus_message_is_signal(msg, ACCOUNT_DBUS_SIGNAL_INTERFACE, ACCOUNT_DBUS_NOTI_NAME_UPDATE)) {
1140 SECURE_LOGD("Got Signal with name update\n");
1143 dbus_message_unref(msg);
1145 dbus_connection_close(conn);
1149 <h2 class="pg">Get account delete dbus notification </h2>
1152 void notify_account_delete()
1155 DBusConnection* conn;
1158 SECURE_LOGD("Listening for signals\n");
1161 dbus_error_init(&err);
1163 conn = dbus_bus_get(DBUS_BUS_SYSTEM, &err);
1164 if (dbus_error_is_set(&err)) {
1165 dbus_error_free(&err);
1171 dbus_bus_add_match(conn, "type='signal',interface='account.signal.Type'", &err);
1172 dbus_connection_flush(conn);
1173 if (dbus_error_is_set(&err)) {
1176 SECURE_LOGD("Match rule sent\n");
1180 dbus_connection_read_write(conn, 0);
1181 msg = dbus_connection_pop_message(conn);
1188 if (dbus_message_is_signal(msg, ACCOUNT_DBUS_SIGNAL_INTERFACE, ACCOUNT_DBUS_NOTI_NAME_DELETE)) {
1189 SECURE_LOGD("Got Signal with name delete\n");
1192 dbus_message_unref(msg);
1194 dbus_connection_close(conn);
1198 <h2 class="pg">Get capability by acccount id</h2>
1201 bool _capability_get_callback(const char* capability_type, account_capability_state_e capability_value, void* user_data)
1203 char* test_type = capability_type;
1204 int test_value = capability_value;
1206 SECURE_LOGD("_capability_get_callback test_type = : %s\n", test_type);
1207 SECURE_LOGD("_capability_get_callback test_value = : %d\n", test_value);
1211 void capability_by_account_id(int account_id)
1214 ret = account_connect();
1215 if(ret != ACCOUNT_ERROR_NONE)
1217 SECURE_LOGD("(%d)-[Account] ret = %d, \n", __LINE__, ret);
1220 ret = account_query_capability_by_account_id(_capability_get_callback, account_id, NULL);
1221 if(ret != ACCOUNT_ERROR_NONE)
1223 SECURE_LOGD("(%d)-[Account] ret = %d \n", __LINE__, ret);
1226 ret = account_disconnect();
1227 if(ret != ACCOUNT_ERROR_NONE)
1229 SECURE_LOGD("(%d)-[Account] ret = %d, \n", __LINE__, ret);