4.06.2013 - Version 0.3.4 - PIOBJECT() macro, ethernet improvement, documentation based on Doxygen

This commit is contained in:
peri4
2013-06-04 21:28:15 +04:00
parent 02c629d6a8
commit 9111640ca8
53 changed files with 3019 additions and 910 deletions

View File

@@ -35,25 +35,38 @@ typedef void (*KBFunc)(char, void * );
/// handlers:
/// void enableExitCapture(char key = 'Q')
/// void setActive(bool yes = true)
class PIKbdListener: public PIThread {
class PIP_EXPORT PIKbdListener: public PIThread
{
PIOBJECT(PIKbdListener)
friend class PIConsole;
public:
enum SpecialSymbol {
UpArrow = -1,
DownArrow = -2,
RightArrow = -3,
LeftArrow = -4,
CtrlUpArrow = -5,
CtrlDownArrow = -6,
CtrlRightArrow = -7,
CtrlLeftArrow = -8
};
// slot is any function format "void <func>(char, void * )"
PIKbdListener(KBFunc slot = 0, void * data = 0);
~PIKbdListener() {terminate(); end();}
void setData(void * data_) {data = data_;}
void setSlot(KBFunc slot_) {ret_func = slot_;}
EVENT_HANDLER(PIKbdListener, void, enableExitCapture) {enableExitCapture('Q');}
EVENT_HANDLER1(PIKbdListener, void, enableExitCapture, char, key) {exit_enabled = true; exit_key = key;}
EVENT_HANDLER( void, enableExitCapture) {enableExitCapture('Q');}
EVENT_HANDLER1(void, enableExitCapture, char, key) {exit_enabled = true; exit_key = key;}
void disableExitCapture() {exit_enabled = false;}
bool exitCaptured() const {return exit_enabled;}
char exitKey() const {return exit_key;}
bool isActive() {return is_active;}
EVENT_HANDLER(PIKbdListener, void, setActive) {setActive(true);}
EVENT_HANDLER1(PIKbdListener, void, setActive, bool, yes);
EVENT_HANDLER(void, setActive) {setActive(true);}
EVENT_HANDLER1(void, setActive, bool, yes);
EVENT2(PIKbdListener, keyPressed, char, key, void * , data)
EVENT2(keyPressed, char, key, void * , data)
static bool exiting;
@@ -61,6 +74,8 @@ private:
void begin();
void run();
void end();
void raiseSpecial();
KBFunc ret_func;
char exit_key;
@@ -71,7 +86,7 @@ private:
void * hIn;
DWORD smode, tmode;
#else
char rc;
int rc;
int ret;
struct termios sterm, tterm;
#endif