• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021-2022 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include "contacts_control.h"
17 
18 #include "hilog_wrapper_api.h"
19 
20 namespace OHOS {
21 namespace ContactsFfi {
ContactsControl(void)22 ContactsControl::ContactsControl(void)
23 {
24 }
25 
~ContactsControl()26 ContactsControl::~ContactsControl()
27 {
28 }
29 
RawContactInsert(std::shared_ptr<DataShare::DataShareHelper> dataShareHelper,DataShare::DataShareValuesBucket rawContactValues)30 int ContactsControl::RawContactInsert(std::shared_ptr<DataShare::DataShareHelper> dataShareHelper,
31     DataShare::DataShareValuesBucket rawContactValues)
32 {
33     int code = 0;
34     OHOS::Uri uriRawContact("datashare:///com.ohos.contactsdataability/contacts/raw_contact");
35     code = dataShareHelper->Insert(uriRawContact, rawContactValues);
36     HILOG_INFO("ContactsControl::RawContactInsert insert code %{public}d", code);
37     rawContactValues.Clear();
38     return code;
39 }
40 
ContactDataInsert(std::shared_ptr<DataShare::DataShareHelper> dataShareHelper,std::vector<DataShare::DataShareValuesBucket> contactDataValues)41 int ContactsControl::ContactDataInsert(std::shared_ptr<DataShare::DataShareHelper> dataShareHelper,
42     std::vector<DataShare::DataShareValuesBucket> contactDataValues)
43 {
44     int code = 0;
45     OHOS::Uri uriContactData("datashare:///com.ohos.contactsdataability/contacts/contact_data");
46     code = dataShareHelper->BatchInsert(uriContactData, contactDataValues);
47     HILOG_INFO("ContactsControl::ContactDataInsert insert code %{public}d", code);
48     contactDataValues.clear();
49     return code;
50 }
ContactDataDelete(std::shared_ptr<DataShare::DataShareHelper> dataShareHelper,DataShare::DataSharePredicates predicates)51 int ContactsControl::ContactDataDelete(std::shared_ptr<DataShare::DataShareHelper> dataShareHelper,
52     DataShare::DataSharePredicates predicates)
53 {
54     int code = 0;
55     OHOS::Uri uriContactData("datashare:///com.ohos.contactsdataability/contacts/contact_data");
56     code = dataShareHelper->Delete(uriContactData, predicates);
57     HILOG_INFO("ContactsControl::ContactDataDelete delete code %{public}d", code);
58     return code;
59 }
60 
RawContactUpdate(std::shared_ptr<DataShare::DataShareHelper> dataShareHelper,DataShare::DataShareValuesBucket updateValues,DataShare::DataSharePredicates predicates)61 int ContactsControl::RawContactUpdate(std::shared_ptr<DataShare::DataShareHelper> dataShareHelper,
62     DataShare::DataShareValuesBucket updateValues, DataShare::DataSharePredicates predicates)
63 {
64     int code = 0;
65     OHOS::Uri uriRawContact("datashare:///com.ohos.contactsdataability/contacts/raw_contact");
66     code = dataShareHelper->Update(uriRawContact, predicates, updateValues);
67     HILOG_INFO("ContactsControl::RawContactUpdate Update code %{public}d", code);
68     return code;
69 }
70 
ContactDataUpdate(std::shared_ptr<DataShare::DataShareHelper> dataShareHelper,DataShare::DataShareValuesBucket updateValues,DataShare::DataSharePredicates predicates)71 int ContactsControl::ContactDataUpdate(std::shared_ptr<DataShare::DataShareHelper> dataShareHelper,
72     DataShare::DataShareValuesBucket updateValues, DataShare::DataSharePredicates predicates)
73 {
74     int code = 0;
75     OHOS::Uri uriContactData("datashare:///com.ohos.contactsdataability/contacts/contact_data");
76     code = dataShareHelper->Update(uriContactData, predicates, updateValues);
77     HILOG_INFO("ContactsControl::ContactDataUpdate Update code %{public}d", code);
78     return code;
79 }
80 
ContactDelete(std::shared_ptr<DataShare::DataShareHelper> dataShareHelper,DataShare::DataSharePredicates predicates)81 int ContactsControl::ContactDelete(std::shared_ptr<DataShare::DataShareHelper> dataShareHelper,
82     DataShare::DataSharePredicates predicates)
83 {
84     int code = 0;
85     OHOS::Uri uriContact("datashare:///com.ohos.contactsdataability/contacts/contact");
86     code = dataShareHelper->Delete(uriContact, predicates);
87     HILOG_INFO("ContactsControl::ContactDelete Delete code %{public}d", code);
88     return code;
89 }
90 
HolderQuery(std::shared_ptr<DataShare::DataShareHelper> dataShareHelper,std::vector<std::string> columns,DataShare::DataSharePredicates predicates)91 std::shared_ptr<DataShare::DataShareResultSet> ContactsControl::HolderQuery(
92     std::shared_ptr<DataShare::DataShareHelper> dataShareHelper, std::vector<std::string> columns,
93     DataShare::DataSharePredicates predicates)
94 {
95     std::shared_ptr<DataShare::DataShareResultSet> resultSet;
96     OHOS::Uri uriContact("datashare:///com.ohos.contactsdataability/contacts/account");
97     resultSet = dataShareHelper->Query(uriContact, predicates, columns);
98     return resultSet;
99 }
100 
ContactQuery(std::shared_ptr<DataShare::DataShareHelper> dataShareHelper,std::vector<std::string> columns,DataShare::DataSharePredicates predicates)101 std::shared_ptr<DataShare::DataShareResultSet> ContactsControl::ContactQuery(
102     std::shared_ptr<DataShare::DataShareHelper> dataShareHelper, std::vector<std::string> columns,
103     DataShare::DataSharePredicates predicates)
104 {
105     HILOG_INFO("ContactsControl::ContactQuery is start");
106     std::shared_ptr<DataShare::DataShareResultSet> resultSet;
107     OHOS::Uri uriContact("datashare:///com.ohos.contactsdataability/contacts/contact_data");
108     resultSet = dataShareHelper->Query(uriContact, predicates, columns);
109     return resultSet;
110 }
111 
ContactDataQuery(std::shared_ptr<DataShare::DataShareHelper> dataShareHelper,std::vector<std::string> columns,DataShare::DataSharePredicates predicates)112 std::shared_ptr<DataShare::DataShareResultSet> ContactsControl::ContactDataQuery(
113     std::shared_ptr<DataShare::DataShareHelper> dataShareHelper, std::vector<std::string> columns,
114     DataShare::DataSharePredicates predicates)
115 {
116     std::shared_ptr<DataShare::DataShareResultSet> resultSet;
117     OHOS::Uri uriContactData("datashare:///com.ohos.contactsdataability/contacts/contact_data");
118     resultSet = dataShareHelper->Query(uriContactData, predicates, columns);
119     return resultSet;
120 }
121 
GroupsQuery(std::shared_ptr<DataShare::DataShareHelper> dataShareHelper,std::vector<std::string> columns,DataShare::DataSharePredicates predicates)122 std::shared_ptr<DataShare::DataShareResultSet> ContactsControl::GroupsQuery(
123     std::shared_ptr<DataShare::DataShareHelper> dataShareHelper, std::vector<std::string> columns,
124     DataShare::DataSharePredicates predicates)
125 {
126     std::shared_ptr<DataShare::DataShareResultSet> resultSet;
127     OHOS::Uri uriGroups("datashare:///com.ohos.contactsdataability/contacts/groups");
128     resultSet = dataShareHelper->Query(uriGroups, predicates, columns);
129     return resultSet;
130 }
131 
MyCardQuery(std::shared_ptr<DataShare::DataShareHelper> dataShareHelper,std::vector<std::string> columns,DataShare::DataSharePredicates predicates)132 std::shared_ptr<DataShare::DataShareResultSet> ContactsControl::MyCardQuery(
133     std::shared_ptr<DataShare::DataShareHelper> dataShareHelper, std::vector<std::string> columns,
134     DataShare::DataSharePredicates predicates)
135 {
136     std::shared_ptr<DataShare::DataShareResultSet> resultSet;
137     OHOS::Uri uriProfileContact("datashare:///com.ohos.contactsdataability/profile/contact_data");
138     resultSet = dataShareHelper->Query(uriProfileContact, predicates, columns);
139     return resultSet;
140 }
141 } // namespace ContactsApi
142 } // namespace OHOS