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