7fd59977 |
1 | -- File: TFunction_Driver.cdl |
2 | -- Created: Mon Jul 19 14:37:17 1999 |
3 | -- Author: Denis PASCAL |
4 | -- <dp@dingox.paris1.matra-dtv.fr> |
5 | ---Copyright: Matra Datavision 1999 |
6 | |
7 | |
8 | deferred class Driver from TFunction inherits TShared from MMgt |
9 | |
10 | ---Purpose: This driver class provide services around function |
11 | -- execution. One instance of this class is built for |
12 | -- the whole session. The driver is bound to the |
13 | -- DriverGUID in the DriverTable class. |
14 | -- It allows you to create classes which inherit from |
15 | -- this abstract class. |
16 | -- These subclasses identify the various algorithms |
17 | -- which can be applied to the data contained in the |
18 | -- attributes of sub-labels of a model. |
19 | -- A single instance of this class and each of its |
20 | -- subclasses is built for the whole session. |
21 | uses |
22 | |
23 | Logbook from TFunction, |
24 | Label from TDF, |
25 | LabelList from TDF |
26 | |
27 | is |
28 | |
29 | Initialize returns mutable Driver from TFunction; |
30 | |
31 | |
32 | ---Purpose: initialisation of the driver |
33 | -- ============================ |
34 | |
35 | Init(me : mutable; L : Label from TDF); |
36 | ---Purpose: Initializes the label L for this function prior to its execution. |
37 | |
38 | Label(me) returns Label from TDF; |
39 | ---C++: inline |
40 | ---Purpose: Returns the label of the driver for this function. |
41 | |
42 | Validate(me; log : in out Logbook from TFunction) |
43 | is virtual; |
44 | ---Purpose: Validates labels of a function in <log>. |
45 | -- This function is the one initialized in this function driver. |
46 | -- Warning |
47 | -- In regeneration mode, the solver must call this |
48 | -- method even if the function is not executed. |
49 | |
50 | |
51 | ---Purpose: execution of function |
52 | -- ===================== |
53 | |
54 | MustExecute (me; log : Logbook from TFunction) |
55 | ---Purpose: Analyzes the labels in the logbook log. |
56 | -- Returns true if attributes have been modified. |
57 | -- If the function label itself has been modified, the function must be executed. |
58 | returns Boolean from Standard |
59 | is virtual; |
60 | |
61 | Execute (me; log : in out Logbook from TFunction) |
62 | ---Purpose: Executes the function in this function driver and |
63 | -- puts the impacted labels in the logbook log. |
64 | returns Integer from Standard |
65 | is deferred; |
66 | |
67 | |
68 | ---Purpose: arguments & results of functions |
69 | -- ================================ |
70 | |
71 | Arguments (me; args : out LabelList from TDF) |
72 | ---Purpose: The method fills-in the list by labels, |
73 | -- where the arguments of the function are located. |
74 | is virtual; |
75 | |
76 | Results (me; res : out LabelList from TDF) |
77 | ---Purpose: The method fills-in the list by labels, |
78 | -- where the results of the function are located. |
79 | is virtual; |
80 | |
81 | fields |
82 | |
83 | myLabel : Label from TDF; |
84 | |
85 | end Driver; |