1Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4) informationObjects(5) version2(1)}
2DEFINITIONS IMPLICIT TAGS ::=
3BEGIN
4
5-- exports everything
6
7IMPORTS emptyBind, emptyUnbind
8FROM Remote-Operations-Useful-Definitions
9{joint-iso-itu-t remote-operations(4) useful-definitions(7) version1(0)};
10
11OPERATION ::= CLASS
12{
13    &ArgumentType OPTIONAL,
14    &argumentTypeOptional BOOLEAN OPTIONAL,
15    &returnResult BOOLEAN DEFAULT TRUE,
16    &ResultType OPTIONAL,
17    &resultTypeOptional BOOLEAN OPTIONAL,
18    &Errors ERROR OPTIONAL,
19    &Linked OPERATION OPTIONAL,
20  &synchronous BOOLEAN DEFAULT FALSE,
21  &idempotent  BOOLEAN  DEFAULT FALSE,
22    &alwaysReturns BOOLEAN DEFAULT TRUE,
23    &InvokePriority Priority OPTIONAL,
24    &ResultPriority Priority OPTIONAL,
25    &operationCode Code UNIQUE OPTIONAL
26    }
27WITH SYNTAX
28 {
29   [ARGUMENT &ArgumentType [OPTIONAL &argumentTypeOptional]]
30   [RESULT &ResultType [OPTIONAL &resultTypeOptional]]
31   [RETURN RESULT &returnResult]
32   [ERRORS &Errors]
33   [LINKED &Linked]
34   [SYNCHRONOUS &synchronous]
35   [IDEMPOTENT &idempotent]
36   [ALWAYS RESPONDS &alwaysReturns]
37   [INVOKE PRIORITY &InvokePriority]
38   [RESULT-PRIORITY &ResultPriority]
39   [CODE &operationCode]
40 }
41
42ERROR ::= CLASS
43{
44    &ParameterType OPTIONAL,
45    &parameterTypeOptional BOOLEAN OPTIONAL,
46    &ErrorPriority Priority OPTIONAL,
47    &errorCode Code UNIQUE OPTIONAL
48    }
49WITH SYNTAX
50{
51    [PARAMETER &ParameterType [OPTIONAL &parameterTypeOptional]]
52    [PRIORITY &ErrorPriority]
53    [CODE &errorCode]
54    }
55
56OPERATION-PACKAGE ::= CLASS
57{
58    &Both OPERATION OPTIONAL,
59    &Consumer OPERATION OPTIONAL,
60    &Supplier OPERATION OPTIONAL,
61    &id OBJECT IDENTIFIER UNIQUE OPTIONAL
62    }
63WITH SYNTAX
64{
65    [OPERATIONS &Both]
66    [CONSUMER INVOKES &Supplier]
67    [SUPPLIER INVOKES &Consumer]
68    [ID &id]
69    }
70
71CONNECTION-PACKAGE ::= CLASS
72{
73    &bind OPERATION DEFAULT emptyBind,
74    &unbind OPERATION DEFAULT emptyUnbind,
75    &responderCanUnbind BOOLEAN DEFAULT FALSE,
76    &unbindCanFail BOOLEAN DEFAULT FALSE,
77    &id OBJECT IDENTIFIER UNIQUE OPTIONAL
78    }
79WITH SYNTAX
80{
81    [BIND &bind]
82    [UNBIND &unbind]
83    [RESPONDER UNBIND &responderCanUnbind]
84    [FAILURE TO UNBIND &unbindCanFail]
85    [ID &id]
86    }
87
88CONTRACT ::= CLASS
89{
90    &connection CONNECTION-PACKAGE OPTIONAL,
91    &OperationsOf OPERATION-PACKAGE OPTIONAL,
92    &InitiatorConsumerOf OPERATION-PACKAGE OPTIONAL,
93    &InitiatorSupplierOf OPERATION-PACKAGE OPTIONAL,
94    &id OBJECT IDENTIFIER UNIQUE OPTIONAL
95    }
96WITH SYNTAX
97{
98    [CONNECTION &connection]
99    [OPERATIONS OF &OperationsOf]
100    [INITIATOR CONSUMER OF &InitiatorConsumerOf]
101    [RESPONDER CONSUMER OF &InitiatorSupplierOf]
102    [ID &id]
103}
104
105ROS-OBJECT-CLASS ::= CLASS
106{
107    &Is ROS-OBJECT-CLASS OPTIONAL,
108    &Initiates CONTRACT OPTIONAL,
109    &Responds CONTRACT OPTIONAL,
110    &InitiatesAndResponds CONTRACT OPTIONAL,
111    &id OBJECT IDENTIFIER UNIQUE
112    }
113WITH SYNTAX
114{
115    [IS &Is]
116    [BOTH &InitiatesAndResponds]
117    [INITIATES &Initiates]
118    [RESPONDS &Responds]
119    ID &id
120    }
121
122Code ::= CHOICE
123{
124    local INTEGER,
125    global OBJECT IDENTIFIER
126    }
127
128Priority ::= INTEGER (0..MAX)
129
130END -- end of Information Object specifications
131