GrabBag/Module/EthMonitor/Inc/IVrEthMonitor.h

42 lines
717 B
C
Raw Normal View History

2025-06-08 12:48:04 +08:00
#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);