Visual Signal ExternalBase Class Library Documentation
TExternalBase Class
VisualSignalVSignal.ExternalBaseTExternalBase
API version 1.2.2.0

[This is preliminary documentation and is subject to change.]

ExternalBase - Base class implementing the IExternalDll interface. Any C# external user DLL must inherit this class and override implementation for Init()()() and DoCompute()()().
Declaration Syntax
C#Visual BasicVisual C++
public class TExternalBase : IExternalDll
Public Class TExternalBase _
	Implements IExternalDll
public ref class TExternalBase : IExternalDll
Members
All MembersConstructorsMethodsPropertiesFields



IconMemberDescription
TExternalBase()()()
Initializes a new instance of the TExternalBase class

_inputData
This protected member will be initialized and updated by Visual Signal's ExternalDll module via setInputDescriptors(String), setInputCoordinates(Int32, Int32, array<Object>[]()[]), setInputDataRe(Int32, Int32, array<Double>[]()[]), and setInputDataIm(Int32, Int32, array<Double>[]()[]). The user DLL can directly access the DllData objects to obtain the data descriptor information.

_inputTypes
This protected member contains a table of TExternalBase..::.DllInputType objects which stores the parameters used by the Dll. The table (in the form of a List) should be initialized in Init()()() using AcceptInput().

_outputData
This protected member should be initialized and updated in the user DLL's DoCompute()()() function to contain the output data (only one allowed).

_properties
This protected member contains a table of TExternalBase..::.DllProperty objects which stores the parameters used by the Dll. The table (in the form of a Dictionary) should be initialized in Init()()() using RegisterProperty().

AcceptInput(TExternalBase..::.InputDataTypes)
Protected function "AcceptInput", proved to the user DLL for registering input types acceptable by the DLL for computation. This function should be invoked in Init()()(), and the registered acceptable input types will be passed to Visual Signal's ExternalDll module via getDllInfo()()(). Visual Signal will use this information to determine whether an input connection is valid or not.

AcceptInput(TExternalBase..::.InputDataTypes, Int32, TExternalBase..::.InputCoordinateTypes, TExternalBase..::.InputChannelTypes, TExternalBase..::.InputValueTypes)
Protected function "AcceptInput", proved to the user DLL for registering input types acceptable by the DLL for computation. This function should be invoked in Init()()(), and the registered acceptable input types will be passed to Visual Signal's ExternalDll module via getDllInfo()()(). Visual Signal will use this information to determine whether an input connection is valid or not.

compute()()()
Interface for exported function "compute", used by Visual Signal's ExternalDll module to execute the actual computation provided by the user DLL. This function just calls the protected function DoCompute()()(), which the user DLL must override with own implementation.

DoCompute()()()
Protected virtual function "DoCompute", intended to be overridden by the inherited user DLL class to provide the actual computation. This function is called by the exported function compute()()() which is in turn used by Visual Signal's ExternalDll module to start computation.

Equals(Object)
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Finalize()()()
Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection.
(Inherited from Object.)
getDllInfo()()()
Exported function "getDllInfo()", used by Visual Signal's ExternalDll module to obtain DLL info such as name, version, API version, langauge, license control and properties.

GetHashCode()()()
Serves as a hash function for a particular type. GetHashCode()()() is suitable for use in hashing algorithms and data structures like a hash table.
(Inherited from Object.)
GetInputCoord(Int32, Int32)
Protected function "GetInputCoord", provided to the user DLL to obtain the input coordinates.

GetInputDataIm(Int32, Int32)
Protected function "GetInputDataRe", provided to the user DLL to obtain the imaginary part of the input data.

GetInputDataRe(Int32, Int32)
Protected function "GetInputDataRe", provided to the user DLL to obtain the real part of the input data.

getOutputCoordinates(Int32)
Exported function "getOutputCoordinates", used by Visual Signal's ExternalDll module to obtain the output data coordinates from the user DLL.

getOutputDataIm(Int32)
Interface for exported function "getOutputDataIm", used by Visual Signal's ExternalDll module to obtain the output data (imaginary part) from the user DLL.

getOutputDataRe(Int32)
Exported function "getOutputDataRe", used by Visual Signal's ExternalDll module to obtain the output data (real part) from the user DLL.

getOutputDescriptor()()()
Exported function "getOutputDescriptor", used by Visual Signal's ExternalDll module to obtain output descriptor from the user DLL.

getProperties()()()
Exported function "getProperties", used by Visual Signal's ExternalDll module to obtain property values from the user DLL.

GetType()()()
Gets the Type of the current instance.
(Inherited from Object.)
GetXmlAttribute<(Of <(T>)>)(XmlElement, String, Boolean)
Static utility function "GetXmlAttribute", provided for general use to obtain an attribute value from an XML element.

GetXmlFields<(Of <(T>)>)(XmlElement, String, String, Boolean)
Static utility function "GetXmlField", provided for general use to obtain a field value from an XML document.

InfoText
Set this property in Init()()() to register the infoText of the user module. This will appear in Visual Signal as a tooltip for the dll.

Init()()()
Protected virtual function "Init", intended to be overridden by the inherited user Dll class to provide the initialization function. This function is called by the exported function getDllInfo()()().

LicenseManagerID
Set this property in Init()()() to register the license manager ID. If a license manager matching the ID were found, Visual Signal will attempt to use license control for the user module. If the property is not set or set to an empty string, license control will not be used for the user module.

LicenseName
Set this property in Init()()() to register the license name. Visual Signal will attempt to match the license name against any license files loaded by the license manager. If no valid license file matches the license name, then the user module will not be available for use in Visual Signal. For security reasons, the module will also not be available if a license manager matching LicenseManagerID were *not* found.

MemberwiseClone()()()
Creates a shallow copy of the current Object.
(Inherited from Object.)
MinInputCount
Set this property in Init()()() to register the minimum number of inputs acceptable by the user DmoduleLL.

Name
Set this property in Init()()() to register the name of the user module.

RegisterProperty(String, Type, Object, String, String, String)
Protected function "RegisterProperty", proved to the user DLL for registering properties used by the DLL computation. This function should be invoked in Init()()(), and the registered properties will be passed to Visual Signal's ExternalDll module via getDllInfo()()() and become available in the module's property dialog for editing. The current values will be communicated back and forth between ExternalDll module and the user DLL via setProperties(String) and getProperties()()() exported functions.

RegisterProperty(String, Type, Object, String, String, String, String)
Protected function "RegisterProperty", proved to the user DLL for registering properties used by the DLL computation. This function should be invoked in Init()()(), and the registered properties will be passed to Visual Signal's ExternalDll module via getDllInfo()()() and become available in the module's property dialog for editing. The current values will be communicated back and forth between ExternalDll module and the user DLL via setProperties(String) and getProperties()()() exported functions.

SetExtendedInfo(XmlDocument)
Protected virtual function "SetExtendedInfo", intended to be overridden by the inherited non-user class to set additional root atributes. This function is called by the exported function getDllInfo()()().

setInputCoordinates(Int32, Int32, array<Object>[]()[])
Exported function "setInputCoordinates", used by Visual Signal's ExternalDll module to set input coordinates in the user Dll.

setInputDataIm(Int32, Int32, array<Double>[]()[])
Exported function "setInputDataIm", used by Visual Signal's ExternalDll module to set the input data (imaginary part) in the user DLL.

setInputDataRe(Int32, Int32, array<Double>[]()[])
Exported function "setInputDataRe", used by Visual Signal's ExternalDll module to set the input data (real part) in the user DLL.

setInputDescriptors(String)
Exported function "setInputDescriptors", used by Visual Signal's ExternalDll module to set input descriptors in the user DLL.

SetOutputCoords(Int32, array<Object>[]()[])
Protected function "SetOutputCoords", provided to the user DLL to set the output coordinates.

SetOutputDataIm(Int32, array<Double>[]()[])
Protected function "SetOutputDataIm", provided to the user DLL to set the imaginary part of the output data.

SetOutputDataRe(Int32, array<Double>[]()[])
Protected function "SetOutputDataRe", provided to the user DLL to set the real part of the output data.

setProperties(String)
Exported function "setProperties", used by Visual Signal's ExternalDll module to set property values in the user DLL.

SetXmlAttribute(XmlElement, String, Object)
Static utility function "SetXmlField", provided for general use to set a field value in an XML document.

SetXmlFields(XmlDocument, XmlElement, String, String, Int32, Array, String)
Static utility function "SetXmlField", provided for general use to set a field value in an XML document.

ToString()()()
Returns a String that represents the current Object.
(Inherited from Object.)
UpdateProperty(String, Object)
Protected function "UpdateProperty", provided to the user DLL for updating the current property values. This function is usually invoked in the DoCompute()()() function after the computation stage.

Version
Set this property in Init()()() to register the version of the user module.

Inheritance Hierarchy
Object
TExternalBase
 TExternalViewer

Assembly: vsmExternalBase (Module: vsmExternalBase) Version: 1.2.2.0 (1.3.0.0)