update
[mTask.git] / Shares / mTaskShare.dcl
index df4a2f1..de2cbc4 100644 (file)
@@ -2,26 +2,28 @@ definition module Shares.mTaskShare
 
 import iTasks
 import iTasks._Framework.Serialization
+import mTask
+import Devices.mTaskDevice
 
-derive class iTask MTaskShareType
+derive class iTask MTaskShare
 
-derive gEditor MTaskShare
-derive gText MTaskShare
-derive JSONEncode MTaskShare
-derive JSONDecode MTaskShare
-derive gDefault MTaskShare
-derive gEq MTaskShare
-
-:: MTaskShareType = MTaskWithShare String | MTaskLens String
 :: MTaskShare =
-               {withTask :: String
+               {withTask :: [String]
+               ,withDevice :: [String]
                ,identifier :: Int
-               ,realShare :: MTaskShareType
-               ,value :: String
-               ,dynvalue :: Dynamic
+               ,value :: BCValue
                }
+//Constructor
+makeShare :: String String Int BCValue -> MTaskShare
+
+//General viewing task
+manageShares :: [MTaskShare] -> Task MTaskShare
+
+//Clean out shares when a task has been removed
+cleanSharesTask :: Int MTaskDevice -> Task [MTaskShare]
+//Clean out shares when a device has been removed
+cleanSharesDevice :: String -> Task [MTaskShare]
 
-manageShares :: [MTaskShare] -> Task ()
+updateShare :: Int BCValue -> Task [MTaskShare]
 
-///makeShare :: String Int Dynamic -> Task MTaskShare
-makeShare :: String Int String -> Task MTaskShare
+//updateShare :: Int BCValue -> Task ()