1 /* 2 * Copyright (c) 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 TRANS_CLIENT_PROXY_FILE_MANAGER_MOCK_H 17 #define TRANS_CLIENT_PROXY_FILE_MANAGER_MOCK_H 18 19 #include <gmock/gmock.h> 20 21 #include "client_trans_pending.h" 22 #include "client_trans_proxy_file_manager.h" 23 #include "softbus_def.h" 24 #include "softbus_utils.h" 25 #include "trans_proxy_process_data.h" 26 #include "client_trans_session_manager.h" 27 28 namespace OHOS { 29 class TransClientProxyFileManagerInterface { 30 public: TransClientProxyFileManagerInterface()31 TransClientProxyFileManagerInterface() {}; ~TransClientProxyFileManagerInterface()32 virtual ~TransClientProxyFileManagerInterface() {}; 33 virtual SoftBusList *CreateSoftBusList(void) = 0; 34 virtual int32_t RegisterTimeoutCallback(int32_t timerFunId, TimerFunCallback callback) = 0; 35 virtual int32_t UnRegisterTimeoutCallback(int32_t timerFunId) = 0; 36 virtual int32_t InitPendingPacket(void) = 0; 37 virtual int32_t PendingInit(int32_t type) = 0; 38 virtual int32_t TransProxyDecryptPacketData(int32_t seq, ProxyDataInfo *dataInfo, const char *sessionKey) = 0; 39 virtual int32_t GetSupportTlvAndNeedAckById( 40 int32_t channelId, int32_t channelType, bool *supportTlv, bool *needAck) = 0; 41 virtual int32_t TransProxyPackTlvBytes(ProxyDataInfo *dataInfo, const char *sessionKey, 42 SessionPktType flag, int32_t seq, DataHeadTlvPacketHead *info) = 0; 43 virtual int32_t TransProxyPackBytes( 44 int32_t channelId, ProxyDataInfo *dataInfo, const char *sessionKey, SessionPktType flag, int32_t seq) = 0; 45 virtual int32_t FileUnLock(int32_t fd) = 0; 46 virtual int32_t SendFileTransResult(int32_t channelId, uint32_t seq, int32_t result, uint32_t side) = 0; 47 virtual int32_t ServerIpcSendMessage( 48 int32_t channelId, int32_t channelType, const void *data, uint32_t len, int32_t msgType) = 0; 49 virtual int32_t CreatePendingPacket(uint32_t id, uint64_t seq) = 0; 50 virtual int32_t ProxyChannelSendFileStream(int32_t channelId, const char *data, uint32_t len, int32_t type) = 0; 51 virtual int32_t GetPendingPacketData( 52 uint32_t id, uint64_t seq, uint32_t waitMillis, bool isDelete, TransPendData *data) = 0; 53 virtual int64_t SoftBusPwriteFile(int32_t fd, const void *buf, uint64_t writeBytes, uint64_t offset) = 0; 54 virtual int32_t SendFileAckReqAndResData(int32_t channelId, uint32_t startSeq, uint32_t value, int32_t type) = 0; 55 virtual void DeletePendingPacket(uint32_t id, uint64_t seq) = 0; 56 virtual int32_t AckResponseDataHandle(const SendListenerInfo *info, const char *data, uint32_t len) = 0; 57 virtual int32_t ClientGetChannelBusinessTypeByChannelId(int32_t channelId, int32_t *businessType) = 0; 58 }; 59 60 class TransClientProxyFileManagerInterfaceMock : public TransClientProxyFileManagerInterface { 61 public: 62 TransClientProxyFileManagerInterfaceMock(); 63 ~TransClientProxyFileManagerInterfaceMock() override; 64 MOCK_METHOD0(CreateSoftBusList, SoftBusList *()); 65 MOCK_METHOD2(RegisterTimeoutCallback, int32_t (int32_t timerFunId, TimerFunCallback callback)); 66 MOCK_METHOD1(UnRegisterTimeoutCallback, int32_t (int32_t timerFunId)); 67 MOCK_METHOD0(InitPendingPacket, int32_t ()); 68 MOCK_METHOD1(PendingInit, int32_t (int32_t type)); 69 MOCK_METHOD3(TransProxyDecryptPacketData, int32_t (int32_t seq, ProxyDataInfo *dataInfo, const char *sessionKey)); 70 MOCK_METHOD4(GetSupportTlvAndNeedAckById, int32_t (int32_t channelId, 71 int32_t channelType, bool *supportTlv, bool *needAck)); 72 MOCK_METHOD5(TransProxyPackTlvBytes, int32_t (ProxyDataInfo *dataInfo, const char *sessionKey, 73 SessionPktType flag, int32_t seq, DataHeadTlvPacketHead *info)); 74 MOCK_METHOD5(TransProxyPackBytes, int32_t (int32_t channelId, ProxyDataInfo *dataInfo, 75 const char *sessionKey, SessionPktType flag, int32_t seq)); 76 MOCK_METHOD1(FileUnLock, int32_t (int32_t fd)); 77 MOCK_METHOD4(SendFileTransResult, int32_t (int32_t channelId, uint32_t seq, int32_t result, uint32_t side)); 78 MOCK_METHOD5(ServerIpcSendMessage, int32_t ( 79 int32_t channelId, int32_t channelType, const void *data, uint32_t len, int32_t msgType)); 80 MOCK_METHOD2(CreatePendingPacket, int32_t (uint32_t id, uint64_t seq)); 81 MOCK_METHOD4(ProxyChannelSendFileStream, int32_t ( 82 int32_t channelId, const char *data, uint32_t len, int32_t type)); 83 MOCK_METHOD5(GetPendingPacketData, int32_t ( 84 uint32_t id, uint64_t seq, uint32_t waitMillis, bool isDelete, TransPendData *data)); 85 MOCK_METHOD4(SoftBusPwriteFile, int64_t (int32_t fd, const void *buf, uint64_t writeBytes, uint64_t offset)); 86 MOCK_METHOD4(SendFileAckReqAndResData, int32_t (int32_t channelId, uint32_t startSeq, 87 uint32_t value, int32_t type)); 88 MOCK_METHOD2(DeletePendingPacket, void (uint32_t id, uint64_t seq)); 89 MOCK_METHOD3(AckResponseDataHandle, int32_t (const SendListenerInfo *info, const char *data, uint32_t len)); 90 MOCK_METHOD2(ClientGetChannelBusinessTypeByChannelId, int32_t(int32_t channelId, int32_t *businessType)); 91 }; 92 } // namespace OHOS 93 #endif // TRANS_CLIENT_PROXY_FILE_MANAGER_MOCK_H 94