#ifndef XRAY_H #define XRAY_H #include class Xray { public: static Xray& getInstance() { static Xray instance; return instance; } bool startXray(const QString& cfg); bool stopXray(); private: static void ctxSockCallback(uintptr_t fd, void* ctx) { reinterpret_cast(ctx)->sockCallback(fd); } static void ctxLogHandler(char* str, void* ctx) { reinterpret_cast(ctx)->logHandler(str); } void sockCallback(uintptr_t fd); void logHandler(char* str); #ifdef Q_OS_LINUX QByteArray m_defaultIfaceName; #else int m_defaultIfaceIdx; #endif #ifdef Q_OS_MAC QString m_uplinkIfaceName; QString m_uplinkGateway; #endif }; #endif // XRAY_H