19 #define RUBY_THREAD_ACTION_KILL "kill"
20 #define RUBY_THREAD_ACTION_WAKEUP "wakeup"
21 #define RUBY_THREAD_ACTION_FAILURE "failure"
22 #define RUBY_THREAD_ACTION_STARTING "starting"
24 #define RUBY_THREAD_STATUS_RUN "run"
25 #define RUBY_THREAD_STATUS_SLEEP "sleep"
26 #define RUBY_THREAD_STATUS_ABORTING "aborting"
27 #define RUBY_THREAD_STATUS_STARTING "starting"
28 #define RUBY_THREAD_STATUS_N_A ""
37 bool isRunning()
const;
44 const shared_ptr<XStringNode> &lineinput()
const {
return m_lineinput;}
46 const shared_ptr<XStringNode> &status()
const {
return m_status;}
47 const shared_ptr<XStringNode> &filename()
const {
return m_filename;}
49 const shared_ptr<XLongNode> &threadID()
const {
return m_threadID;}
52 using Talker = Talker<shared_ptr<XString>>;
53 Talker &onMessageOut() {
return m_tlkOnMessageOut;}
54 const Talker &onMessageOut()
const {
return m_tlkOnMessageOut;}
56 Talker m_tlkOnMessageOut;
59 const shared_ptr<XStringNode> m_filename;
60 shared_ptr<XStringNode> m_status;
61 shared_ptr<XStringNode> m_action;
62 shared_ptr<XStringNode> m_lineinput;
63 shared_ptr<XLongNode> m_threadID;
64 shared_ptr<XListener> m_lsnOnLineChanged;
66 std::deque<XString> m_lineBuffer;