This Method disables one or more Connections. Optionally, it also removes these Connections. It is recommended that this Method has the execute privilege for the well-known Role ConnectionAdmin as defined in Clause 5.9.

The signature of the Method is described below, and the arguments are described in Table 22.

Signature

CloseConnections (

[in] 0:NodeId[] ConnectionEndpoints,

[in] 0:Boolean Remove,

[out] 0:StatusCode[] Results

);

Table 22 – CloseConnections Method arguments

Argument

Description

ConnectionEndpoints

The list of Connections to be closed.

Remove

When TRUE, the Objects dynamically created for the Connection are removed.

Results

The results of closing the Connections identified by the ConnectionEndpoints argument, see Table 24.

The length of this array shall match the length of the ConnectionEndpoints list.

Clients may inspect this list to determine which Connections failed to be closed.

The possible Method result codes are formally defined in Table 23.

Table 23 – CloseConnections Method result codes

Result Code

Description

Uncertain

There was at least one error or warning for one of the Connections. Results will contain additional information.

The possible Results StatusCodes are formally defined in Table 24.

Table 24 – Results StatusCodes

Result Code

Description

Bad_NodeIdUnknown

The NodeId for the requested ConnectionEndpoint does not exist in the Server address space.

Bad_NodeIdInvalid

The syntax of the NodeId for the requested ConnectionEndpoint was invalid.

Bad_InvalidArgument

The NodeId for the requested ConnectionEndpoint was not a ConnectionEndpoint.

The CloseConnections Method representation in the AddressSpace is formally defined in Table 25.

Table 25 – CloseConnections Method AddressSpace definition

Attribute

Value

BrowseName

3:CloseConnections

References

Node Class

BrowseName

DataType

TypeDefinition

Other

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

M

0:HasProperty

Variable

0:OutputArguments

0:Argument[]

0:PropertyType

M

0:GeneratesEvent

ObjectType

2:AuditUpdateMethodResultEventType

Defined in 8.2

ConformanceUnits

UAFX AutomationComponent Base

The Method implementation shall disable all communication model Objects for each element in ConnectionEndpoints in an atomic operation.

If PubSub is used as the communication model for a ConnectionEndpoint, the Method implementation shall only disable the DataSetReader and DataSetWriter referenced by ToDataSetReader and/or ToDataSetWriter References if no further References from other ConnectionEndpoints exist. Their parent Objects (WriterGroup, ReaderGroup, PubSubConnection, and PublishSubscribe) shall be left in their current state.

The behaviour of the Client Server communication model may be defined in a future version of this document.

The CleanupTimeout processing shall be disabled.

If Remove is TRUE, the Method implementation shall remove what has been dynamically created by EstablishConnections Method Call(s) related to the ConnectionEndpoints. This includes any configuration specific to the utilized communication model, all related communication model Objects if not referenced from other ConnectionEndpoints, the ConnectionEndpoints, and all persisted items. In addition, all ControlGroups-based restrictions placed on Objects shall be released. Preconfigured Objects or Objects referenced by other ConnectionEndpoints shall not be removed.

What occurs with the ConfigurationData that was applied when establishing the ConnectionEndpoints is vendor-specific.

NOTE   A FunctionalEntity could provide application-specific behaviour for its ConfigurationData, i.e., it might roll it back to a predetermined setting, or it might leave it as configured.