9cb38cac773b3346886e2288ea6b520ac9059940
[mTask.git] / Shares / mTaskShare.dcl
1 definition module Shares.mTaskShare
2
3 import iTasks
4 import iTasks._Framework.Serialization
5 import mTask
6 import Devices.mTaskDevice
7
8 derive class iTask MTaskShare
9
10 :: MTaskShare =
11 {withTask :: [String]
12 ,identifier :: Int
13 ,value :: BCValue
14 }
15
16 instance == MTaskShare
17
18 //Constructor
19 makeShare :: String Int BCValue -> MTaskShare
20
21 //General viewing task
22 manageShares :: Task [MTaskDevice]
23 //manageShares :: [MTaskShare] -> Task MTaskShare
24
25 updateShares :: MTaskDevice ([MTaskShare] -> [MTaskShare]) -> Task [MTaskShare]
26
27 //Clean out shares when a task has been removed
28 cleanSharesTask :: Int MTaskDevice -> Task [MTaskShare]
29 //cleanSharesTask :: Int MTaskDevice -> Task [MTaskShare]
30 //Clean out shares when a device has been removed
31
32 updateShareFromPublish :: MTaskDevice Int BCValue -> Task [MTaskDevice]
33 //updateShare :: Int BCValue -> Task [MTaskShare]
34
35 getRealShare :: MTaskDevice MTaskShare -> Shared BCValue
36 //getRealShare :: MTaskDevice BCShare -> Shared BCValue
37
38 //updateShare :: Int BCValue -> Task ()