#if !defined(__SERVERWIDGET_H) #define __SERVERWIDGET_H #include "logwidget.h" #ifdef WIN32 #include #include #else #include #include #include #include #include #include #include #include #include #define INVALID_SOCKET -1 #define SOCKET int #endif /* How many clients are allowed to wait for a connection at a time */ #define CONN_BACKLOG 5 namespace mitsuba { class RenderJob; }; class ServerThread : public Thread { public: ServerThread(Logger *logger, int listenPort, const std::string &nodeName); virtual ~ServerThread(); void run(); void shutdown(); private: SOCKET m_socket; int m_listenPort; bool m_active; std::string m_nodeName; }; class ServerWidget : public QMainWindow { Q_OBJECT public: ServerWidget(QWidget *parent, const QString &nodeName, int listenPort); virtual ~ServerWidget(); void show(); signals: void closed(); protected slots: void onTextMessage(ELogLevel level, const QString &message); protected: void closeEvent(QCloseEvent *event); private: QTextEdit *m_contents; ref m_logger; ref m_thread; }; #endif /* __SERVERWIDGET_H */