CVB.Net 14.0
Node Class Referenceabstract

Base class of all server nodes. More...

Inherits INativeHandle, and IConfigurableNode.

Inherited by DefaultNode, and ValueNode.

Public Member Functions

void Dispose ()
 Disposes the native object wrapped by this object immediately. More...
 

Protected Member Functions

 Node (IntPtr handle)
 Creates a node from the given handle . More...
 
virtual void Dispose (bool disposing)
 IDispose helper function. More...
 
abstract AccessMode GetAccessMode ()
 Implementation for getting the access mode. More...
 
abstract CacheMode GetCacheMode ()
 Gets the current (dependent) cache mode of this node. More...
 

Static Protected Member Functions

static Namespace ParseNamespace (string name)
 Gets the Namespace from the given name . More...
 
static string ParseName (string name)
 Gets the name part of the given node name . More...
 
static string EnsureNodeNameOnly (string name)
 Throws if the given name has a namespace prefix. More...
 

Properties

IntPtr Handle [get]
 Native CVB GevServer Node handle. More...
 
bool IsDisposed [get]
 Tests whether the native handle has been disposed.
 
virtual NodeMap NodeMap [get, set]
 Gets the parent Cvb.GevServer.NodeMap of this GevServerNode. More...
 
string ToolTip [get, set]
 Gets or sets the short descriptive text of this node. More...
 
string Description [get, set]
 Gets or sets the long descriptive text of this node. More...
 
AccessMode AccessMode [get]
 Gets the GenApi.AccessMode of this node.
 
AccessModeImposedAccessMode [get, set]
 Overrides the node's default AccessMode. More...
 
IntegerBaseNode IsImplementedConfig [get, set]
 Gets or sets the node that specifies whether a node is implemented in the device or not. More...
 
IntegerBaseNode IsAvailableConfig [get, set]
 Gets or sets the node that specifies whether a node is currently available or not. More...
 
IntegerBaseNode IsLockedConfig [get, set]
 Gets or sets the node that specifies whether a node is currently read only or not. More...
 
CacheMode CacheMode [get]
 Gets the cache mode of this node. More...
 
Visibility Visibility [get, set]
 Gets or sets the complexity level of this node. More...
 
Node AliasNode [get, set]
 Gets or sets the node that is an alias value for this node. More...
 
string Name [get]
 Gets the full name of this node. More...
 
Namespace Namespace [get]
 Gets the namespace this node is in. More...
 
bool IsImplemented [get]
 AccessMode helper to check whether this node is implemented.
 
bool IsAvailable [get]
 AccessMode helper to check whether this node is available.
 
bool IsReadable [get]
 AccessMode helper to check whether this node is readable.
 
bool IsWritable [get]
 AccessMode helper to check whether this node is writable.
 
string EventID [get]
 Nodes with an event identifier may become invalidated if an event/message is delivered from the device.
 
bool IsFeature [get]
 Gets whether this node is considered a feature node. More...
 
bool IsDeprecated [get]
 Gets whether this node is considered deprecated. More...
 
- Properties inherited from INativeHandle
IntPtr Handle [get]
 The native handle of the object.
 
bool IsDisposed [get]
 Possibility to check whether the object has already been disposed of.
 
- Properties inherited from IConfigurableNode
new string ToolTip [get, set]
 Gets or sets the short descriptive text of this node. More...
 
new string Description [get, set]
 Gets or sets the long descriptive text of this node. More...
 
AccessModeImposedAccessMode [get, set]
 Overrides the node's default AccessMode. More...
 
new Visibility Visibility [get, set]
 Gets or sets the complexity level of this node. More...
 
new IConfigurableNode AliasNode [get, set]
 Gets or sets the node that is an alias value for this node. More...
 
IConfigurableIntegerBaseNode IsImplementedConfig [get, set]
 Gets or sets the node that specifies whether a node is implemented in the device or not. More...
 
IConfigurableIntegerBaseNode IsAvailableConfig [get, set]
 Gets or sets the node that specifies whether a node is currently available or not. More...
 
IConfigurableIntegerBaseNode IsLockedConfig [get, set]
 Gets or sets the node that specifies whether a node is currently read only or not. More...
 
- Properties inherited from INode
INodeMap NodeMap [get]
 Gets the INodeMap this node resides in.
 
string Name [get]
 Gets the full name of this node. More...
 
string ToolTip [get]
 Gets the short descriptive text of this node. More...
 
string Description [get]
 Gets the long descriptive text of this node. More...
 
AccessMode AccessMode [get]
 Gets the GenApi.AccessMode of this node.
 
bool IsImplemented [get]
 AccessMode helper to check whether this node is implemented.
 
bool IsAvailable [get]
 AccessMode helper to check whether this node is available.
 
bool IsReadable [get]
 AccessMode helper to check whether this node is readable.
 
bool IsWritable [get]
 AccessMode helper to check whether this node is writable.
 
CacheMode CacheMode [get]
 Gets the cache mode of this node. More...
 
string EventID [get]
 Nodes with an event identifier may become invalidated if an event/message is delivered from the device.
 
bool IsFeature [get]
 Gets whether this node is considered a feature node. More...
 
bool IsDeprecated [get]
 Gets whether this node is considered deprecated. More...
 
Visibility Visibility [get]
 Gets the complexity level of this node. More...
 
INode AliasNode [get]
 Gets the node that is an alias value for this node. More...
 

Events

NativeHandleEventDelegate ObjectDisposing
 Raised when this object is about to be disposed via the IDisposable.Dispose method. More...
 
- Events inherited from INativeHandle
NativeHandleEventDelegate ObjectDisposing
 Raised when this object is about to be disposed via the IDisposable.Dispose method.
More...
 

Detailed Description

Base class of all server nodes.

Constructor & Destructor Documentation

◆ Node()

Node ( IntPtr  handle)
protected

Creates a node from the given handle .

Parameters
handleNative GevServer node handle.

Member Function Documentation

◆ Dispose() [1/2]

void Dispose ( )

Disposes the native object wrapped by this object immediately.

Call this method to release the resources allocated by this node immediately. Remember that after calling Dispose, any subsequent access to references to this image will result in an ObjectDisposedException.

◆ Dispose() [2/2]

virtual void Dispose ( bool  disposing)
protectedvirtual

IDispose helper function.

Parameters
disposingtrue when called via IDisposable.Dispose, false when called by the finalizer.

Reimplemented in CategoryNode, EnumerationNode, FloatRegNode, IntRegNode, IntSwissKnifeNode, SelectorNode, StringRegNode, and ValueNode.

◆ EnsureNodeNameOnly()

static string EnsureNodeNameOnly ( string  name)
staticprotected

Throws if the given name has a namespace prefix.

Parameters
nameName to check.
Returns
The given name .

◆ GetAccessMode()

abstract AccessMode GetAccessMode ( )
protectedpure virtual

Implementation for getting the access mode.

Returns
The current access mode.

Implemented in BooleanNode, CategoryNode, CommandNode, EnumEntryNode, EnumerationNode, FloatNode, FloatRegNode, IntegerNode, IntRegNode, IntSwissKnifeNode, StringNode, and StringRegNode.

◆ GetCacheMode()

abstract CacheMode GetCacheMode ( )
protectedpure virtual

Gets the current (dependent) cache mode of this node.

Returns
Current cache mode.

Implemented in BooleanNode, CategoryNode, CommandNode, EnumEntryNode, EnumerationNode, FloatNode, FloatRegNode, IntegerNode, IntRegNode, IntSwissKnifeNode, StringNode, and StringRegNode.

◆ ParseName()

static string ParseName ( string  name)
staticprotected

Gets the name part of the given node name .

Parameters
nameName to get the name part of.
Returns
Name of the node.

◆ ParseNamespace()

static Namespace ParseNamespace ( string  name)
staticprotected

Gets the Namespace from the given name .

Parameters
nameName to determine namespace of.
Returns
Namespace derived from name . If none is set Namespace.Custom is assumed.

Property Documentation

◆ AliasNode

Node AliasNode
getset

Gets or sets the node that is an alias value for this node.

Alias nodes give an additional view on a value or can contain summary information for e.g. CategoryNodes.

Alias node instance; null for none.

Implements IConfigurableNode.

◆ CacheMode

Gets the cache mode of this node.

For non-register nodes the cache mode of the register in the value path of the node chain up the the register is used.

Implements INode.

◆ Description

string Description
getset

Gets or sets the long descriptive text of this node.

See ToolTip for the short description.

Implements IConfigurableNode.

◆ Handle

IntPtr Handle
get

Native CVB GevServer Node handle.

It is normally not necessary to work with this handle in CVB.Net. Note that using this handle in connection with the legacy CVB managed wrappers may actually be disruptive to your application.

Implements INativeHandle.

◆ ImposedAccessMode

AccessMode? ImposedAccessMode
getset

Overrides the node's default AccessMode.

Imposed access mode; null if no imposing is done or set to clear.

Implements IConfigurableNode.

◆ IsAvailableConfig

IntegerBaseNode IsAvailableConfig
getset

Gets or sets the node that specifies whether a node is currently available or not.

Set operation is only possible as long as the GevServer.GevServer.State is GevServerState.Configuration.

IConfigurableIntegerNode which states that this node is available when unequal zero. null for keeping the original AccessMode.

Implements IConfigurableNode.

◆ IsDeprecated

bool IsDeprecated
get

Gets whether this node is considered deprecated.

Deprecated nodes are only available because of backward compatibility. New applications should not use these features.

Implements INode.

◆ IsFeature

bool IsFeature
get

Gets whether this node is considered a feature node.

Feature nodes are in a way public/user interface nodes. All nodes that are directly referenced by the Root CategoryNode or indirectly via other CategoryNodes that are children of Root are considered features.

Implements INode.

◆ IsImplementedConfig

IntegerBaseNode IsImplementedConfig
getset

Gets or sets the node that specifies whether a node is implemented in the device or not.

Set operation is only possible as long as the GevServer.GevServer.State is GevServerState.Configuration.

IConfigurableIntegerNode which states that this node is implemented when unequal zero. null for keeping the original AccessMode.

Implements IConfigurableNode.

◆ IsLockedConfig

IntegerBaseNode IsLockedConfig
getset

Gets or sets the node that specifies whether a node is currently read only or not.

Set operation is only possible as long as the GevServer.GevServer.State is GevServerState.Configuration.

IConfigurableIntegerNode which states that this node is read only when unequal zero. null for keeping the original AccessMode.

Implements IConfigurableNode.

◆ Name

string Name
get

Gets the full name of this node.

String containing the namespace of the node (Std, Cust or Priv and the node's name separated by double colons (::)).

Implements INode.

◆ Namespace

Gets the namespace this node is in.

Namespace.Private nodes will not be in the GenApi XML description.

◆ NodeMap

virtual NodeMap NodeMap
getset

Gets the parent Cvb.GevServer.NodeMap of this GevServerNode.

null if not associated with a server node map, yet.

Implements INode.

◆ ToolTip

string ToolTip
getset

Gets or sets the short descriptive text of this node.

See Description for the long description.

Implements IConfigurableNode.

◆ Visibility

Gets or sets the complexity level of this node.

For additional information on the different levels see the Stemmer.Cvb.GenApi.Visibility documentation.

Implements IConfigurableNode.

Event Documentation

◆ ObjectDisposing

NativeHandleEventDelegate ObjectDisposing

Raised when this object is about to be disposed via the IDisposable.Dispose method.

This event is raised right before this object is disposed. The dispose itself cannot be canceled.