equality for devices, externalize tasks
[mTask.git] / Devices / mTaskDevice.dcl
index 457a1a6..0e9f567 100644 (file)
@@ -4,6 +4,7 @@ from Data.Maybe import :: Maybe
 import iTasks
 import Devices.mTaskSerial
 import Devices.mTaskTCP
+import Tasks.mTaskTask
 import mTaskInterpret
 import Generics.gCons
 import iTasksTTY
@@ -24,17 +25,18 @@ channels :: MTaskDevice -> Shared Channels
                 deviceTask :: Maybe TaskId
                ,deviceChannels :: String
                ,deviceName :: String
-               ,deviceTasks :: [(String, Int)]
+               ,deviceTasks :: [MTaskTask]
                ,deviceData :: MTaskResource
        }
 
+instance == MTaskDevice
+
 class MTaskDuplex a where
        synFun :: a (Shared Channels) -> Task ()
 
-//makeDevice :: MTaskResource String -> Task MTaskDevice
-
-addDevice :: (Shared [MTaskDevice]) -> Task String
-//addDevice :: (Shared [MTaskDevice]) -> Task MTaskResource
-//addDevice :: (Shared [MTaskDevice]) -> Task ()
+manageDevices :: (MTaskDevice (Shared Channels) -> Task ()) [MTaskDevice] -> Task ()
+sendToDevice :: String (Main (ByteCode () Stmt)) (MTaskDevice, Int) -> Task ()
 
-viewDevices :: [MTaskDevice] -> Task ()
+deviceTaskDelete :: MTaskDevice MTaskTask -> Task ()
+deviceTaskAcked :: MTaskDevice Int -> Task ()
+deviceTaskDeleteAcked :: MTaskDevice Int -> Task ()