/* * Adapted from * MP3/MPlayer plugin to VDR (C++) * (C) 2001,2002 Stefan Huelswitt */ #ifndef ___NETWORK_H #define ___NETWORK_H #include #include #include class cRingBufferLinear; // ---------------------------------------------------------------- class mgNet : public cRingBufferLinear, cThread { private: int m_fd; bool m_connected, m_netup; int m_deferedErrno; int m_rwTimeout, m_conTimeout; unsigned char m_lineBuff[4096]; int m_count; // void close(void); int ringRead(unsigned char *dest, int len); void copyFromBuff(unsigned char *dest, int n); protected: virtual void action(void); public: mgNet(int size, int ConTimeoutMs, int RwTimeoutMs); ~mgNet(); bool connect(const char *hostname, const int port); void disconnect(void); bool connected(void) { return m_connected; } int gets(char *dest, int len); int puts(char *dest); int read(unsigned char *dest, int len); int write(unsigned char *dest, int len); }; #endif //___NETWORK_H