로딩중...
검색중...
일치하는것 없음
signaler.hpp
이 파일의 문서화 페이지로 가기
1
2#pragma once
3
4#include "core/common.hpp"
5
6namespace by {
7
8 struct nerr;
9
10 typedef nerr* (*errMaker)(nint);
11 typedef void (*sigFunc)(const nerr&);
12 typedef std::function<void(const nerr&)> sigHandler;
13
18 struct _nout sig {
19 BY(ME(sig))
20
21 public:
22 nbool operator==(const sig& rhs) const;
23 nbool operator!=(const sig& rhs) const;
24
25 public:
26 int code;
27 errMaker maker;
28 };
29
34 class _nout signaler {
35 BY(ME(signaler))
36
37 private:
38 signaler();
39
40 public:
41 void addSignal(const sigHandler& closure);
42 void delSignal(const sigHandler& closure);
43 void relSignal();
44
48 void onSignal(nint code);
49
50 static signaler& get();
51
52 private:
53 void _setSignal(void (*csignalHandler)(nint));
54 const nerr* _getErrBy(nint code) const;
55
56 private:
57 std::vector<sigHandler> _closures;
58 };
59} // namespace by
func closure with captured object scope
Definition closure.hpp:20
Signal handler manager
Definition signaler.hpp:34
void onSignal(nint code)
Definition tnarr.hpp:9
Definition nerr.hpp:18
Signal structure for error handling
Definition signaler.hpp:18
to Top