1#ifndef ZYPP_BASE_EVENTDISPATCHER_GLIB_P_DEFINED
2#define ZYPP_BASE_EVENTDISPATCHER_GLIB_P_DEFINED
8#include <unordered_map>
19 gpointer
tag =
nullptr;
35 static gboolean
prepare(GSource *, gint *timeout);
54 static gboolean
prepare(GSource *src, gint *timeout);
85 static std::shared_ptr<EventDispatcher>
create ( );
86 static void waitPidCallback ( GPid pid, gint status, gpointer user_data );
89 GMainContext *
_ctx =
nullptr;
~EventDispatcherPrivate() override
std::queue< EventDispatcher::IdleFunction > _idleFuncs
std::vector< std::shared_ptr< void > > _unrefLater
static void waitPidCallback(GPid pid, gint status, gpointer user_data)
std::thread::id _myThreadId
std::unordered_map< int, GlibWaitPIDData > _waitPIDs
std::vector< GAbstractEventSource * > _eventSources
UnixSignalSourceWeakRef _signalSource
std::vector< GLibTimerSource * > _runningTimers
EventDispatcherPrivate(GMainContext *ctx, EventDispatcher &p)
static std::shared_ptr< EventDispatcher > create()
std::function< void(int, int)> WaitPidCallback
The Timer class provides repetitive and single-shot timers.
static gboolean check(GSource *source)
std::vector< GUnixPollFD > pollfds
AbstractEventSource * eventSource
static gboolean dispatch(GSource *source, GSourceFunc, gpointer)
static GAbstractEventSource * create(EventDispatcherPrivate *ev)
static void destruct(GAbstractEventSource *src)
static gboolean prepare(GSource *, gint *timeout)
EventDispatcherPrivate * _ev
static void destruct(GLibTimerSource *src)
static gboolean prepare(GSource *src, gint *timeout)
static gboolean check(GSource *source)
static GLibTimerSource * create()
static gboolean dispatch(GSource *source, GSourceFunc, gpointer)
GlibWaitPIDData & operator=(GlibWaitPIDData &&other) noexcept
EventDispatcher::WaitPidCallback callback
GlibWaitPIDData(GPid pid)
#define ZYPP_DECLARE_PUBLIC(Class)
#define ZYPP_FWD_DECL_TYPE_WITH_REFS(T)