cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
set(PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
add_definitions("-DUNITTEST")
if(${UNITTEST})
add_subdirectory(unit-tests)
endif()
class DiagClient
{
public:
DiagClient(void);
virtual ~DiagClient(void);
/// @brief Deleted copy constructor and operator
DiagClient(const DiagClient &) = delete;
DiagClient &operator=(const DiagClient &) = delete;
void entry(void);
void init(void);
void terminate(void);
std::string getName(void);
void setInterface(CDiagClientInterface* m_ClientInterface);
CDiagClientInterface* getInterface(void);
#ifdef UNITTEST
Func_TransportClient* getDiagTransportClient()
{
return m_DiagTransportClient;
}
void setDiagTransportClient(Func_TransportClient* m_Client)
{
m_DiagTransportClient = m_Client;
}
#endif
void onMessageReceived(std::string name, uint32_t connectionType, uint32_t id, void *message, uint32_t length, uint32_t uid);
uint32_t asyncSend(std::string &name, uint32_t id, void *message, uint32_t length, uint32_t uid);
uint32_t blockSend(std::string &name, uint32_t id, void *message, uint32_t length, void *recvBuff, uint32_t recvBuffSize);
private:
bool b_init;
std::vector<std::string> m_serverNames;
CDiagClientInterface* m_interface;
#ifdef UNITTEST
Func_std_thread* m_client_thread;
Func_TransportClient* m_DiagTransportClient;
#else
std::thread* m_client_thread;
TransportClient* m_DiagTransportClient;
#endif
};