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