42 lines
717 B
C
42 lines
717 B
C
|
|
#pragma once
|
|||
|
|
#include <iostream>
|
|||
|
|
#include <functional>
|
|||
|
|
#include <vector>
|
|||
|
|
|
|||
|
|
#include "VrCommon.h"
|
|||
|
|
|
|||
|
|
#ifdef _WIN32
|
|||
|
|
#pragma comment(lib, "EthMonitor")
|
|||
|
|
#endif // _WIN32
|
|||
|
|
|
|||
|
|
enum NetStatus
|
|||
|
|
{
|
|||
|
|
NET_STATUS_UNKOWN,
|
|||
|
|
NET_STATUS_UP,
|
|||
|
|
NET_STATUS_DOWN,
|
|||
|
|
NET_STATUS_ROUTE_ADD,
|
|||
|
|
NET_STATUS_ROUTE_DEL,
|
|||
|
|
NET_STATUS_STATUS_CHANGE,
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
typedef std::function<void(std::string sDevName, NetStatus eStatus, void* pParam)> NetNotify;
|
|||
|
|
|
|||
|
|
|
|||
|
|
class IVrEthMonitor
|
|||
|
|
{
|
|||
|
|
public:
|
|||
|
|
/// @name <20><><EFBFBD>캯<EFBFBD><ECBAAF>
|
|||
|
|
virtual ~IVrEthMonitor() = default;
|
|||
|
|
|
|||
|
|
/// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|||
|
|
/// @return <20>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>TRUE
|
|||
|
|
virtual int StartMonitor(NetNotify func, void* pParam) = 0;
|
|||
|
|
|
|||
|
|
/// @brief
|
|||
|
|
/// ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>
|
|||
|
|
virtual void StopMonitor() = 0;
|
|||
|
|
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
bool VrCreateEthMonitor(IVrEthMonitor** ppEthMonitor);
|