IWorld.dcl 1.63 KB
Newer Older
1 2 3 4 5
definition module IWorld

from FilePath		import :: FilePath
from Map			import :: Map
from Maybe			import :: Maybe
6
from SystemTypes	import :: DateTime, :: User, :: Config, :: InstanceNo, :: TaskNo, :: TaskId, :: TaskListItem, :: ParallelTaskType, :: TaskTime
7
from Time			import :: Timestamp
8
from TaskState		import :: TaskListEntry
9
from JSON_NG		import :: JSONNode
10

11 12 13 14 15 16
:: *IWorld		=	{ application			:: !String									// The name of the application	
					, build					:: !String									// The date/time identifier of the application's build
					, appDirectory			:: !FilePath								// Location of the application's executable
					, sdkDirectory			:: !FilePath								// Location of the iTasks SDK
					, dataDirectory			:: !FilePath								// Location of the applications data files
					, config				:: !Config									// The server configuration
Bas Lijnse's avatar
Bas Lijnse committed
17
					, taskTime				:: !TaskTime								// The 'virtual' time for the task. Increments at every event
18 19
					, timestamp				:: !Timestamp								// The timestamp of the current request	
					, currentDateTime		:: !DateTime								// The local date & time of the current request
20
					, currentUser			:: !User									// The current user
21
					, currentInstance		:: !InstanceNo								// The current evaluated task instance
22
					, nextTaskNo			:: !TaskNo									// The next task number to assign
23
					, localShares			:: !Map TaskId JSONNode						// The set of locally shared values
24
					, localLists			:: !Map TaskId [TaskListEntry]				// The set of local parallel task lists
25 26
					, readShares			:: !Maybe [String]							// The IDs of shares from which was read
					, world					:: !*World									// The outside world
27
					}