Mercurial > projects > dreactor
comparison dreactor/protocol/DefaultProvider.d @ 13:8c9b1276f623 default tip
bug fixes
author | rick@minifunk |
---|---|
date | Sat, 20 Sep 2008 18:33:11 -0400 |
parents | d6a3cfe7c3de |
children |
comparison
equal
deleted
inserted
replaced
12:d6a3cfe7c3de | 13:8c9b1276f623 |
---|---|
1 module dreactor.protocol.DefaultProvider; | 1 module dreactor.protocol.DefaultProvider; |
2 | 2 |
3 import tango.io.Selector; | 3 import tango.io.selector.model.ISelector; |
4 import tango.io.device.Conduit; | |
4 | 5 |
5 import dreactor.protocol.IProvider; | 6 import dreactor.protocol.IProvider; |
6 | 7 |
7 | 8 |
8 | 9 |
9 class DefaultProvider : IProvider | 10 class DefaultProvider : IProvider |
10 { | 11 { |
11 private | 12 private |
12 Conduit cond; | 13 Conduit cond; |
13 Events evts; | 14 Event evts; |
15 bool delegate (Event) regFn; | |
16 public | |
14 | 17 |
15 public | 18 enum { |
16 Message handleRead(Conduit c) | 19 Read = 1000, |
17 { | 20 Write, |
21 Error, | |
22 Connect, | |
23 Disconnect | |
18 } | 24 } |
19 | 25 |
20 Message handleWrite(Conduit c) | 26 Message handleRead() |
21 { | 27 { |
28 return Message(cast(void*)cond, Read, 0); | |
22 } | 29 } |
23 | 30 |
24 Message handleError(Conduit c) | 31 Message handleWrite() |
25 { | 32 { |
33 return Message(cast(void*)cond, Write, 0); | |
26 } | 34 } |
27 | 35 |
28 Message handleConnect(Conduit c) | 36 Message handleError() |
29 { | 37 { |
38 return Message(cast(void*)cond, Error, 0); | |
30 } | 39 } |
31 | 40 |
32 Message handleDisconnect(Conduit c) | 41 Message handleConnect() |
33 { | 42 { |
43 return Message(cast(void*)cond, Connect, 0); | |
44 } | |
45 | |
46 Message handleDisconnect() | |
47 { | |
48 return Message(cast(void*)cond, Disconnect, 0); | |
34 } | 49 } |
35 | 50 |
36 | 51 |
37 Conduit getConduit() | 52 Conduit getConduit() |
38 { | 53 { |
39 return cond; | 54 return cond; |
40 } | 55 } |
41 | 56 |
42 int getEvents() | 57 void send(char[] buf) |
58 { | |
59 } | |
60 | |
61 Event getEvents() | |
43 { | 62 { |
44 return evts; | 63 return evts; |
45 } | 64 } |
46 | 65 |
47 void setEvents(Event e) | 66 void setEvents(Event e) |
48 { | 67 { |
49 evts e; | 68 evts = e; |
50 } | 69 } |
70 | |
71 void setRegisterFunc( bool delegate (Event) fn) | |
72 { | |
73 regFn = fn; | |
74 } | |
51 } | 75 } |