aboutsummaryrefslogtreecommitdiff
path: root/vfd-backend/app/plugins
diff options
context:
space:
mode:
authorJakob Odersky <jodersky@gmail.com>2014-11-11 22:57:43 +0100
committerJakob Odersky <jodersky@gmail.com>2014-11-11 22:57:43 +0100
commitfce804d44452d236038e904506f61f7d615eca51 (patch)
tree36a909258f2fc16e03196360d31f75ba55355f8d /vfd-backend/app/plugins
parentf37bdb01ecc88618c267deaa80ecacb520001d1a (diff)
downloadmavigator-fce804d44452d236038e904506f61f7d615eca51.tar.gz
mavigator-fce804d44452d236038e904506f61f7d615eca51.tar.bz2
mavigator-fce804d44452d236038e904506f61f7d615eca51.zip
hand-implement some messages
Diffstat (limited to 'vfd-backend/app/plugins')
-rw-r--r--vfd-backend/app/plugins/UavClientConnection.scala29
-rw-r--r--vfd-backend/app/plugins/UavPlugin.scala27
2 files changed, 30 insertions, 26 deletions
diff --git a/vfd-backend/app/plugins/UavClientConnection.scala b/vfd-backend/app/plugins/UavClientConnection.scala
new file mode 100644
index 0000000..b479aa5
--- /dev/null
+++ b/vfd-backend/app/plugins/UavClientConnection.scala
@@ -0,0 +1,29 @@
+package plugins
+
+import akka.actor.Actor
+import akka.actor.ActorLogging
+import akka.actor.ActorRef
+import akka.actor.actorRef2Scala
+import vfd.uav.Connection
+
+/**
+ * Interfaces traffic from a websocket with a connection to a UAV.
+ */
+class UavClientConnection(websocket: ActorRef, uav: ActorRef) extends Actor with ActorLogging {
+
+ override def preStart = {
+ uav ! Connection.Register
+ }
+
+ def receive = {
+
+ case Connection.Received(bstr) =>
+ websocket ! bstr.toArray
+
+ case Connection.Closed(msg) =>
+ log.warning(msg)
+ context stop self
+
+ }
+
+} \ No newline at end of file
diff --git a/vfd-backend/app/plugins/UavPlugin.scala b/vfd-backend/app/plugins/UavPlugin.scala
index 2e5af65..43e015c 100644
--- a/vfd-backend/app/plugins/UavPlugin.scala
+++ b/vfd-backend/app/plugins/UavPlugin.scala
@@ -1,14 +1,10 @@
package plugins
-import akka.actor.Actor
-import akka.actor.ActorLogging
import akka.actor.ActorRef
import akka.actor.Props
-import akka.actor.actorRef2Scala
import play.api.Application
import play.api.Plugin
import play.api.libs.concurrent.Akka
-import vfd.uav.Connection
import vfd.uav.MockConnection
import vfd.uav.SerialConnection
@@ -44,27 +40,6 @@ class UavPlugin(app: Application) extends Plugin {
Akka.system(app).actorOf(props, name = "uav-connection")
}
- def register(websocket: ActorRef): Props = Props(classOf[ClientConnection], websocket, connection)
-
-}
-
-class ClientConnection(websocket: ActorRef, uav: ActorRef) extends Actor with ActorLogging {
-
- override def preStart = {
- uav ! Connection.Register
- }
-
- def receive = {
-
- case Connection.Received(bstr) =>
- log.info(bstr.toArray.mkString(","))
- websocket ! bstr.toArray
-
-
- case Connection.Closed(msg) =>
- log.warning(msg)
- context stop self
-
- }
+ def register(websocket: ActorRef): Props = Props(classOf[UavClientConnection], websocket, connection)
} \ No newline at end of file