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