1115cd2caSopenharmony_ci/*
2115cd2caSopenharmony_ci * Copyright (c) 2021-2022 Huawei Device Co., Ltd.
3115cd2caSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4115cd2caSopenharmony_ci * you may not use this file except in compliance with the License.
5115cd2caSopenharmony_ci * You may obtain a copy of the License at
6115cd2caSopenharmony_ci *
7115cd2caSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8115cd2caSopenharmony_ci *
9115cd2caSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10115cd2caSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11115cd2caSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12115cd2caSopenharmony_ci * See the License for the specific language governing permissions and
13115cd2caSopenharmony_ci * limitations under the License.
14115cd2caSopenharmony_ci */
15115cd2caSopenharmony_ci
16115cd2caSopenharmony_ci#include "contacts_control.h"
17115cd2caSopenharmony_ci
18115cd2caSopenharmony_ci#include "hilog_wrapper_api.h"
19115cd2caSopenharmony_ci
20115cd2caSopenharmony_cinamespace OHOS {
21115cd2caSopenharmony_cinamespace ContactsApi {
22115cd2caSopenharmony_ciContactsControl::ContactsControl(void)
23115cd2caSopenharmony_ci{
24115cd2caSopenharmony_ci}
25115cd2caSopenharmony_ci
26115cd2caSopenharmony_ciContactsControl::~ContactsControl()
27115cd2caSopenharmony_ci{
28115cd2caSopenharmony_ci}
29115cd2caSopenharmony_ci
30115cd2caSopenharmony_ciint ContactsControl::RawContactInsert(std::shared_ptr<DataShare::DataShareHelper> dataShareHelper,
31115cd2caSopenharmony_ci    DataShare::DataShareValuesBucket rawContactValues)
32115cd2caSopenharmony_ci{
33115cd2caSopenharmony_ci    int code = 0;
34115cd2caSopenharmony_ci    OHOS::Uri uriRawContact("datashare:///com.ohos.contactsdataability/contacts/raw_contact");
35115cd2caSopenharmony_ci    code = dataShareHelper->Insert(uriRawContact, rawContactValues);
36115cd2caSopenharmony_ci    HILOG_INFO(" ContactsControl::RawContactInsert insert code %{public}d", code);
37115cd2caSopenharmony_ci    rawContactValues.Clear();
38115cd2caSopenharmony_ci    return code;
39115cd2caSopenharmony_ci}
40115cd2caSopenharmony_ci
41115cd2caSopenharmony_ciint ContactsControl::ContactDataInsert(std::shared_ptr<DataShare::DataShareHelper> dataShareHelper,
42115cd2caSopenharmony_ci    std::vector<DataShare::DataShareValuesBucket> contactDataValues)
43115cd2caSopenharmony_ci{
44115cd2caSopenharmony_ci    int code = 0;
45115cd2caSopenharmony_ci    OHOS::Uri uriContactData("datashare:///com.ohos.contactsdataability/contacts/contact_data");
46115cd2caSopenharmony_ci    code = dataShareHelper->BatchInsert(uriContactData, contactDataValues);
47115cd2caSopenharmony_ci    HILOG_INFO(" ContactsControl::ContactDataInsert insert code %{public}d", code);
48115cd2caSopenharmony_ci    contactDataValues.clear();
49115cd2caSopenharmony_ci    return code;
50115cd2caSopenharmony_ci}
51115cd2caSopenharmony_ciint ContactsControl::ContactDataDelete(std::shared_ptr<DataShare::DataShareHelper> dataShareHelper,
52115cd2caSopenharmony_ci    DataShare::DataSharePredicates predicates)
53115cd2caSopenharmony_ci{
54115cd2caSopenharmony_ci    int code = 0;
55115cd2caSopenharmony_ci    OHOS::Uri uriContactData("datashare:///com.ohos.contactsdataability/contacts/contact_data");
56115cd2caSopenharmony_ci    code = dataShareHelper->Delete(uriContactData, predicates);
57115cd2caSopenharmony_ci    HILOG_INFO(" ContactsControl::ContactDataDelete delete code %{public}d", code);
58115cd2caSopenharmony_ci    return code;
59115cd2caSopenharmony_ci}
60115cd2caSopenharmony_ci
61115cd2caSopenharmony_ciint ContactsControl::RawContactUpdate(std::shared_ptr<DataShare::DataShareHelper> dataShareHelper,
62115cd2caSopenharmony_ci    DataShare::DataShareValuesBucket updateValues, DataShare::DataSharePredicates predicates)
63115cd2caSopenharmony_ci{
64115cd2caSopenharmony_ci    int code = 0;
65115cd2caSopenharmony_ci    OHOS::Uri uriRawContact("datashare:///com.ohos.contactsdataability/contacts/raw_contact");
66115cd2caSopenharmony_ci    code = dataShareHelper->Update(uriRawContact, predicates, updateValues);
67115cd2caSopenharmony_ci    return code;
68115cd2caSopenharmony_ci}
69115cd2caSopenharmony_ci
70115cd2caSopenharmony_ciint ContactsControl::ContactDataUpdate(std::shared_ptr<DataShare::DataShareHelper> dataShareHelper,
71115cd2caSopenharmony_ci    DataShare::DataShareValuesBucket updateValues, DataShare::DataSharePredicates predicates)
72115cd2caSopenharmony_ci{
73115cd2caSopenharmony_ci    int code = 0;
74115cd2caSopenharmony_ci    OHOS::Uri uriContactData("datashare:///com.ohos.contactsdataability/contacts/contact_data");
75115cd2caSopenharmony_ci    code = dataShareHelper->Update(uriContactData, predicates, updateValues);
76115cd2caSopenharmony_ci    return code;
77115cd2caSopenharmony_ci}
78115cd2caSopenharmony_ci
79115cd2caSopenharmony_ciint ContactsControl::ContactDelete(std::shared_ptr<DataShare::DataShareHelper> dataShareHelper,
80115cd2caSopenharmony_ci    DataShare::DataSharePredicates predicates)
81115cd2caSopenharmony_ci{
82115cd2caSopenharmony_ci    int code = 0;
83115cd2caSopenharmony_ci    OHOS::Uri uriContact("datashare:///com.ohos.contactsdataability/contacts/contact");
84115cd2caSopenharmony_ci    code = dataShareHelper->Delete(uriContact, predicates);
85115cd2caSopenharmony_ci    return code;
86115cd2caSopenharmony_ci}
87115cd2caSopenharmony_ci
88115cd2caSopenharmony_cistd::shared_ptr<DataShare::DataShareResultSet> ContactsControl::HolderQuery(
89115cd2caSopenharmony_ci    std::shared_ptr<DataShare::DataShareHelper> dataShareHelper, std::vector<std::string> columns,
90115cd2caSopenharmony_ci    DataShare::DataSharePredicates predicates)
91115cd2caSopenharmony_ci{
92115cd2caSopenharmony_ci    std::shared_ptr<DataShare::DataShareResultSet> resultSet;
93115cd2caSopenharmony_ci    OHOS::Uri uriContact("datashare:///com.ohos.contactsdataability/contacts/account");
94115cd2caSopenharmony_ci    resultSet = dataShareHelper->Query(uriContact, predicates, columns);
95115cd2caSopenharmony_ci    return resultSet;
96115cd2caSopenharmony_ci}
97115cd2caSopenharmony_ci
98115cd2caSopenharmony_cistd::shared_ptr<DataShare::DataShareResultSet> ContactsControl::ContactQuery(
99115cd2caSopenharmony_ci    std::shared_ptr<DataShare::DataShareHelper> dataShareHelper, std::vector<std::string> columns,
100115cd2caSopenharmony_ci    DataShare::DataSharePredicates predicates)
101115cd2caSopenharmony_ci{
102115cd2caSopenharmony_ci    HILOG_INFO("ContactsControl::ContactQuery is start");
103115cd2caSopenharmony_ci    std::shared_ptr<DataShare::DataShareResultSet> resultSet;
104115cd2caSopenharmony_ci    OHOS::Uri uriContact("datashare:///com.ohos.contactsdataability/contacts/contact_data");
105115cd2caSopenharmony_ci    resultSet = dataShareHelper->Query(uriContact, predicates, columns);
106115cd2caSopenharmony_ci    return resultSet;
107115cd2caSopenharmony_ci}
108115cd2caSopenharmony_ci
109115cd2caSopenharmony_cistd::shared_ptr<DataShare::DataShareResultSet> ContactsControl::ContactDataQuery(
110115cd2caSopenharmony_ci    std::shared_ptr<DataShare::DataShareHelper> dataShareHelper, std::vector<std::string> columns,
111115cd2caSopenharmony_ci    DataShare::DataSharePredicates predicates)
112115cd2caSopenharmony_ci{
113115cd2caSopenharmony_ci    std::shared_ptr<DataShare::DataShareResultSet> resultSet;
114115cd2caSopenharmony_ci    OHOS::Uri uriContactData("datashare:///com.ohos.contactsdataability/contacts/contact_data");
115115cd2caSopenharmony_ci    resultSet = dataShareHelper->Query(uriContactData, predicates, columns);
116115cd2caSopenharmony_ci    return resultSet;
117115cd2caSopenharmony_ci}
118115cd2caSopenharmony_ci
119115cd2caSopenharmony_cistd::shared_ptr<DataShare::DataShareResultSet> ContactsControl::GroupsQuery(
120115cd2caSopenharmony_ci    std::shared_ptr<DataShare::DataShareHelper> dataShareHelper, std::vector<std::string> columns,
121115cd2caSopenharmony_ci    DataShare::DataSharePredicates predicates)
122115cd2caSopenharmony_ci{
123115cd2caSopenharmony_ci    std::shared_ptr<DataShare::DataShareResultSet> resultSet;
124115cd2caSopenharmony_ci    OHOS::Uri uriGroups("datashare:///com.ohos.contactsdataability/contacts/groups");
125115cd2caSopenharmony_ci    resultSet = dataShareHelper->Query(uriGroups, predicates, columns);
126115cd2caSopenharmony_ci    return resultSet;
127115cd2caSopenharmony_ci}
128115cd2caSopenharmony_ci
129115cd2caSopenharmony_cistd::shared_ptr<DataShare::DataShareResultSet> ContactsControl::MyCardQuery(
130115cd2caSopenharmony_ci    std::shared_ptr<DataShare::DataShareHelper> dataShareHelper, std::vector<std::string> columns,
131115cd2caSopenharmony_ci    DataShare::DataSharePredicates predicates)
132115cd2caSopenharmony_ci{
133115cd2caSopenharmony_ci    std::shared_ptr<DataShare::DataShareResultSet> resultSet;
134115cd2caSopenharmony_ci    OHOS::Uri uriProfileContact("datashare:///com.ohos.contactsdataability/profile/contact_data");
135115cd2caSopenharmony_ci    resultSet = dataShareHelper->Query(uriProfileContact, predicates, columns);
136115cd2caSopenharmony_ci    return resultSet;
137115cd2caSopenharmony_ci}
138115cd2caSopenharmony_ci} // namespace ContactsApi
139115cd2caSopenharmony_ci} // namespace OHOS