C# Class Softing.OPCToolbox.Server.AddressSpaceRoot

Represents the address space entry point
Inheritance: IAddressSpaceElement
Show file Open project: SoftingIndustrial/OPC-Classic-SDK

Protected Properties

Property Type Description
m_elements Hashtable
m_namespaceType EnumAddressSpaceType
m_root AddressSpaceElement

Public Methods

Method Description
AddChild ( AddressSpaceElement aChild ) : bool

Adds a namespace element as child to the root element

GetChildren ( ) : ArrayList

Returns the collection of root children

GetParent ( ) : AddressSpaceElement

returns the parent of the root - this is not usefull, but kept for compatibility with the element interface

QueryAddressSpaceElementChildren ( string anElementID, ArrayList aChildrenList ) : int

Returns the collection of children of the address space element to the element ID provided. This interface needs to be implemented in the string based object space case

QueryAddressSpaceElementData ( string anElementID, AddressSpaceElement &anElement ) : int

Returns the corresponding address space element to the element ID provided. This interface needs to be implemented in the string based object space case.

QueryAddressSpaceElementDataEx ( string anElementID, EnumAddressSpaceElementData &elementDataFilter, AddressSpaceElement &anElement ) : int

Returns the corresponding address space element to the element ID provided.
This interface needs to be implemented in the string based object space case.
This is the extended version of QueryAddressSpaceElementData method.

RemoveChild ( AddressSpaceElement aChild ) : bool

Removes Child and its children if there are some

Protected Methods

Method Description
AddressSpaceRoot ( AddressSpaceElement aRoot ) : System

Used to build an address space toor both object and string based

AddressSpaceRoot ( EnumAddressSpaceType anAddressSpaceType, AddressSpaceElement aRoot ) : System

AddressSpaceRoot constructor: Used to build a specialised root type

Private Methods

Method Description
AddElementToArray ( AddressSpaceElement anElement ) : uint

adds an element to the internal address space hashtable

GetElementFromArray ( uint anElementUserData ) : AddressSpaceElement

retreives an address space element from the internal address space hashtable

GetParent ( uint aHandle ) : AddressSpaceElement

retrieves the parent from a handle

RemoveElementFromArray ( AddressSpaceElement anElement ) : int

removes an element from the internal hashtable

RemoveElementFromArray ( uint anElementUserData ) : int

removes an element from the internal hashtable

Method Details

AddChild() public method

Adds a namespace element as child to the root element
public AddChild ( AddressSpaceElement aChild ) : bool
aChild AddressSpaceElement Child to be added
return bool

AddressSpaceRoot() protected method

Used to build an address space toor both object and string based
protected AddressSpaceRoot ( AddressSpaceElement aRoot ) : System
aRoot AddressSpaceElement An address space element to impersonate the root. This element is not visible in the namespace
return System

AddressSpaceRoot() protected method

AddressSpaceRoot constructor: Used to build a specialised root type
protected AddressSpaceRoot ( EnumAddressSpaceType anAddressSpaceType, AddressSpaceElement aRoot ) : System
anAddressSpaceType EnumAddressSpaceType /// The type of address space ///
aRoot AddressSpaceElement /// An address space element to impersonate the root. This element is not visible in the namespace ///
return System

GetChildren() public method

Returns the collection of root children
public GetChildren ( ) : ArrayList
return ArrayList

GetParent() public method

returns the parent of the root - this is not usefull, but kept for compatibility with the element interface
public GetParent ( ) : AddressSpaceElement
return AddressSpaceElement

QueryAddressSpaceElementChildren() public abstract method

Returns the collection of children of the address space element to the element ID provided. This interface needs to be implemented in the string based object space case
public abstract QueryAddressSpaceElementChildren ( string anElementID, ArrayList aChildrenList ) : int
anElementID string Address space path of the element.
aChildrenList ArrayList out parameter - collection of children of the element ID.
return int

QueryAddressSpaceElementData() public abstract method

Returns the corresponding address space element to the element ID provided. This interface needs to be implemented in the string based object space case.
public abstract QueryAddressSpaceElementData ( string anElementID, AddressSpaceElement &anElement ) : int
anElementID string Address space path of the element
anElement AddressSpaceElement Out parameter reference to the element matched in case of success. Null reference if not supported or invalid path provided.
return int

QueryAddressSpaceElementDataEx() public abstract method

Returns the corresponding address space element to the element ID provided.
This interface needs to be implemented in the string based object space case.
This is the extended version of QueryAddressSpaceElementData method.
public abstract QueryAddressSpaceElementDataEx ( string anElementID, EnumAddressSpaceElementData &elementDataFilter, AddressSpaceElement &anElement ) : int
anElementID string Address space path of the element
elementDataFilter EnumAddressSpaceElementData Type of the element data to be filled in
anElement AddressSpaceElement Out parameter reference to the element matched in case of success. Null reference if not supported or invalid path provided.
return int

RemoveChild() public method

Removes Child and its children if there are some
public RemoveChild ( AddressSpaceElement aChild ) : bool
aChild AddressSpaceElement AddressSpaceElement to be removed
return bool

Property Details

m_elements protected property

Storage place for all for the address space elements assigned to this root the key for this table is the UserData field of the Address space element
protected Hashtable m_elements
return Hashtable

m_namespaceType protected property

the type of the address space
protected EnumAddressSpaceType m_namespaceType
return EnumAddressSpaceType

m_root protected property

An address space element representing the root element
protected AddressSpaceElement,Softing.OPCToolbox.Server m_root
return AddressSpaceElement