summaryrefslogtreecommitdiff
path: root/glcddrivers/network.h
diff options
context:
space:
mode:
authorandreas 'randy' weinberger <vdr@smue.org>2010-02-21 19:58:27 +0100
committerandreas 'randy' weinberger <vdr@smue.org>2010-02-21 19:58:27 +0100
commit10ab31fa86dbf9875b5f6baa6ac59fefaaf86be3 (patch)
tree60ad7c856565f03e145b2996d1bb5f9cd64c0532 /glcddrivers/network.h
downloadgraphlcd-base-10ab31fa86dbf9875b5f6baa6ac59fefaaf86be3.tar.gz
graphlcd-base-10ab31fa86dbf9875b5f6baa6ac59fefaaf86be3.tar.bz2
initial git upload, based on graphlcd-base-0.1.5
Diffstat (limited to 'glcddrivers/network.h')
-rw-r--r--glcddrivers/network.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/glcddrivers/network.h b/glcddrivers/network.h
new file mode 100644
index 0000000..4664f4c
--- /dev/null
+++ b/glcddrivers/network.h
@@ -0,0 +1,56 @@
+/*
+ * GraphLCD driver library
+ *
+ * network.h - Network output device
+ * Output goes to a network client.
+ *
+ * This file is released under the GNU General Public License. Refer
+ * to the COPYING file distributed with this package.
+ *
+ * (c) 2004 Andreas Regel <andreas.regel AT powarman.de>
+ */
+
+#ifndef _GLCDDRIVERS_NETWORK_H_
+#define _GLCDDRIVERS_NETWORK_H_
+
+#include <pthread.h>
+
+#include "driver.h"
+
+
+namespace GLCD
+{
+
+class cDriverConfig;
+
+class cDriverNetwork : public cDriver
+{
+private:
+ unsigned char * newLCD;
+ unsigned char * oldLCD;
+ cDriverConfig * config;
+ cDriverConfig * oldConfig;
+ int lineSize;
+ bool running;
+ pthread_t childTid;
+ int clientSocket;
+ bool clientConnected;
+
+ int CheckSetup();
+ static void * ServerThread(cDriverNetwork * Driver);
+
+public:
+ cDriverNetwork(cDriverConfig * config);
+ virtual ~cDriverNetwork();
+
+ virtual int Init();
+ virtual int DeInit();
+
+ virtual void Clear();
+ virtual void Set8Pixels(int x, int y, unsigned char data);
+ virtual void Refresh(bool refreshAll = false);
+};
+
+} // end of namespace
+
+#endif