Fork of Smoothie to port to mbed non-LPC targets.

Dependencies:   mbed

Fork of Smoothie by Stéphane Cachat

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?

UserRevisionLine numberNew 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