1115cd2caSopenharmony_ci/* 2115cd2caSopenharmony_ci * Copyright (c) 2021-2023 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#ifndef CONTACT_API_H 17115cd2caSopenharmony_ci#define CONTACT_API_H 18115cd2caSopenharmony_ci 19115cd2caSopenharmony_ci#include "contacts_build.h" 20115cd2caSopenharmony_ci#include "contacts_napi_object.h" 21115cd2caSopenharmony_ci#include "napi_base_context.h" 22115cd2caSopenharmony_ci 23115cd2caSopenharmony_cinamespace OHOS { 24115cd2caSopenharmony_cinamespace ContactsApi { 25115cd2caSopenharmony_civoid Init(napi_env env, napi_value exports); 26115cd2caSopenharmony_cinapi_value DeclareContactConst(napi_env env, napi_value exports); 27115cd2caSopenharmony_cinapi_value DeclareEmailConst(napi_env env, napi_value exports); 28115cd2caSopenharmony_cinapi_value DeclareEventConst(napi_env env, napi_value exports); 29115cd2caSopenharmony_cinapi_value DeclareImAddressConst(napi_env env, napi_value exports); 30115cd2caSopenharmony_cinapi_value DeclarePhoneNumberConst(napi_env env, napi_value exports); 31115cd2caSopenharmony_cinapi_value DeclarePostalAddressConst(napi_env env, napi_value exports); 32115cd2caSopenharmony_cinapi_value DeclareRelationConst(napi_env env, napi_value exports); 33115cd2caSopenharmony_cinapi_value DeclareSipAddressConst(napi_env env, napi_value exports); 34115cd2caSopenharmony_cinapi_value DeclareAttributeConst(napi_env env, napi_value exports); 35115cd2caSopenharmony_cinapi_value AddContact(napi_env env, napi_callback_info info); 36115cd2caSopenharmony_cinapi_value DeleteContact(napi_env env, napi_callback_info info); 37115cd2caSopenharmony_cinapi_value UpdateContact(napi_env env, napi_callback_info info); 38115cd2caSopenharmony_cinapi_value QueryContact(napi_env env, napi_callback_info info); 39115cd2caSopenharmony_cinapi_value QueryContacts(napi_env env, napi_callback_info info); 40115cd2caSopenharmony_cinapi_value QueryContactsByEmail(napi_env env, napi_callback_info info); 41115cd2caSopenharmony_cinapi_value QueryContactsByPhoneNumber(napi_env env, napi_callback_info info); 42115cd2caSopenharmony_cinapi_value QueryGroups(napi_env env, napi_callback_info info); 43115cd2caSopenharmony_cinapi_value QueryHolders(napi_env env, napi_callback_info info); 44115cd2caSopenharmony_cinapi_value QueryKey(napi_env env, napi_callback_info info); 45115cd2caSopenharmony_cinapi_value QueryMyCard(napi_env env, napi_callback_info info); 46115cd2caSopenharmony_cinapi_value IsMyCard(napi_env env, napi_callback_info info); 47115cd2caSopenharmony_cinapi_value IsLocalContact(napi_env env, napi_callback_info info); 48115cd2caSopenharmony_civoid Execute(napi_env env, void *data); 49115cd2caSopenharmony_civoid ExecuteAsync(napi_env env, void *data); 50115cd2caSopenharmony_civoid ExecuteDone(napi_env env, napi_status status, void *data); 51115cd2caSopenharmony_civoid ExecuteSyncDone(napi_env env, napi_status status, void *data); 52115cd2caSopenharmony_civoid HandleExecuteErrorCode(napi_env env, ExecuteHelper *executeHelper, napi_value &errorCode); 53115cd2caSopenharmony_civoid HandleExecuteResult(napi_env env, ExecuteHelper *executeHelper, napi_value &result); 54115cd2caSopenharmony_ciint GetRawIdByResultSet(const std::shared_ptr<DataShare::DataShareResultSet> &resultSet); 55115cd2caSopenharmony_cinapi_value CreateAsyncWork(napi_env env, ExecuteHelper *executeHelper); 56115cd2caSopenharmony_civoid LocalExecute(napi_env env, ExecuteHelper *executeHelper); 57115cd2caSopenharmony_civoid LocalExecuteSplit(napi_env env, ExecuteHelper *executeHelper); 58115cd2caSopenharmony_civoid LocalExecuteAddContact(napi_env env, ExecuteHelper *executeHelper); 59115cd2caSopenharmony_civoid LocalExecuteDeleteContact(napi_env env, ExecuteHelper *executeHelper); 60115cd2caSopenharmony_civoid LocalExecuteQueryContact(napi_env env, ExecuteHelper *executeHelper); 61115cd2caSopenharmony_civoid LocalExecuteQueryContactsOrKey(napi_env env, ExecuteHelper *executeHelper); 62115cd2caSopenharmony_civoid LocalExecuteQueryContactsByData(napi_env env, ExecuteHelper *executeHelper); 63115cd2caSopenharmony_civoid LocalExecuteQueryGroup(napi_env env, ExecuteHelper *executeHelper); 64115cd2caSopenharmony_civoid LocalExecuteQueryHolders(napi_env env, ExecuteHelper *executeHelper); 65115cd2caSopenharmony_civoid LocalExecuteQueryMyCard(napi_env env, ExecuteHelper *executeHelper); 66115cd2caSopenharmony_civoid LocalExecuteUpdateContact(napi_env env, ExecuteHelper *executeHelper); 67115cd2caSopenharmony_civoid LocalExecuteIsLocalContact(napi_env env, ExecuteHelper *executeHelper); 68115cd2caSopenharmony_civoid LocalExecuteIsMyCard(napi_env env, ExecuteHelper *executeHelper); 69115cd2caSopenharmony_cinapi_value Scheduling(napi_env env, napi_callback_info info, ExecuteHelper *executeHelper, int actionCode); 70115cd2caSopenharmony_civoid VerificationParameterId(napi_env env, napi_value id, ExecuteHelper *executeHelper, napi_value hold); 71115cd2caSopenharmony_civoid VerificationParameterHolderId(napi_env env, ExecuteHelper *executeHelper, napi_value hold); 72115cd2caSopenharmony_civoid SetChildActionCodeAndConvertParams(napi_env env, ExecuteHelper *executeHelper); 73115cd2caSopenharmony_ciDataShare::DataSharePredicates ConvertParamsSwitchSplit(int code, napi_env env, const napi_value &key, 74115cd2caSopenharmony_ci const napi_value &hold, const napi_value &attr, ExecuteHelper *executeHelper); 75115cd2caSopenharmony_cibool GetDataShareHelper(napi_env env, napi_callback_info info, ExecuteHelper *executeHelper); 76115cd2caSopenharmony_civoid HolderPredicates(const Holder &holder, DataShare::DataSharePredicates &predicates); 77115cd2caSopenharmony_civoid HoldersStructure(std::map<std::string, std::string> &holders, Holder &holder); 78115cd2caSopenharmony_civoid AttributesPredicates(bool isBegin, ContactAttributes &attrs, DataShare::DataSharePredicates &predicates); 79115cd2caSopenharmony_civoid CheckAttributes(ContactAttributes &attrs); 80115cd2caSopenharmony_ciDataShare::DataSharePredicates BuildQueryContactPredicates( 81115cd2caSopenharmony_ci napi_env env, std::string key, napi_value hold, napi_value attr); 82115cd2caSopenharmony_ciDataShare::DataSharePredicates BuildUpdateContactPredicates(napi_env env, napi_value contacts, napi_value attr); 83115cd2caSopenharmony_ciDataShare::DataSharePredicates BuildQueryContactData(napi_env env, napi_value &contactsObject, 84115cd2caSopenharmony_ci napi_value &attrObject, std::vector<DataShare::DataShareValuesBucket> &valueContactData); 85115cd2caSopenharmony_cistd::vector<std::string> BuildUpdateContactColumns(); 86115cd2caSopenharmony_ciDataShare::DataSharePredicates BuildUpdateContactConvertParams( 87115cd2caSopenharmony_ci napi_env env, napi_value &contacts, napi_value &attr, ExecuteHelper &executeHelper); 88115cd2caSopenharmony_ciDataShare::DataSharePredicates BuildQueryContactsPredicates(napi_env env, napi_value hold, napi_value attr); 89115cd2caSopenharmony_ciDataShare::DataSharePredicates BuildQueryContactsByEmailPredicates( 90115cd2caSopenharmony_ci napi_env env, std::string email, napi_value hold, napi_value attr); 91115cd2caSopenharmony_ciDataShare::DataSharePredicates BuildQueryContactsByPhoneNumberPredicates( 92115cd2caSopenharmony_ci napi_env env, std::string phoneNumber, napi_value hold, napi_value attr); 93115cd2caSopenharmony_ciDataShare::DataSharePredicates BuildQueryGroupsPredicates(napi_env env, napi_value hold); 94115cd2caSopenharmony_ciDataShare::DataSharePredicates BuildQueryKeyPredicates(napi_env env, int id, napi_value hold); 95115cd2caSopenharmony_ciDataShare::DataSharePredicates BuildQueryMyCardPredicates(napi_env env, napi_value attr); 96115cd2caSopenharmony_ciDataShare::DataSharePredicates BuildIsLocalContactPredicates(napi_env env, napi_value id); 97115cd2caSopenharmony_ciDataShare::DataSharePredicates BuildIsMyCardPredicates(napi_env env, napi_value id); 98115cd2caSopenharmony_ciDataShare::DataSharePredicates BuildDeleteContactDataPredicates(napi_env env, napi_value attr); 99115cd2caSopenharmony_ciDataShare::DataSharePredicates BuildDeleteContactPredicates(napi_env env, ExecuteHelper &executeHelper); 100115cd2caSopenharmony_civoid ObjectInit(napi_env env, napi_value object, napi_value &hold, napi_value &attr, napi_value &contacts); 101115cd2caSopenharmony_civoid ObjectInitId(napi_env env, napi_value object, napi_value &id); 102115cd2caSopenharmony_civoid ObjectInitString(napi_env env, napi_value object, napi_value &key); 103115cd2caSopenharmony_ciint GetType(napi_env env, napi_value value); 104115cd2caSopenharmony_ci} // namespace ContactsApi 105115cd2caSopenharmony_ci} // namespace OHOS 106115cd2caSopenharmony_ci 107115cd2caSopenharmony_ci#endif // CONTACT_API_H 108