Tizen 2.0 Release
[framework/system/oma-dm-agent.git] / src / agent / dm-engine / lawmo / lawmo_account.c
1 /*
2  * oma-dm-agent
3  * Copyright (c) 2012 Samsung Electronics Co., Ltd.
4  *
5  * Licensed under the Apache License, Version 2.0 (the License);
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17
18 /*sync-agent*/
19 #include <sync_agent.h>
20
21 /*dm-agent*/
22 #include "common/dm_common.h"
23 #include "dm-engine/lawmo/lawmo_account.h"
24
25 #ifndef OMADM_AGENT_LOG
26 #undef LOG_TAG
27 #define LOG_TAG "LAWMO_ENGINE"
28 #endif
29
30 int register_lawmo_account(int item_id, void *user_data)
31 {
32         _EXTERN_FUNC_ENTER;
33
34         int ret = 1;
35         sync_agent_dm_mo_error_e err = 1;
36         int count = 0;
37         int value = 0;
38
39 /*int db_ret = 0;
40  * db_ret = sync_agent_open_agent();
41         _DEBUG_INFO("OPEN DACI : %d", db_ret);*/
42
43         set_alarm_config_int(LAWMO_ACCOUNT_FLAG_TYPE, LAWMO_ACCOUNT_FLAG, 0, LAWMO_ENGINE);
44         value = get_config_int(LAWMO_ACCOUNT_FLAG_TYPE, LAWMO_ACCOUNT_FLAG);
45
46         _DEBUG_INFO("lawmo account flag : %d ", value);
47
48         if (value != 1) {
49                 do {
50                         err = sync_agent_initialize_mo(7);
51                         if (err == SYNC_AGENT_DM_MO_FAIL) {
52                                 _DEBUG_INFO("fail register lawmo account : %d ", err);
53                                 ret = 0;
54                         } else {
55                                 _DEBUG_INFO("success register lawmo account : %d ", err);
56                                 break;
57                         }
58                         count++;
59                 } while (err == SYNC_AGENT_DM_MO_FAIL && count < 3);
60
61                 if (err == SYNC_AGENT_DM_MO_FAIL) {
62                         _DEBUG_INFO("add lawmo account registration alarm : %d ", ret);
63                         ret = set_account_registration_alarm(LAWMO_ACCOUNT_ALARM, LAWMO_ACCOUNT_ALARM_TYPE);
64                         _DEBUG_INFO("set account registration alarm lawmo account : %d ", ret);
65                         ret = 0;
66                 } else {
67                         ret = set_config_int(LAWMO_ACCOUNT_FLAG_TYPE, LAWMO_ACCOUNT_FLAG, 1, LAWMO_ENGINE, 0);
68                         _DEBUG_INFO("add lawmo account flag type setting result : %d ", ret);
69                         delete_account_registration_alarm(LAWMO_ACCOUNT_ALARM, LAWMO_ACCOUNT_ALARM_TYPE);
70                         _DEBUG_INFO("delete lawmo account delete alarm");
71                 }
72         } else {
73                 //do nothing
74         }
75
76 /*      db_ret = sync_agent_close_agent();
77         _DEBUG_INFO("CLOSE DACI : %d", db_ret);*/
78
79         _DEBUG_INFO("end : %d", ret);
80         _EXTERN_FUNC_EXIT;
81         return ret;
82 }
83
84 int deregister_lawmo_account(int item_id, void *user_data)
85 {
86         _EXTERN_FUNC_ENTER;
87         int ret = 1;
88
89         ret = sync_agent_open_agent();
90         _DEBUG_INFO("OPEN DACI : %d", ret);
91
92         //set_alarm_config_int(LAWMO_ACCOUNT_FLAG_TYPE, LAWMO_ACCOUNT_FLAG, 0, LAWMO_ENGINE);
93         set_config_int(LAWMO_ACCOUNT_FLAG_TYPE, LAWMO_ACCOUNT_FLAG, 0, LAWMO_ENGINE, 0);
94         _DEBUG_INFO("lawmo account flag 0");
95
96         ret = sync_agent_close_agent();
97         _DEBUG_INFO("CLOSE DACI : %d", ret);
98
99         _EXTERN_FUNC_EXIT;
100         return ret;
101 }