libzypp 17.38.7
eventloop.h
Go to the documentation of this file.
1/*---------------------------------------------------------------------\
2| ____ _ __ __ ___ |
3| |__ / \ / / . \ . \ |
4| / / \ V /| _/ _/ |
5| / /__ | | | | | | |
6| /_____||_| |_| |_| |
7| |
8\----------------------------------------------------------------------/
9*
10* This file contains private API, this might break at any time between releases.
11* You have been warned!
12*
13*/
14#ifndef ZYPP_BASE_EVENTLOOP_DEFINED
15#define ZYPP_BASE_EVENTLOOP_DEFINED
16
18#include <zypp-core/ng/base/Signals>
19#include <zypp-core/ng/base/Base>
20
21typedef struct _GMainContext GMainContext;
22
23namespace zyppng {
24
27 class EventLoopPrivate;
28
30
42 class EventLoop : public Base
43 {
45
46 public:
47 using Ptr = EventLoopRef;
48 using WeakPtr = EventLoopWeakRef;
49
50 static Ptr create ( GMainContext *ctx = nullptr );
51 static Ptr create ( EventDispatcherRef dispatcher );
52 ~EventLoop() override;
53
57 void run ();
58
62 void quit ();
63
64
68 std::shared_ptr<EventDispatcher> eventDispatcher () const;
69
70 private:
71 EventLoop( GMainContext *ctx = nullptr );
72 EventLoop( EventDispatcherRef dispatcher );
73
74 };
75
76}
77
78#endif
EventLoopRef Ptr
Definition eventloop.h:47
EventLoop(GMainContext *ctx=nullptr)
static Ptr create(GMainContext *ctx=nullptr)
std::shared_ptr< EventDispatcher > eventDispatcher() const
EventLoopWeakRef WeakPtr
Definition eventloop.h:48
struct _GMainContext GMainContext
#define ZYPP_DECLARE_PRIVATE(Class)
Definition zyppglobal.h:80
#define ZYPP_FWD_DECL_TYPE_WITH_REFS(T)
Definition zyppglobal.h:119