#ifndef MUXER_H #define MUXER_H #include #include #include #include #include class DLL_PUBLIC Muxer : public P2PVR::RawDataClient { public: Muxer(const P2PVR::RawDataClientPrx & target, const std::string & cmd); ~Muxer(); bool NewData(const P2PVR::Data &, const Ice::Current &); private: DLL_PRIVATE bool ReadWaiting() const; DLL_PRIVATE bool ReadAvailable() const; DLL_PRIVATE bool ReadMuxerAndSend(int wait) const; const P2PVR::RawDataClientPrx target; typedef boost::shared_ptr ProcessPipesPtr; ProcessPipesPtr fds; mutable std::mutex lock; }; #endif