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