• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2024-2025 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 HB_MEDIUM_MGR_STATIC_MOCK_H
17 #define HB_MEDIUM_MGR_STATIC_MOCK_H
18 
19 #include <gmock/gmock.h>
20 #include <mutex>
21 
22 #include "auth_device_common_key_struct.h"
23 #include "auth_interface_struct.h"
24 #include "lnn_event_form.h"
25 #include "lnn_feature_capability.h"
26 #include "lnn_node_info.h"
27 #include "lnn_wifiservice_monitor_mock.h"
28 #include "message_handler.h"
29 
30 namespace OHOS {
31 class HbMediumMgrInterface {
32 public:
HbMediumMgrInterface()33     HbMediumMgrInterface() {};
~HbMediumMgrInterface()34     virtual ~HbMediumMgrInterface() {};
35     virtual bool IsCloudSyncEnabled(void) = 0;
36     virtual bool IsFeatureSupport(uint64_t feature, FeatureCapability capaBit) = 0;
37     virtual int32_t AuthFindDeviceKey(const char *udidHash, int32_t keyType, AuthDeviceKeyInfo *deviceKey) = 0;
38     virtual bool IsCipherManagerFindKey(const char *udid) = 0;
39     virtual int32_t AuthFindLatestNormalizeKey(
40         const char *udidHash, AuthDeviceKeyInfo *deviceKey, bool clearOldKey) = 0;
41     virtual DiscoveryType LnnConvAddrTypeToDiscType(ConnectionAddrType type) = 0;
42     virtual bool LnnConvertAddrToAuthConnInfo(const ConnectionAddr *addr, AuthConnInfo *connInfo) = 0;
43     virtual int32_t SoftBusGetBrState(void) = 0;
44     virtual int32_t LnnAddRemoteChannelCode(const char *udid, int32_t channelCode) = 0;
45     virtual int32_t LnnRegistBleHeartbeatMediumMgr(void) = 0;
46     virtual int32_t LnnGetDLHeartbeatTimestamp(const char *networkId, uint64_t *timestamp) = 0;
47     virtual int32_t LnnSetDLHeartbeatTimestamp(const char *networkId, const uint64_t timestamp) = 0;
48     virtual int32_t SoftBusGenerateStrHash(const unsigned char *str, uint32_t len, unsigned char *hash) = 0;
49     virtual int32_t ConvertBytesToUpperCaseHexString(
50         char *outBuf, uint32_t outBufLen, const unsigned char *inBuf, uint32_t inLen) = 0;
51     virtual int32_t ConvertBytesToHexString(
52         char *outBuf, uint32_t outBufLen, const unsigned char *inBuf, uint32_t inLen) = 0;
53     virtual bool AuthIsPotentialTrusted(const DeviceInfo *device, bool isOnlyPointToPoint) = 0;
54     virtual int32_t DecryptUserId(NodeInfo *deviceInfo, uint8_t *advUserId, uint32_t len) = 0;
55     virtual int32_t LnnGetDLSleHbTimestamp(const char *networkId, uint64_t *timestamp) = 0;
56     virtual int32_t LnnSetDLSleHbTimestamp(const char *networkId, const uint64_t timestamp) = 0;
57     virtual int32_t LnnStartSleOfflineTimingStrategy(const char *networkId) = 0;
58     virtual int32_t LnnStopSleOfflineTimingStrategy(const char *networkId) = 0;
59 };
60 class HbMediumMgrInterfaceMock : public HbMediumMgrInterface {
61 public:
62     HbMediumMgrInterfaceMock();
63     ~HbMediumMgrInterfaceMock() override;
64     MOCK_METHOD0(IsCloudSyncEnabled, bool (void));
65     MOCK_METHOD2(IsFeatureSupport, bool (uint64_t, FeatureCapability));
66     MOCK_METHOD3(AuthFindDeviceKey, int32_t (const char *, int32_t, AuthDeviceKeyInfo *));
67     MOCK_METHOD1(IsCipherManagerFindKey, bool (const char *));
68     MOCK_METHOD3(AuthFindLatestNormalizeKey, int32_t (const char *, AuthDeviceKeyInfo *, bool));
69     MOCK_METHOD1(LnnConvAddrTypeToDiscType, DiscoveryType (ConnectionAddrType));
70     MOCK_METHOD2(LnnConvertAddrToAuthConnInfo, bool (const ConnectionAddr *, AuthConnInfo *));
71     MOCK_METHOD0(SoftBusGetBrState, int32_t (void));
72     MOCK_METHOD2(LnnAddRemoteChannelCode, int32_t (const char *, int32_t));
73     MOCK_METHOD0(LnnRegistBleHeartbeatMediumMgr, int32_t (void));
74     MOCK_METHOD2(LnnGetDLHeartbeatTimestamp, int32_t (const char *, uint64_t *));
75     MOCK_METHOD2(LnnSetDLHeartbeatTimestamp, int32_t (const char *, const uint64_t));
76     MOCK_METHOD3(SoftBusGenerateStrHash, int32_t (const unsigned char *, uint32_t, unsigned char *));
77     MOCK_METHOD4(ConvertBytesToUpperCaseHexString, int32_t (char *, uint32_t, const unsigned char *, uint32_t));
78     MOCK_METHOD4(ConvertBytesToHexString, int32_t (char *, uint32_t, const unsigned char *, uint32_t));
79     MOCK_METHOD2(AuthIsPotentialTrusted, bool (const DeviceInfo *, bool));
80     MOCK_METHOD3(DecryptUserId, int32_t (NodeInfo *, uint8_t *, uint32_t));
81     MOCK_METHOD2(LnnGetDLSleHbTimestamp, int32_t(const char *, uint64_t *));
82     MOCK_METHOD2(LnnSetDLSleHbTimestamp, int32_t(const char *, const uint64_t));
83     MOCK_METHOD1(LnnStartSleOfflineTimingStrategy, int32_t (const char *));
84     MOCK_METHOD1(LnnStopSleOfflineTimingStrategy, int32_t (const char *));
85 };
86 } // namespace OHOS
87 #endif // HB_MEDIUM_MGR_STATIC_MOCK_H
88