1686862fbSopenharmony_ci/* 2686862fbSopenharmony_ci * Copyright (c) 2022-2023 Huawei Device Co., Ltd. 3686862fbSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4686862fbSopenharmony_ci * you may not use this file except in compliance with the License. 5686862fbSopenharmony_ci * You may obtain a copy of the License at 6686862fbSopenharmony_ci * 7686862fbSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8686862fbSopenharmony_ci * 9686862fbSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10686862fbSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11686862fbSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12686862fbSopenharmony_ci * See the License for the specific language governing permissions and 13686862fbSopenharmony_ci * limitations under the License. 14686862fbSopenharmony_ci */ 15686862fbSopenharmony_ci 16686862fbSopenharmony_ci#ifndef OHOS_DISTRIBUTED_ABILITY_MANAGER_INTERFACE_H 17686862fbSopenharmony_ci#define OHOS_DISTRIBUTED_ABILITY_MANAGER_INTERFACE_H 18686862fbSopenharmony_ci 19686862fbSopenharmony_ci#include "continuation_extra_params.h" 20686862fbSopenharmony_ci#include "continuation_result.h" 21686862fbSopenharmony_ci#include "dtbabilitymgr_ipc_interface_code.h" 22686862fbSopenharmony_ci#include "device_connect_status.h" 23686862fbSopenharmony_ci#include "iremote_broker.h" 24686862fbSopenharmony_ci 25686862fbSopenharmony_cinamespace OHOS { 26686862fbSopenharmony_cinamespace DistributedSchedule { 27686862fbSopenharmony_cinamespace { 28686862fbSopenharmony_ciconstexpr int32_t VALUE_NULL = -1; // no object in parcel 29686862fbSopenharmony_ciconstexpr int32_t VALUE_OBJECT = 1; // object exist in parcel 30686862fbSopenharmony_ci} 31686862fbSopenharmony_ciclass IDistributedAbilityManager : public OHOS::IRemoteBroker { 32686862fbSopenharmony_cipublic: 33686862fbSopenharmony_ci DECLARE_INTERFACE_DESCRIPTOR(u"OHOS.DistributedSchedule.IDistributedAbilityManager"); 34686862fbSopenharmony_ci 35686862fbSopenharmony_ci virtual int32_t Register( 36686862fbSopenharmony_ci const std::shared_ptr<ContinuationExtraParams>& continuationExtraParams, int32_t& token) = 0; 37686862fbSopenharmony_ci virtual int32_t Unregister(int32_t token) = 0; 38686862fbSopenharmony_ci virtual int32_t RegisterDeviceSelectionCallback( 39686862fbSopenharmony_ci int32_t token, const std::string& cbType, const sptr<IRemoteObject>& notifier) = 0; 40686862fbSopenharmony_ci virtual int32_t UnregisterDeviceSelectionCallback(int32_t token, const std::string& cbType) = 0; 41686862fbSopenharmony_ci virtual int32_t UpdateConnectStatus(int32_t token, const std::string& deviceId, 42686862fbSopenharmony_ci const DeviceConnectStatus& deviceConnectStatus) = 0; 43686862fbSopenharmony_ci virtual int32_t StartDeviceManager( 44686862fbSopenharmony_ci int32_t token, const std::shared_ptr<ContinuationExtraParams>& continuationExtraParams = nullptr) = 0; 45686862fbSopenharmony_ci}; 46686862fbSopenharmony_ci} // namespace DistributedSchedule 47686862fbSopenharmony_ci} // namespace OHOS 48686862fbSopenharmony_ci#endif // OHOS_DISTRIBUTED_ABILITY_MANAGER_INTERFACE_H