Opc.Ua.Client Stores the options to use for a browse operation. Creates an unattached instance of a browser. Creates new instance of a browser and attaches it to a session. Creates a copy of a browser. Sets all private fields to default values. The session that the browse is attached to. The view to use for the browse operation. The maximum number of refrences to return in a single browse operation. The direction to browse. The reference type to follow. Whether subtypes of the reference type should be included. The classes of the target nodes. The results to return. Raised when a browse operation halted because of a continuation point. Whether subsequent continuation points should be processed automatically. Browses the specified node. Checks the state of the browser. Fetches the next batch of references. The continuation point. if set to true the browse operation is cancelled. The next batch of references The event arguments provided a browse operation returns a continuation point. Creates a new instance. Whether the browse operation should be cancelled. Whether subsequent continuation points should be processed automatically. The references that have been fetched so far. A delegate used to received browser events. Defines numerous re-useable utility functions for clients. The default discover operation timeout. Discovers the servers on the local machine. The configuration. A list of server urls. Discovers the servers on the local machine. The configuration. Operation timeout in milliseconds. A list of server urls. Finds the endpoint that best matches the current settings. The discovery URL. if set to true select an endpoint that uses security. The best available endpoint. Finds the endpoint that best matches the current settings. The discovery URL. if set to true select an endpoint that uses security. Operation timeout in milliseconds. The best available endpoint. Finds the endpoint that best matches the current settings. Finds the endpoint that best matches the current settings. Finds the endpoint that best matches the current settings. The application configuration. The discovery URL. if set to true select an endpoint that uses security. The best available endpoint. Finds the endpoint that best matches the current settings. The application configuration. The discovery URL. if set to true select an endpoint that uses security. The timeout for the discover operation. The best available endpoint. Select the best supported endpoint from an EndpointDescriptionCollection, with or without security. A class that holds the configuration for a UA service. The default constructor. Sets private members to default values. The node id for the dictionary. The display name for the dictionary. The node id for the type system. The display name for the type system. The type dictionary. The data type dictionary. Loads the dictionary identified by the node id. Loads the dictionary identified by the node id. Returns true if the dictionary contains the data type description; Returns the schema for the specified type (returns the entire dictionary if null). Retrieves the type system for the dictionary. Retrieves the data types in the dictionary. In order to allow for fast Linq matching of dictionary QNames with the data type nodes, the BrowseName of the DataType node is replaced with Value string. Reads the contents of a data dictionary. Validates the type dictionary. The Opc.Ua.Client namespace defines classes which can be used to implement a UA client. These classes manage client side state information, provide higher level abstractions for UA tasks such as managing sessions/subscriptions and saving/restoring connection information for later use. A monitored item. Initializes a new instance of the class. Initializes a new instance of the class. The client handle. The caller must ensure it uniquely identifies the monitored item. Initializes a new instance of the class. The template used to specify the monitoring parameters. Initializes a new instance of the class. The template used to specify the monitoring parameters. if set to true the event handlers are copied. Initializes a new instance of the class. The template used to specify the monitoring parameters. if set to true the event handlers are copied. if set to true the clientHandle is of the template copied. Called by the .NET framework during deserialization. Sets the private members to default values. A display name for the monitored item. The start node for the browse path that identifies the node to monitor. The relative path from the browse path to the node to monitor. A null or empty string specifies that the start node id should be monitored. The node class of the node being monitored (affects the type of filter available). The attribute to monitor. The range of array indexes to monitor. The encoding to use when returning notifications. The monitoring mode. The sampling interval. The filter to use to select values to return. The length of the queue used to buffer values. Whether to discard the oldest entries in the queue when it is full. The subscription that owns the monitored item. A local handle assigned to the monitored item. Whether the item has been created on the server. The identifier assigned by the client. The node id to monitor after applying any relative path. Whether the monitoring attributes have been modified since the item was created. The status associated with the monitored item. Returns the queue size used by the cache. The last value or event received from the server. Read all values in the cache queue. Read all events in the cache queue. The last message containing a notification for the item. Raised when a new notification arrives. Saves a data change or event in the cache. Creates a deep copy of the object. Sets the error status for the monitored item. Updates the object with the results of a translate browse path request. Updates the object with the results of a create monitored item request. Updates the object with the results of a modify monitored item request. Updates the object with the results of a modify monitored item request. Returns the field name the specified SelectClause in the EventFilter. Returns value of the field name containing the event type. Returns value of the field name containing the event type. Returns value of the field name containing the event type. Returns value of the field name containing the event type. Returns value of the field name containing the event type. The service result for a data change notification. The service result for a field in an notification (the field must contain a Status object). Throws an exception if the flter cannot be used with the node class. Sets the default event filter. The event arguments provided when a new notification message arrives. Creates a new instance. The new notification. The delegate used to receive monitored item value notifications. An item in the cache Constructs a cache for a monitored item. The size of the queue to maintain. The last value received from the server. Returns all values in the queue. Saves a notification in the cache. Changes the queue size. Saves the events received from the srever. Constructs a cache for a monitored item. The size of the queue to maintain. The last event received. Returns all events in the queue. Saves a notification in the cache. Changes the queue size. The current status of monitored item. Creates a empty object. The identifier assigned by the server. Whether the item has been created on the server. Any error condition associated with the monitored item. The node id being monitored. The attribute being monitored. The range of array indexes to being monitored. The encoding to use when returning notifications. The monitoring mode. The identifier assigned by the client. The sampling interval. The filter to use to select values to return. The length of the queue used to buffer values. Whether to discard the oldest entries in the queue when it is full. Updates the monitoring mode. Updates the object with the results of a translate browse paths request. Updates the object with the results of a create monitored item request. Updates the object with the results of a modify monitored item request. Updates the object with the results of a delete item request. Sets the error state for the monitored item status. A client side cache of the server's type model. Initializes the object with default values. Determines whether a node id is a known type id. The type extended identifier. true if the specified type id is known; otherwise, false. Determines whether a node id is a known type id. The type identifier. true if the specified type id is known; otherwise, false. Returns the immediate supertype for the type. The extended type identifier. A type identifier of the Returns the immediate supertype for the type. The type identifier. The immediate supertype idnetyfier for Returns the immediate subtypes for the type. The extended type identifier. List of type identifiers for Determines whether a type is a subtype of another type. The subtype identifier. The supertype identifier. true if is supertype of ; otherwise, false. Determines whether a type is a subtype of another type. The subtype identifier. The supertype identyfier. true if is supertype of ; otherwise, false. Returns the qualified name for the reference type id. The reference type A name qualified with a namespace for the reference . Returns the node identifier for the reference type with the specified browse name. Browse name of the reference. The identifier for the Checks if the identifier represents a that provides encodings for the . The id the encoding node . The id of the DataType node. true if is encoding of the ; otherwise, false. Determines if the value contained in an extension object matches the expected data type. The identifier of the expected type . The value. true if the value contained in an extension object matches the expected data type; otherwise, false. Determines if the value is an encoding of the The expected type id. The value. true the value is an encoding of the ; otherwise, false. Returns the data type for the specified encoding. The encoding id. Returns the data type for the specified encoding. The encoding id. The data type for the Loads the UA defined types into the cache. The context. Removes all nodes from the cache. Fetches a node from the server and updates the cache. Adds the supertypes of the node to the cache. Returns the references of the specified node that meet the criteria specified. Returns a display name for a node. Returns a display name for a node. Returns a display name for the target of a reference. Builds the relative path from a type to a node. The implementation of a reverse connect client manager. This reverse connect manager allows to register for reverse connections with various strategies: i) take any connection. ii) filter for a specific application Uri and Url scheme. iii) filter for the Url. Second, any filter can be combined with the Once or Always flag. A default value for reverse hello configurations, if undefined. This value is used as wait timeout if the value is undefined by a caller. Internal state of the reverse connect manager. Internal state of the reverse connect host. Specify the strategy for the reverse connect registration. Undefined strategy, defaults to Once. Remove entry after reverse connect callback. Always callback on matching url or uri. Flag for masking any connection. Respond to any incoming reverse connection, remove entry after reverse connect callback. Respond to any incoming reverse connection, always callback. Entry for a client reverse connect registration. Record to store information on a client registration for a reverse connect event. Register with the server certificate. Initializes the object with default values. Dispose implementation. An overrideable version of the Dispose. true to release both managed and unmanaged resources; false to release only unmanaged resources. Raised when the configuration changes. The sender. The instance containing the event data. Called when the configuration is changed on disk. The configuration. Called when the reverse connect configuration is changed. An empty configuration or null stops service on all configured endpoints. The client endpoint configuration. Open host ports. Close host ports. Dispose the hosts; Add endpoint for reverse connection. Starts the server application. The configuration. Starts the server application. The configuration. Clears all waiting reverse connectino handlers. Helper to wait for a reverse connection. Register for a waiting reverse connection. The endpoint Url of the reverse connection. Optional. The server application Uri of the reverse connection. The callback The reverse connect callback strategy. Unregister reverse connection callback. The hashcode returned by the registration. Called before the server stops Called to start hosting the reverse connect ports. Remove configuration endpoints from list. Add endpoint for reverse connection. The endpoint Url of the reverse connect client endpoint. Tf this is an entry in the application configuration. Raised when a reverse connection is waiting, finds and calls a waiting connection. Match the waiting connection with a registration, callback registration, return if connection is accepted in event. true if a match was found. Raised when a connection status changes. Renew the cancellation token after use. Manages a session with a server. Constructs a new instance of the class. The channel used to communicate with the server. The configuration for the client application. The endpoint use to initialize the channel. Constructs a new instance of the class. The channel used to communicate with the server. The configuration for the client application. The endpoint used to initialize the channel. The certificate to use for the client. The list of available endpoints returned by server in GetEndpoints() response. The value of profileUris used in GetEndpoints() request. The application configuration is used to look up the certificate if none is provided. The clientCertificate must have the private key. This will require that the certificate be loaded from a certicate store. Converting a DER encoded blob to a X509Certificate2 will not include a private key. The availableEndpoints and discoveryProfileUris parameters are used to validate that the list of EndpointDescriptions returned at GetEndpoints matches the list returned at CreateSession. Initializes a new instance of the class. The channel. The template session. if set to true the event handlers are copied. Initializes the channel. Sets the object members to default values. Check if all required configuration fields are populated. Validates the server nonce and security parameters of user identity. Closes the session and the underlying channel. Raised when a keep alive arrives from the server or an error is detected. Once a session is created a timer will periodically read the server state and current time. If this read operation succeeds this event will be raised each time the keep alive period elapses. If an error is detected (KeepAliveStopped == true) then this event will be raised as well. Raised when a notification message arrives in a publish response. All publish requests are managed by the Session object. When a response arrives it is validated and passed to the appropriate Subscription object and this event is raised. Raised when an exception occurs while processing a publish response. Exceptions in a publish response are not necessarily fatal and the Session will attempt to recover by issuing Republish requests if missing messages are detected. That said, timeout errors may be a symptom of a OperationTimeout that is too short when compared to the shortest PublishingInterval/KeepAliveCount amount the current Subscriptions. The OperationTimeout should be twice the minimum value for PublishingInterval*KeepAliveCount. Raised when a subscription is added or removed Raised to indicate the session is closing. Gets the endpoint used to connect to the server. Gets the name assigned to the session. Gets the period for wich the server will maintain the session if there is no communication from the client. Gets the local handle assigned to the session Gets the user identity currently used for the session. Gets a list of user identities that can be used to connect to the server. Gets the table of namespace uris known to the server. Gest the table of remote server uris known to the server. Gets the system context for use with the session. Gets the factory used to create encodeable objects that the server understands. Gets the cache of the server's type tree. Gets the cache of nodes fetched from the server. Gets the context to use for filter operations. Gets the locales that the server should use when returning localized text. Gets the data type system dictionaries in use. Gets the subscriptions owned by the session. Gets the number of subscriptions owned by the session. Gets or Sets the default subscription for the session. Gets or Sets how frequently the server is pinged to see if communication is still working. This interval controls how much time elaspes before a communication error is detected. If everything is ok the KeepAlive event will be raised each time this period elapses. Returns true if the session is not receiving keep alives. Set to true if the server does not respond for 2 times the KeepAliveInterval. Set to false is communication recovers. Gets the time of the last keep alive. Gets the number of outstanding publish or keep alive requests. Gets the number of outstanding publish or keep alive requests which appear to be missing. Gets the number of good outstanding publish requests. Creates a new communication session with a server by invoking the CreateSession service The configuration for the client application. The endpoint for the server. If set to true the discovery endpoint is used to update the endpoint description before connecting. The name to assign to the session. The timeout period for the session. The identity. The user identity to associate with the session. The new session object Creates a new communication session with a server by invoking the CreateSession service The configuration for the client application. The endpoint for the server. If set to true the discovery endpoint is used to update the endpoint description before connecting. If set to true then the domain in the certificate must match the endpoint used. The name to assign to the session. The timeout period for the session. The user identity to associate with the session. The preferred locales. The new session object. Creates a new communication session with a server using a reverse connection. The configuration for the client application. The client endpoint for the reverse connect. The endpoint for the server. If set to true the discovery endpoint is used to update the endpoint description before connecting. If set to true then the domain in the certificate must match the endpoint used. The name to assign to the session. The timeout period for the session. The user identity to associate with the session. The preferred locales. The new session object. Creates a new communication session with a server using a reverse connect manager. The configuration for the client application. The reverse connect manager for the client connection. The endpoint for the server. If set to true the discovery endpoint is used to update the endpoint description before connecting. If set to true then the domain in the certificate must match the endpoint used. The name to assign to the session. The timeout period for the session. The user identity to associate with the session. The preferred locales. The cancellation token. The new session object. Recreates a session based on a specified template. The Session object to use as template The new session object. Recreates a session based on a specified template. The Session object to use as template The waiting reverse connection. The new session object. Used to handle renews of user identity tokens before reconnect. Raised before a reconnect operation completes. Reconnects to the server after a network failure. Reconnects to the server after a network failure using a waiting connection. Saves all the subscriptions of the session. The file path. Saves a set of subscriptions. Load the list of subscriptions saved in a file. The file path. The list of loaded subscriptions Updates the local copy of the server's namespace uri and server uri tables. Updates the cache with the type and its subtypes. This method can be used to ensure the TypeTree is populated. Returns the available encodings for a node The variable node. Returns the data description for the encoding. The encoding Id. Returns the data dictionary that contains the description. The description id. Returns the data dictionary that contains the description. The dictionary id. The dictionary. Loads all dictionaries of the OPC binary or Xml schema type system. The type system. Reads the values for the node attributes and returns a node object. The nodeId. Reads the value for a node. The node Id. Reads the value for a node an checks that it is the specified type. The node id. The expected type. Fetches all references for the specified node. The node id. Establishes a session with the server. The name to assign to the session. The user identity. Establishes a session with the server. The name to assign to the session. The session timeout. The user identity. The list of preferred locales. Establishes a session with the server. The name to assign to the session. The session timeout. The user identity. The list of preferred locales. If set to true then the domain in the certificate must match the endpoint used. Updates the preferred locales used for the session. The preferred locales. Updates the user identity and/or locales used for the session. The user identity. The preferred locales. Finds the NodeIds for the components for an instance. Reads the values for a set of variables. The variable ids. The expected types. The list of returned values. The list of returned errors. Reads the display name for a set of Nodes. Disconnects from the server and frees any network resources. Disconnects from the server and frees any network resources with the specified timeout. Adds a subscription to the session. The subscription to add. Removes a subscription from the session. The subscription to remove. Removes a list of subscriptions from the sessiont. The list of subscriptions to remove. Invokes the Browse service. The request header. The view to browse. The node to browse. The maximum number of returned values. The browse direction. The reference type id. If set to true the subtypes of the ReferenceType will be included in the browse. The node class mask. The continuation point. The list of node references. Begins an asynchronous invocation of the Browse service. The request header. The view to browse. The node to browse. The maximum number of returned values.. The browse direction. The reference type id. If set to true the subtypes of the ReferenceType will be included in the browse. The node class mask. The callback. Finishes an asynchronous invocation of the Browse service. The result. The continuation point. The list of node references. Invokes the BrowseNext service. Begins an asynchronous invocation of the BrowseNext service. Finishes an asynchronous invocation of the BrowseNext service. Calls the specified method and returns the output arguments. The NodeId of the object that provides the method. The NodeId of the method to call. The input arguments. The list of output argument values. Returns the software certificates assigned to the application. Handles an error when validating the application instance certificate provided by the server. Handles an error when validating software certificates provided by the server. Inspects the software certificates provided by the server. Starts a timer to check that the connection to the server is still available. Removes a completed async request. Adds a new async request. Removes a completed async request. Sends a keep alive by reading from the server. Checks if a notification has arrived. Sends a publish if it has not. Called when the server returns a keep alive response. Called when a error occurs during a keep alive. Sends an additional publish request. Completes an asynchronous publish operation. Sends a republish request. Processes the response from a publish request. Raises an event indicating that publish has returned a notification. Invokes a DeleteSubscriptions call for the specified subscriptionId. Load certificate chain for connection. Load certificate chain for connection. The event arguments provided when a keep alive response arrives. Creates a new instance. Gets the status associated with the keep alive operation. Gets the current server state. Gets the current server time. Gets or sets a flag indicating whether the session should send another keep alive. The delegate used to receive keep alive notifications. Represents the event arguments provided when a new notification message arrives. Creates a new instance. Gets the subscription that the notification applies to. Gets the notification message. Gets the string table returned with the notification message. The delegate used to receive publish notifications. Represents the event arguments provided when a publish error occurs. Creates a new instance. Creates a new instance. Gets the status associated with the keep alive operation. Gets the subscription with the message that could not be republished. Gets the sequence number for the message that could not be republished. The delegate used to receive pubish error notifications. Attempts to reconnect to the server. Frees any unmanaged resources. An overrideable version of the Dispose. Gets the session managed by the handler. The session. Begins the reconnect process. Begins the reconnect process using a reverse connection. Called when the reconnect timer expires. Reconnects to the server. A subscription Creates a empty object. Initializes the subscription from a template. Initializes the subscription from a template. The template. if set to true the event handlers are copied. Called by the .NET framework during deserialization. Sets the private members to default values. Frees any unmanaged resources. An overrideable version of the Dispose. Raised to indicate that the state of the subscription has changed. Raised to indicate the publishing state for the subscription has stopped or resumed (see PublishingStopped property). A display name for the subscription. The publishing interval. The keep alive count. The maximum number of notifications per publish request. The maximum number of notifications per publish request. Whether publishing is enabled. The priority assigned to subscription. The timestamps to return with the notification messages. The maximum number of messages to keep in the internal cache. The default monitored item. The minimum lifetime for subscriptions in milliseconds. Gets or sets a value indicating whether the notifications are cached within the monitored items. true if monitored item cache is disabled; otherwise, false. Applications must process the Session.Notication event if this is set to true. This flag improves performance by eliminating the processing involved in updating the cache. Gets or sets the fast data change callback. The fast data change callback. Only one callback is allowed at a time but it is more efficient to call than an event. Gets or sets the fast event callback. The fast event callback. Only one callback is allowed at a time but it is more efficient to call than an event. The items to monitor. Allows the list of monitored items to be saved/restored when the object is serialized. Returns true if the subscription has changes that need to be applied. Returns the number of monitored items. The session that owns the subscription item. A local handle assigned to the subscription The unique identifier assigned by the server. Whether the subscription has been created on the server. The current publishing interval. The current keep alive count. The current lifetime count. Whether publishing is currently enabled. The priority assigned to subscription when it was created. The when that the last notification received was published. The when that the last notification was received. The sequence number assigned to the last notification message. The number of notifications contained in the last notification message. The last notification received from the server. The cached notifications. The sequence numbers that are available for republish requests. Sends a notification that the state of the subscription has changed. Returns true if the subscription is not receiving publishes. Ensures sensible values for the counts. Creates a subscription on the server. Starts a timer to ensure publish requests are sent frequently enough to detect network interruptions. Checks if a notification has arrived. Sends a publish if it has not. Dumps the current state of the session queue. Deletes a subscription on the server. Modifies a subscription on the server. Changes the publishing enabled state for the subscription. Republishes the specified notification message. Applies any changes to the subscription items. Resolves all relative paths to nodes on the server. Creates all items that have not already been created. Modies all items that have been changed. Deletes all items that have been marked for deletion. Deletes all items that have been marked for deletion. Adds the notification message to internal cache. Processes the incoming messages. Get the number of outstanding message workers Adds an item to the subscription. Adds an item to the subscription. Removes an item from the subscription. Removes an item from the subscription. Returns the monitored item identified by the client handle. Tells the server to refresh all conditions being monitored by the subscription. Throws an exception if the subscription is not in the correct state. Saves a data change in the monitored item cache. Saves events in the monitored item cache. A message received from the server cached until is processed or discarded. Flags indicating what has changed in a subscription. The subscription has not changed. The subscription was created on the server. The subscription was deleted on the server. The subscription was modified on the server. Monitored items were added to the subscription (but not created on the server) Monitored items were removed to the subscription (but not deleted on the server) Monitored items were created on the server. Monitored items were deleted on the server. Monitored items were modified on the server. The delegate used to receive data change notifications via a direct function call instead of a .NET Event. The delegate used to receive event notifications via a direct function call instead of a .NET Event. The event arguments provided when the state of a subscription changes. Creates a new instance. The changes that have affected the subscription. The delegate used to receive subscription state change notifications. A collection of subscriptions. Initializes an empty collection. Initializes the collection from another collection. The existing collection to use as the basis of creating this collection Initializes the collection with the specified capacity. The max. capacity of the collection