14#ifndef ZYPP_BASE_EVENTDISPATCHER_DEFINED 
   15#define ZYPP_BASE_EVENTDISPATCHER_DEFINED 
   18#include <zypp-core/zyppng/base/Signals> 
   19#include <zypp-core/zyppng/base/Base> 
   20#include <zypp-core/zyppng/base/AbstractEventSource> 
   71      ev->invokeOnIdleImpl( std::forward<T>(
callback) );
 
 
   84  template< 
typename T >
 
   88      ev->unrefLaterImpl( std::static_pointer_cast<void>( std::forward<T>(ptr) ) );
 
 
   98  void clearUnrefLaterList ();
 
  103  ulong runningTimers() 
const;
 
  108  static std::shared_ptr<EventDispatcher> instance();
 
  115  static void setThreadDispatcher ( 
const std::shared_ptr<EventDispatcher> &disp );
 
  121  void *nativeDispatcherHandle () 
const;
 
  129  static bool waitForFdEvent ( 
const int fd, 
int events, 
int &revents, 
int &timeout );
 
 
friend class AbstractEventSource
static void unrefLater(T &&ptr)
UnixSignalSourceRef unixSignalSource()
virtual void registerTimer(Timer &timer)
std::function< void(int, int)> WaitPidCallback
std::shared_ptr< EventDispatcher > WeakPtr
void unrefLaterImpl(std::shared_ptr< void > &&ptr)
std::function< bool()> IdleFunction
EventDispatcher(void *ctx=nullptr)
virtual void removeTimer(Timer &timer)
void trackChildProcess(int pid, std::function< void(int, int)> callback)
bool untrackChildProcess(int pid)
virtual void updateEventSource(AbstractEventSource ¬ifier, int fd, int mode)
virtual void removeEventSource(AbstractEventSource ¬ifier, int fd=-1)
static std::shared_ptr< EventDispatcher > instance()
void invokeOnIdleImpl(IdleFunction &&callback)
std::shared_ptr< EventDispatcher > Ptr
static void invokeOnIdle(T &&callback)
Convenience function to schedule a callback to be called later.
The Timer class provides repetitive and single-shot timers.
#define ZYPP_DECLARE_PRIVATE(Class)
#define LIBZYPP_NG_EXPORT
#define ZYPP_FWD_DECL_TYPE_WITH_REFS(T)