Fork of Smoothie to port to mbed non-LPC targets.
Fork of Smoothie by
libs/Network/uip/CallbackStream.h@2:1df0b61d3b5a, 2014-02-28 (annotated)
- Committer:
- Michael J. Spencer
- Date:
- Fri Feb 28 18:52:52 2014 -0800
- Revision:
- 2:1df0b61d3b5a
Update to latest Smoothie.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Michael J. Spencer |
2:1df0b61d3b5a | 1 | #ifndef CALLBACKSTREAM_H |
Michael J. Spencer |
2:1df0b61d3b5a | 2 | #define CALLBACKSTREAM_H |
Michael J. Spencer |
2:1df0b61d3b5a | 3 | |
Michael J. Spencer |
2:1df0b61d3b5a | 4 | typedef int (*cb_t)(const char *, void *); |
Michael J. Spencer |
2:1df0b61d3b5a | 5 | |
Michael J. Spencer |
2:1df0b61d3b5a | 6 | #ifdef __cplusplus |
Michael J. Spencer |
2:1df0b61d3b5a | 7 | #include "libs/StreamOutput.h" |
Michael J. Spencer |
2:1df0b61d3b5a | 8 | |
Michael J. Spencer |
2:1df0b61d3b5a | 9 | |
Michael J. Spencer |
2:1df0b61d3b5a | 10 | class CallbackStream : public StreamOutput { |
Michael J. Spencer |
2:1df0b61d3b5a | 11 | public: |
Michael J. Spencer |
2:1df0b61d3b5a | 12 | CallbackStream(cb_t cb, void *u); |
Michael J. Spencer |
2:1df0b61d3b5a | 13 | virtual ~CallbackStream(); |
Michael J. Spencer |
2:1df0b61d3b5a | 14 | int puts(const char*); |
Michael J. Spencer |
2:1df0b61d3b5a | 15 | void inc() { use_count++; } |
Michael J. Spencer |
2:1df0b61d3b5a | 16 | void dec(); |
Michael J. Spencer |
2:1df0b61d3b5a | 17 | int get_count() { return use_count; } |
Michael J. Spencer |
2:1df0b61d3b5a | 18 | void mark_closed(); |
Michael J. Spencer |
2:1df0b61d3b5a | 19 | |
Michael J. Spencer |
2:1df0b61d3b5a | 20 | private: |
Michael J. Spencer |
2:1df0b61d3b5a | 21 | cb_t callback; |
Michael J. Spencer |
2:1df0b61d3b5a | 22 | void *user; |
Michael J. Spencer |
2:1df0b61d3b5a | 23 | bool closed; |
Michael J. Spencer |
2:1df0b61d3b5a | 24 | int use_count; |
Michael J. Spencer |
2:1df0b61d3b5a | 25 | }; |
Michael J. Spencer |
2:1df0b61d3b5a | 26 | |
Michael J. Spencer |
2:1df0b61d3b5a | 27 | #else |
Michael J. Spencer |
2:1df0b61d3b5a | 28 | |
Michael J. Spencer |
2:1df0b61d3b5a | 29 | extern void *new_callback_stream(cb_t cb, void *); |
Michael J. Spencer |
2:1df0b61d3b5a | 30 | extern void delete_callback_stream(void *); |
Michael J. Spencer |
2:1df0b61d3b5a | 31 | |
Michael J. Spencer |
2:1df0b61d3b5a | 32 | #endif // __cplusplus |
Michael J. Spencer |
2:1df0b61d3b5a | 33 | |
Michael J. Spencer |
2:1df0b61d3b5a | 34 | #endif |