libzypp  17.22.0
socketnotifier.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 
16 #include <zypp/zyppng/base/AbstractEventSource>
17 #include <zypp/zyppng/base/Signals>
18 
19 namespace zyppng {
20 class SocketNotifierPrivate;
21 
66 {
68 public:
69 
70  using Ptr = std::shared_ptr<SocketNotifier>;
71  using WeakPtr = std::weak_ptr<SocketNotifier>;
72 
74 
81  static Ptr create ( int socket, int evTypes, bool enable = true );
82 
87  void setMode ( int mode );
88 
93  int mode () const;
94 
98  void setEnabled ( bool enabled = true );
99 
103  int socket () const;
104 
109 
110 protected:
111  SocketNotifier( int socket, int evTypes, bool enable );
112 
113  // AbstractEventSource interface
114 public:
115  void onFdReady(int, int events) override;
116  void onSignal(int signal) override;
117 };
118 
119 }
void onSignal(int signal) override
std::weak_ptr< Base > WeakPtr
Definition: base.h:39
void onFdReady(int, int events) override
void setMode(int mode)
SocketNotifier(int socket, int evTypes, bool enable)
static Ptr create(int socket, int evTypes, bool enable=true)
void setEnabled(bool enabled=true)
#define ZYPP_DECLARE_PRIVATE(Class)
Definition: zyppglobal.h:21
SignalProxy< void(const SocketNotifier &sock, int evTypes)> sigActivated()
std::shared_ptr< Base > Ptr
Definition: base.h:38