import Devices.mTaskDevice
derive class iTask MTaskShare
+derive gPrint BCState
:: MTaskShare =
- {withTask :: [String]
- ,withDevice :: [String]
- ,identifier :: Int
- ,value :: BCValue
+ {withTask :: [String]
+ ,identifier:: Int
+ ,value :: BCValue
+ ,humanName :: String
}
+
+instance == MTaskShare
+
//Constructor
makeShare :: String String Int BCValue -> MTaskShare
//General viewing task
-manageShares :: [MTaskShare] -> Task MTaskShare
+manageShares :: Task [MTaskDevice]
+//manageShares :: [MTaskShare] -> Task MTaskShare
+
+updateShares :: MTaskDevice ([MTaskShare] -> [MTaskShare]) -> Task [MTaskShare]
//Clean out shares when a task has been removed
cleanSharesTask :: Int MTaskDevice -> Task [MTaskShare]
+//cleanSharesTask :: Int MTaskDevice -> Task [MTaskShare]
//Clean out shares when a device has been removed
-cleanSharesDevice :: String -> Task [MTaskShare]
-updateShare :: Int BCValue -> Task [MTaskShare]
+updateShareFromPublish :: MTaskDevice Int BCValue -> Task BCValue
+//updateShare :: Int BCValue -> Task [MTaskShare]
+
+getRealShare :: MTaskDevice MTaskShare -> Shared BCValue
+//getRealShare :: MTaskDevice BCShare -> Shared BCValue
//updateShare :: Int BCValue -> Task ()