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 ContactsApi {
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 return code;
68 }
69
ContactDataUpdate(std::shared_ptr<DataShare::DataShareHelper> dataShareHelper, DataShare::DataShareValuesBucket updateValues, DataShare::DataSharePredicates predicates)70 int ContactsControl::ContactDataUpdate(std::shared_ptr<DataShare::DataShareHelper> dataShareHelper,
71 DataShare::DataShareValuesBucket updateValues, DataShare::DataSharePredicates predicates)
72 {
73 int code = 0;
74 OHOS::Uri uriContactData("datashare:///com.ohos.contactsdataability/contacts/contact_data");
75 code = dataShareHelper->Update(uriContactData, predicates, updateValues);
76 return code;
77 }
78
ContactDelete(std::shared_ptr<DataShare::DataShareHelper> dataShareHelper, DataShare::DataSharePredicates predicates)79 int ContactsControl::ContactDelete(std::shared_ptr<DataShare::DataShareHelper> dataShareHelper,
80 DataShare::DataSharePredicates predicates)
81 {
82 int code = 0;
83 OHOS::Uri uriContact("datashare:///com.ohos.contactsdataability/contacts/contact");
84 code = dataShareHelper->Delete(uriContact, predicates);
85 return code;
86 }
87
HolderQuery( std::shared_ptr<DataShare::DataShareHelper> dataShareHelper, std::vector<std::string> columns, DataShare::DataSharePredicates predicates)88 std::shared_ptr<DataShare::DataShareResultSet> ContactsControl::HolderQuery(
89 std::shared_ptr<DataShare::DataShareHelper> dataShareHelper, std::vector<std::string> columns,
90 DataShare::DataSharePredicates predicates)
91 {
92 std::shared_ptr<DataShare::DataShareResultSet> resultSet;
93 OHOS::Uri uriContact("datashare:///com.ohos.contactsdataability/contacts/account");
94 resultSet = dataShareHelper->Query(uriContact, predicates, columns);
95 return resultSet;
96 }
97
ContactQuery( std::shared_ptr<DataShare::DataShareHelper> dataShareHelper, std::vector<std::string> columns, DataShare::DataSharePredicates predicates)98 std::shared_ptr<DataShare::DataShareResultSet> ContactsControl::ContactQuery(
99 std::shared_ptr<DataShare::DataShareHelper> dataShareHelper, std::vector<std::string> columns,
100 DataShare::DataSharePredicates predicates)
101 {
102 HILOG_INFO("ContactsControl::ContactQuery is start");
103 std::shared_ptr<DataShare::DataShareResultSet> resultSet;
104 OHOS::Uri uriContact("datashare:///com.ohos.contactsdataability/contacts/contact_data");
105 resultSet = dataShareHelper->Query(uriContact, predicates, columns);
106 return resultSet;
107 }
108
ContactDataQuery( std::shared_ptr<DataShare::DataShareHelper> dataShareHelper, std::vector<std::string> columns, DataShare::DataSharePredicates predicates)109 std::shared_ptr<DataShare::DataShareResultSet> ContactsControl::ContactDataQuery(
110 std::shared_ptr<DataShare::DataShareHelper> dataShareHelper, std::vector<std::string> columns,
111 DataShare::DataSharePredicates predicates)
112 {
113 std::shared_ptr<DataShare::DataShareResultSet> resultSet;
114 OHOS::Uri uriContactData("datashare:///com.ohos.contactsdataability/contacts/contact_data");
115 resultSet = dataShareHelper->Query(uriContactData, predicates, columns);
116 return resultSet;
117 }
118
GroupsQuery( std::shared_ptr<DataShare::DataShareHelper> dataShareHelper, std::vector<std::string> columns, DataShare::DataSharePredicates predicates)119 std::shared_ptr<DataShare::DataShareResultSet> ContactsControl::GroupsQuery(
120 std::shared_ptr<DataShare::DataShareHelper> dataShareHelper, std::vector<std::string> columns,
121 DataShare::DataSharePredicates predicates)
122 {
123 std::shared_ptr<DataShare::DataShareResultSet> resultSet;
124 OHOS::Uri uriGroups("datashare:///com.ohos.contactsdataability/contacts/groups");
125 resultSet = dataShareHelper->Query(uriGroups, predicates, columns);
126 return resultSet;
127 }
128
MyCardQuery( std::shared_ptr<DataShare::DataShareHelper> dataShareHelper, std::vector<std::string> columns, DataShare::DataSharePredicates predicates)129 std::shared_ptr<DataShare::DataShareResultSet> ContactsControl::MyCardQuery(
130 std::shared_ptr<DataShare::DataShareHelper> dataShareHelper, std::vector<std::string> columns,
131 DataShare::DataSharePredicates predicates)
132 {
133 std::shared_ptr<DataShare::DataShareResultSet> resultSet;
134 OHOS::Uri uriProfileContact("datashare:///com.ohos.contactsdataability/profile/contact_data");
135 resultSet = dataShareHelper->Query(uriProfileContact, predicates, columns);
136 return resultSet;
137 }
138 } // namespace ContactsApi
139 } // namespace OHOS