OSDN Git Service

alpha 1 development in progress.
[dennco/dennco.git] / Source / DNEngine.cpp
index 03a47a2..9f6babb 100644 (file)
@@ -22,7 +22,8 @@
 #include "TKContainer.h"
 #include "TKUICell.h"
 #include "DNTimeKeeper.h"
-#include "DNHTTPServer.h"
+#include "DNServerHTTP.h"
+#include "DNServerSerialPort.h"
 #include "TKContainer.h"
 #include "DNContainerBuilder.h"
 #include "DNEngine.h"
@@ -38,7 +39,7 @@
 #include <iostream>
 
 DNEngine::DNEngine(const char *contentPath) :
-    mContainer(NULL),mPortNumber(9080),mHTTPServer(NULL),mValid(false), mDoTickThread(NULL)
+    mContainer(NULL),mPortNumber(9080),mHTTPServer(NULL),mSerialServer(NULL),mValid(false), mDoTickThread(NULL)
 {
     mTimeKeeper = new DNTimeKeeper();
     mContainer = TKContainer::createContainer();
@@ -233,7 +234,7 @@ bool DNEngine::startHTTPServer(int portNumber)
         delete mHTTPServer;
         mHTTPServer = NULL;
     }
-    mHTTPServer = new DNHTTPServer(this);
+    mHTTPServer = new DNServerHTTP(this);
     if (mHTTPServer)
     {
         mHTTPServer->setPortNumber(portNumber);
@@ -242,7 +243,7 @@ bool DNEngine::startHTTPServer(int portNumber)
     return true;
 }
 
-void DNEngine::stopServer()
+void DNEngine::stopHTTPServer()
 {
     if (mHTTPServer && mHTTPServer->isRunning())
     {
@@ -252,6 +253,40 @@ void DNEngine::stopServer()
     }    
 }
 
+bool DNEngine::startSerialServer()
+{
+    if (mSerialServer && mSerialServer->isRunning())
+    {
+        mSerialServer->stop();
+        delete mSerialServer;
+        mSerialServer = NULL;
+    }
+    mSerialServer = new DNServerSerialPort(this);
+    if (mSerialServer)
+    {
+        if (mSerialServer->setup())
+        {
+            mSerialServer->start();
+            return true;
+        }
+        else
+        {
+            return false;
+        }
+    }
+    return false;
+}
+
+void DNEngine::stopSerialServer()
+{
+    if (mSerialServer && mSerialServer->isRunning())
+    {
+        mSerialServer->stop();
+        delete mSerialServer;
+        mSerialServer = NULL;
+    }
+}
+
 void DNEngine::setTickIntervalSec(float interval)
 {
     if (mTimeKeeper)