TExternalBase ClassVisual Signal ExternalBase Class Library Documentation
API version 1.5.2

[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.
Inheritance Hierarchy

SystemObject
  VSignal.ExternalBaseTExternalBase
    VSignal.ExternalBaseTExternalViewer

Namespace: VSignal.ExternalBase
Assembly: vsmExternalBase (in vsmExternalBase.dll) Version: 1.6.0.0
Syntax

public class TExternalBase : IExternalDll

The TExternalBase type exposes the following members.

Constructors

  NameDescription
Public methodTExternalBase
Initializes a new instance of the TExternalBase class
Top
Methods

  NameDescription
Protected methodAcceptInput(TExternalBaseInputDataTypes)
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.
Protected methodAcceptInput(TExternalBaseInputDataTypes, Int32, TExternalBaseInputCoordinateTypes, TExternalBaseInputChannelTypes, TExternalBaseInputValueTypes)
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.
Public methodcompute
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. External properties, input and output data are processed by Visual Signal before and after the execution of this function. User should expect _inputData to contain the input data and update _outputData to sent to Visual Signal. User should also expect _properties to contain properties from Visual Signal and use UpdateProperty(String, Object) to update properties to Visual Signal.
Protected methodDoCompute
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.
Public methoddoubleClick
Interface for exported function "doubleClick", used by Visual Signal's ExternalDll module to handle the callback when user double-clicks the corresponding Visual Signal component. This function just calls the protected function OnDoubleClick, which the user DLL can override with own implementation. Like compute, external properties are processed by Visual Signal before and after the execution of this function; however, input and output data are not processed. User should expect _properties to contain properties from Visual Signal and use UpdateProperty(String, Object) to update properties to Visual Signal.
Public methodEquals (Inherited from Object.)
Protected methodFinalize (Inherited from Object.)
Public methodgetDllInfo
Exported function "getDllInfo()", used by Visual Signal's ExternalDll module to obtain DLL info such as name, version, API version, language, license control and properties.
Public methodGetHashCode (Inherited from Object.)
Protected methodGetInputCoords
Protected function "GetInputCoords", provided to the user DLL to obtain the input coordinates.
Protected methodGetInputDataExtension
Protected function "GetInputDataExtensionKeys", provided to the user DLL to obtain the input data extension.
Protected methodGetInputDataExtensionKeys
Protected function "GetInputDataExtensionKeys", provided to the user DLL to obtain the available input data extension keys.
Protected methodGetInputDataIm
Protected function "GetInputDataRe", provided to the user DLL to obtain the imaginary part of the input data.
Protected methodGetInputDataRe
Protected function "GetInputDataRe", provided to the user DLL to obtain the real part of the input data.
Public methodgetOutputCoordinates
Exported function "getOutputCoordinates", used by Visual Signal's ExternalDll module to obtain the output data coordinates from the user DLL.
Public methodgetOutputDataIm
Interface for exported function "getOutputDataIm", used by Visual Signal's ExternalDll module to obtain the output data (imaginary part) from the user DLL.
Public methodgetOutputDataRe
Exported function "getOutputDataRe", used by Visual Signal's ExternalDll module to obtain the output data (real part) from the user DLL.
Public methodgetOutputDescriptor
Exported function "getOutputDescriptor", used by Visual Signal's ExternalDll module to obtain output descriptor from the user DLL.
Public methodgetProperties
Exported function "getProperties", used by Visual Signal's ExternalDll module to obtain property values from the user DLL.
Protected methodGetPropertyValue
(Deprecated) Protected function "GetPropertyValue", provided to the user DLL for retrieving the current property values. This function is usually invoked in the DoCompute function after the computation stage. This is deprecated. Property values can now be accessed like regular C# public properties.
Public methodGetType (Inherited from Object.)
Public methodStatic memberGetXmlField
Static utility function "GetXmlField", provided for general use to obtain a field value from an XML document.
Protected methodInit
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.
Protected methodMemberwiseClone (Inherited from Object.)
Protected methodOnDoubleClick
Protected virtual function "OnDoubleClick", intended to be overridden by the inherited user DLL class to provide the actual computation. This function is called by the exported function doubleClick which is in turn used by Visual Signal's ExternalDll module to handle callback when user double-clicked on the module.
Public methodStatic memberParseExternalXmlInfo
Parse external DLL info from XML
Protected methodRegisterProperty
(Deprecated) 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. This is deprecated. Property values can now be defined like regular C# properties, with appropriate attributes attached to the properties to define their categories, display names, descriptions, etc. Properties must be public and browsable.
Protected methodSetExtendedInfo
Protected virtual function "SetExtendedInfo", intended to be overridden by the inherited non-user class to set additional root attributes. This function is called by the exported function getDllInfo.
Public methodsetInputCoordinates
Exported function "setInputCoordinates", used by Visual Signal's ExternalDll module to set input coordinates in the user DLL.
Public methodsetInputDataIm
Exported function "setInputDataIm", used by Visual Signal's ExternalDll module to set the input data (imaginary part) in the user DLL.
Public methodsetInputDataRe
Exported function "setInputDataRe", used by Visual Signal's ExternalDll module to set the input data (real part) in the user DLL.
Public methodsetInputDescriptors
Exported function "setInputDescriptors", used by Visual Signal's ExternalDll module to set input descriptors in the user DLL.
Protected methodSetOutputCoords
Protected function "SetOutputCoords", provided to the user DLL to set the output coordinates.
Protected methodSetOutputDataExtension
Protected function "SetOutputDataExtension", provided to the user DLL to set the output data extension info.
Protected methodSetOutputDataIm
Protected function "SetOutputDataIm", provided to the user DLL to set the imaginary part of the output data.
Protected methodSetOutputDataRe
Protected function "SetOutputDataRe", provided to the user DLL to set the real part of the output data.
Public methodsetProperties
Exported function "setProperties", used by Visual Signal's ExternalDll module to set property values in the user DLL.
Public methodStatic memberSetXmlField
Static utility function "SetXmlField", provided for general use to set a field value in an XML document.
Public methodToString (Inherited from Object.)
Protected methodUpdateProperty
(Deprecated) 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. This is deprecated. Property values can now be updated like regular C# public properties.
Top
Fields

  NameDescription
Protected field_inputData
Protected field_inputTypes
This protected member contains a table of TExternalBaseDllInputType objects which stores the parameters used by the DLL. The table (in the form of a List) should be initialized in Init using AcceptInput().
Protected field_outputData
This protected member should be initialized and updated in the user DLL's DoCompute function to contain the output data (only one allowed).
Protected field_properties
(Deprecated) This protected member contains a table of TExternalBaseDllProperty objects which stores the parameters used by the DLL. The table (in the form of a Dictionary) should be initialized in Init using RegisterProperty(). This is deprecated. It is no longer necessary to access property object directly. Define and access the properties like any other C# property using appropriate attributes. Properties must be public and browsable.
Protected field_props
This protected member contains a table of ExtensionProperty objects which stores the parameters used by the use's DLL, it is not necessary to access this object directly. Use RegisterProperty(String, Type, Object, String, String, String, String, Int32), GetPropertyValue(String), and UpdateProperty(String, Object) functions instead to initialize, get, and set properties.
Top
Properties

  NameDescription
Protected propertyInfoText
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.
Protected propertyLicenseManagerID
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.
Protected propertyLicenseName
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.
Protected propertyMinInputCount
Set this property in Init to register the minimum number of inputs acceptable by the user DmoduleLL.
Protected propertyName
Set this property in Init to register the name of the user module.
Protected propertyVersion
Set this property in Init to register the version of the user module.
Top
See Also

Reference