summaryrefslogtreecommitdiff
path: root/offsetProject/src/buttonChecker.h
diff options
context:
space:
mode:
Diffstat (limited to 'offsetProject/src/buttonChecker.h')
-rw-r--r--offsetProject/src/buttonChecker.h72
1 files changed, 72 insertions, 0 deletions
diff --git a/offsetProject/src/buttonChecker.h b/offsetProject/src/buttonChecker.h
new file mode 100644
index 0000000..2de14cb
--- /dev/null
+++ b/offsetProject/src/buttonChecker.h
@@ -0,0 +1,72 @@
+#ifndef _BUTTON_CHECK
+#define _BUTTON_CHECK
+
+#include "ofMain.h"
+#include "ofURLFileLoader.h"
+
+long ofToLong(const string& intString);
+
+class buttonChecker : public ofThread{
+
+ public:
+
+ float interval; //time between refreshes in seconds
+ std::string url;
+ long last;
+ float triggerTime;
+ bool active;
+
+ buttonChecker(){
+ url = "http://tycleeson.com/trigger.php";
+ interval=0.05;
+ last=0;
+ triggerTime=0.0f;
+ active=false;
+ }
+
+ void set_interval(float _interval){
+ interval=_interval;
+ }
+
+ void start(){
+ startThread(true, false); // blocking, verbose
+ }
+
+ void stop(){
+ stopThread();
+ }
+
+ bool action(){
+ if(active){
+ active=false;
+ return true;
+ }
+ return false;
+ }
+
+
+ //--------------------------
+ void threadedFunction(){
+
+ cout << "Api: " << url<<endl;
+
+ while( isThreadRunning() != 0 ){
+
+ //cout<<"."<<std::flush;
+
+ long result = ofToLong(ofLoadURL(url).data.getText());
+ if (result>last){
+ last=result;
+ active=true;
+ triggerTime=ofGetElapsedTimef();
+ }
+
+
+ ofSleepMillis(interval * 1000);
+ }
+ }
+
+
+};
+
+#endif \ No newline at end of file