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