have device logic go in withDevices
[mTask.git] / Devices / mTaskDevice.dcl
index cae6519..618020b 100644 (file)
@@ -35,11 +35,12 @@ instance == MTaskDevice
 class MTaskDuplex a where
        synFun :: a (Shared Channels) -> Task ()
 
+withDevice :: (MTaskDevice -> Task a) String -> Task a | iTask a
+
 startupDevices :: Task [MTaskDevice]
 connectDevice :: (MTaskDevice (Shared Channels) -> Task ()) MTaskDevice -> Task ()
 manageDevices :: (MTaskDevice (Shared Channels) -> Task ()) [MTaskDevice] -> Task ()
 sendMessages :: [MTaskMSGSend] -> (MTaskDevice -> Task Channels)
-getDevice :: String -> Task MTaskDevice
 
 withDevices :: MTaskDevice (MTaskDevice -> MTaskDevice) -> Task ()