125c1cde8Sopenharmony_ci/* 225c1cde8Sopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 325c1cde8Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 425c1cde8Sopenharmony_ci * you may not use this file except in compliance with the License. 525c1cde8Sopenharmony_ci * You may obtain a copy of the License at 625c1cde8Sopenharmony_ci * 725c1cde8Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 825c1cde8Sopenharmony_ci * 925c1cde8Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1025c1cde8Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1125c1cde8Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1225c1cde8Sopenharmony_ci * See the License for the specific language governing permissions and 1325c1cde8Sopenharmony_ci * limitations under the License. 1425c1cde8Sopenharmony_ci */ 1525c1cde8Sopenharmony_ci 1625c1cde8Sopenharmony_ci#ifndef DATASHARE_STUB_IMPL_H 1725c1cde8Sopenharmony_ci#define DATASHARE_STUB_IMPL_H 1825c1cde8Sopenharmony_ci 1925c1cde8Sopenharmony_ci#include "datashare_stub.h" 2025c1cde8Sopenharmony_ci#include "datashare_ext_ability.h" 2125c1cde8Sopenharmony_ci 2225c1cde8Sopenharmony_cinamespace OHOS { 2325c1cde8Sopenharmony_cinamespace DataShare { 2425c1cde8Sopenharmony_ciclass TelephonyDataShareStubImpl : public DataShareStub { 2525c1cde8Sopenharmony_cipublic: 2625c1cde8Sopenharmony_ci TelephonyDataShareStubImpl() {} 2725c1cde8Sopenharmony_ci virtual ~TelephonyDataShareStubImpl() {}; 2825c1cde8Sopenharmony_ci 2925c1cde8Sopenharmony_ci int Insert(const Uri &uri, const DataShareValuesBucket &value) override; 3025c1cde8Sopenharmony_ci int Update(const Uri &uri, const DataSharePredicates &predicates, 3125c1cde8Sopenharmony_ci const DataShareValuesBucket &value) override; 3225c1cde8Sopenharmony_ci int Delete(const Uri &uri, const DataSharePredicates &predicates) override; 3325c1cde8Sopenharmony_ci std::shared_ptr<DataShareResultSet> Query(const Uri &uri, const DataSharePredicates &predicates, 3425c1cde8Sopenharmony_ci std::vector<std::string> &columns, DatashareBusinessError &businessError) override; 3525c1cde8Sopenharmony_ci int BatchInsert(const Uri &uri, const std::vector<DataShareValuesBucket> &values) override; 3625c1cde8Sopenharmony_ci 3725c1cde8Sopenharmony_ci std::vector<std::string> GetFileTypes(const Uri &uri, const std::string &mimeTypeFilter) override; 3825c1cde8Sopenharmony_ci int OpenFile(const Uri &uri, const std::string &mode) override; 3925c1cde8Sopenharmony_ci int OpenRawFile(const Uri &uri, const std::string &mode) override; 4025c1cde8Sopenharmony_ci std::string GetType(const Uri &uri) override; 4125c1cde8Sopenharmony_ci bool RegisterObserver(const Uri &uri, const sptr<AAFwk::IDataAbilityObserver> &dataObserver) override; 4225c1cde8Sopenharmony_ci bool UnregisterObserver(const Uri &uri, const sptr<AAFwk::IDataAbilityObserver> &dataObserver) override; 4325c1cde8Sopenharmony_ci bool NotifyChange(const Uri &uri) override; 4425c1cde8Sopenharmony_ci Uri NormalizeUri(const Uri &uri) override; 4525c1cde8Sopenharmony_ci Uri DenormalizeUri(const Uri &uri) override; 4625c1cde8Sopenharmony_ci 4725c1cde8Sopenharmony_ci void SetOpKeyAbility(std::shared_ptr<DataShareExtAbility> extension); 4825c1cde8Sopenharmony_ci void SetPdpProfileAbility(std::shared_ptr<DataShareExtAbility> extension); 4925c1cde8Sopenharmony_ci void SetSimAbility(std::shared_ptr<DataShareExtAbility> extension); 5025c1cde8Sopenharmony_ci void SetSmsMmsAbility(std::shared_ptr<DataShareExtAbility> extension); 5125c1cde8Sopenharmony_ci void SetGlobalParamsAbility(std::shared_ptr<DataShareExtAbility> extension); 5225c1cde8Sopenharmony_ci 5325c1cde8Sopenharmony_ciprivate: 5425c1cde8Sopenharmony_ci std::shared_ptr<DataShareExtAbility> GetOwner(const Uri &uri); 5525c1cde8Sopenharmony_ci std::shared_ptr<DataShareExtAbility> GetTelephonyDataAbility(); 5625c1cde8Sopenharmony_ci std::shared_ptr<DataShareExtAbility> GetOpKeyAbility(); 5725c1cde8Sopenharmony_ci std::shared_ptr<DataShareExtAbility> GetPdpProfileAbility(); 5825c1cde8Sopenharmony_ci std::shared_ptr<DataShareExtAbility> GetSimAbility(); 5925c1cde8Sopenharmony_ci std::shared_ptr<DataShareExtAbility> GetSmsMmsAbility(); 6025c1cde8Sopenharmony_ci std::shared_ptr<DataShareExtAbility> GetGlobalParamsAbility(); 6125c1cde8Sopenharmony_ci std::shared_ptr<DataShareExtAbility> GetOpkeyVersionAbility(); 6225c1cde8Sopenharmony_ci 6325c1cde8Sopenharmony_ciprivate: 6425c1cde8Sopenharmony_ci std::shared_ptr<DataShareExtAbility> telephonyDataAbility_ = nullptr; 6525c1cde8Sopenharmony_ci std::shared_ptr<DataShareExtAbility> opKeyAbility_ = nullptr; 6625c1cde8Sopenharmony_ci std::shared_ptr<DataShareExtAbility> pdpProfileAbility_ = nullptr; 6725c1cde8Sopenharmony_ci std::shared_ptr<DataShareExtAbility> simAbility_ = nullptr; 6825c1cde8Sopenharmony_ci std::shared_ptr<DataShareExtAbility> smsMmsAbility_ = nullptr; 6925c1cde8Sopenharmony_ci std::shared_ptr<DataShareExtAbility> globalParamsAbility_ = nullptr; 7025c1cde8Sopenharmony_ci std::shared_ptr<DataShareExtAbility> opkeyVersionAbility_ = nullptr; 7125c1cde8Sopenharmony_ci std::mutex opKeyMutex_; 7225c1cde8Sopenharmony_ci std::mutex pdpProfileMutex_; 7325c1cde8Sopenharmony_ci std::mutex simMutex_; 7425c1cde8Sopenharmony_ci std::mutex smsMmsMutex_; 7525c1cde8Sopenharmony_ci std::mutex globalParamsMutex_; 7625c1cde8Sopenharmony_ci}; 7725c1cde8Sopenharmony_ci} // namespace DataShare 7825c1cde8Sopenharmony_ci} // namespace OHOS 7925c1cde8Sopenharmony_ci#endif // DATASHARE_STUB_IMPL_H