make shares of devices
[mTask.git] / Devices / mTaskDevice.dcl
index 103da32..2af19ea 100644 (file)
@@ -28,6 +28,7 @@ derive consName MTaskResource, TCPSettings
                , deviceTasks :: [MTaskTask]
                , deviceData :: MTaskResource
                , deviceSpec :: Maybe MTaskDeviceSpec
+               , deviceShares :: [MTaskShare]
        }
 
 instance == MTaskDevice
@@ -35,6 +36,8 @@ 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 ()
@@ -43,6 +46,6 @@ sendMessages :: [MTaskMSGSend] -> (MTaskDevice -> Task Channels)
 withDevices :: MTaskDevice (MTaskDevice -> MTaskDevice) -> Task ()
 
 deviceTaskDelete :: MTaskDevice MTaskTask -> Task ()
-deviceTaskAcked :: MTaskDevice Int -> Task ()
+deviceTaskAcked :: MTaskDevice Int Int -> Task ()
 deviceTaskDeleteAcked :: MTaskDevice Int -> Task ()
 deviceAddSpec :: MTaskDevice MTaskDeviceSpec -> Task ()