Skip to content

Commit b0ed8e8

Browse files
author
Chrono Law
committed
ngx event
1 parent 6d28caf commit b0ed8e8

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

ngxpp/NgxEvent.hpp

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
// Copyright (c) 2015
2+
// Author: Chrono Law
3+
#ifndef _NGX_EVENT_HPP
4+
#define _NGX_EVENT_HPP
5+
6+
#include "Nginx.hpp"
7+
8+
class NgxEvent final : public NgxWrapper<ngx_event_t>
9+
{
10+
public:
11+
typedef NgxWrapper<ngx_event_t> super_type;
12+
typedef NgxEvent this_type;
13+
public:
14+
NgxEvent(ngx_event_t* ev) : super_type(ev)
15+
{}
16+
17+
NgxEvent(ngx_event_t& ev) : super_type(ev)
18+
{}
19+
20+
~NgxEvent() = default;
21+
public:
22+
template<typename T>
23+
void data(T *p) const
24+
{
25+
get()->data = p;
26+
}
27+
28+
template<typename T>
29+
T& data() const
30+
{
31+
return *reinterpret_cast<T>(get()->data);
32+
}
33+
public:
34+
template<typename F>
35+
void handler(F f) const
36+
{
37+
get()->handler = f;
38+
}
39+
};
40+
41+
#endif //_NGX_EVENT_HPP

0 commit comments

Comments
 (0)