33 , _queue(
std::move(
q) )
38 ERR <<
"Creating pipes for AsyncQueueWatch: " << error->message << std::endl;
42 ERR <<
"Set pipes non-blocking for AsyncQueueWatch: "<< error->message << std::endl;
64 auto d =
ptr->d_func();
66 d->_queue->addWatch( *
ptr );
75 d_func()->_queue->removeWatch( *
this );
91 return d_func()->_sigMessageAvailable;
101 d->_sigMessageAvailable.emit();
Reference counted access to a Tp object calling a custom Dispose function when the last AutoDispose h...
void addWatch(AsyncQueueWatch &watch)
virtual ~AsyncQueueBase()
void removeWatch(AsyncQueueWatch &watch)
std::set< AsyncQueueWatch * > _watches
std::recursive_mutex _watchLock
~AsyncQueueWatchPrivate() override
AsyncQueueWatchPrivate(std::shared_ptr< AsyncQueueBase > &&q, AsyncQueueWatch &p)
~AsyncQueueWatch() override
void onSignal(int signal) override
AsyncQueueWatch(std::shared_ptr< AsyncQueueBase > &&queue)
void onFdReady(int fd, int events) override
SignalProxy< void()> sigMessageAvailable()
static std::shared_ptr< AsyncQueueWatch > create(std::shared_ptr< AsyncQueueBase > queue)
#define ZYPP_IMPL_PRIVATE(Class)