, deviceError :: Maybe String
, deviceChannels :: String
, deviceName :: String
+ , deviceState :: BCState
, deviceTasks :: [MTaskTask]
, deviceData :: MTaskResource
, deviceSpec :: Maybe MTaskDeviceSpec
+ , deviceShares :: [MTaskShare]
}
instance == MTaskDevice
class MTaskDuplex a where
synFun :: a (Shared Channels) -> Task ()
+withDevices :: MTaskDevice (MTaskDevice -> MTaskDevice) -> Task [MTaskDevice]
+//withDevices :: MTaskDevice (MTaskDevice -> MTaskDevice) -> Task ()
+
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
+connectDevice :: (MTaskDevice (Shared Channels) -> Task ()) MTaskDevice -> Task Channels
+manageDevices :: (MTaskDevice (Shared Channels) -> Task ()) -> Task ()
+
+sendMessages :: [MTaskMSGSend] MTaskDevice -> Task Channels
+sendMessagesIW :: [MTaskMSGSend] MTaskDevice *IWorld -> *(MaybeError TaskException (), *IWorld)
-withDevices :: MTaskDevice (MTaskDevice -> MTaskDevice) -> Task ()
deviceTaskDelete :: MTaskDevice MTaskTask -> Task ()
-deviceTaskAcked :: MTaskDevice Int -> Task ()
-deviceTaskDeleteAcked :: MTaskDevice Int -> Task ()
-deviceAddSpec :: MTaskDevice MTaskDeviceSpec -> Task ()
+deviceTaskAcked :: MTaskDevice Int Int -> Task [MTaskDevice]
+deviceTaskDeleteAcked :: MTaskDevice Int -> Task [MTaskDevice]
+deviceAddSpec :: MTaskDevice MTaskDeviceSpec -> Task [MTaskDevice]