1 /*
2  * Copyright (c) 2021 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef APP_DEVICE_STATUS_CHANGE_LISTENER_H
17 #define APP_DEVICE_STATUS_CHANGE_LISTENER_H
18 
19 #include "commu_types.h"
20 namespace OHOS {
21 namespace AppDistributedKv {
22 enum class ChangeLevelType {
23     HIGH,
24     LOW,
25     MIN,
26 };
27 class AppDeviceChangeListener {
28 public:
~AppDeviceChangeListener()29     API_EXPORT virtual ~AppDeviceChangeListener() {};
30     API_EXPORT virtual void OnDeviceChanged(const DeviceInfo &info, const DeviceChangeType &type) const = 0;
GetChangeLevelType()31     API_EXPORT virtual ChangeLevelType GetChangeLevelType() const
32     {
33         return ChangeLevelType::HIGH;
34     }
OnSessionReady(const DeviceInfo & info,int32_t errCode)35     API_EXPORT virtual void OnSessionReady(const DeviceInfo &info, int32_t errCode) const {}
36 };
37 }  // namespace AppDistributedKv
38 }  // namespace OHOS
39 
40 #endif  // APP_DEVICE_STATUS_CHANGE_LISTENER_H
41