Visual Signal ExternalBase Class Library Documentation
VSignal.ExternalBase Namespace
VisualSignalVSignal.ExternalBase
API version 1.2.2.0

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

 
Declaration Syntax
C#Visual BasicVisual C++
namespace VSignal.ExternalBase
Namespace VSignal.ExternalBase
namespace VSignal.ExternalBase
Types
All TypesClassesInterfacesEnumerations
IconTypeDescription
AuxUtil
Auxiliary utility class of static functions for date-time manipulation.

TExternalBase..::.DllData
DllData - This class represents a data object used by the user Dll. Before DLL's computation stage, Visual Signal's ExternalDll will pass input descriptors and data via setInputDescriptors(String), setInputDataRe(Int32, Int32, array<Double>[]()[]), and setInputDataIm(Int32, Int32, array<Double>[]()[]) and converted automatically to an array of DllData objects. User DLL may access these info directly via the member _inputData, or via functions such as GetInputDataRe(Int32, Int32), GetInputDataIm(Int32, Int32), etc.

TExternalBase..::.DllInputType
DllInputType - This class represents an input type accepted by the user DLL. The user DLL should initialize the number of accepted DllInputType objects and store them in _inputTypes list in Init()()() using AcceptInput() function. This information will be used by Visual Signal to determine whether an input connection to the user's DLL is valid or not.

TExternalBase..::.DllProperty
DllProperty - This class represents a property used by the user DLL. The user DLL should initialize the number of required DllProperty objects and store them in _properties dictionary in Init()()() using RegisterProperty(). Before DLL's computation stage, Visual Signal's ExternalDll will update the value of the properties via setProperties(String); after Dll's computation, user DLL is responsible for updating the property values via UpdateProperty(String, Object).

IExternalDll
IExternalDll - Interface of externally visible functions provided by all external user DLLs. All functions exported in the interface are used by Visual Signal's ExternalDll module to communicate with and control the execution of the user DLL. Default implemetnations will be provided in TExternalBase, which can be inherited to provide custom behaviour.

IExternalLicenseManager
IExternalLicenseManager - Interface of external license manager. If license control is required in an external module, a license manager must be implemented according to this interface, and its ID registered in the module. Visual Signal will be responsible for the creation and initialization of all license managers available in the External directory. For security reasons, the implemented license manager *must* be included in the same assembly as the associated external modules to prevent spoofing. However, it is possible to implement IExternalLicenseManager as proxy license managers to be included in various assemblies, and have the proxy license managers accessing a central license control manager located in a seperate assembly. *** Note that the implemetned license manager class, as well as license controlled modules must be "sealed" to prevent re-inheriting the classes.

IExternalViewer
IExternalViewer - Interface of externally visible functions provided by external user viewers. All functions exported in the interface are used by Visual Signal's ExternalDll module to communicate with and control the execution of the user DLL. Default implemetnations will be provided in TExternalViewer, which can be inherited to provide custom behaviour.

TExternalBase..::.InputChannelTypes
Thsi is the InputChanneltypes enumeration for all possible channel types

TExternalBase..::.InputCoordinateTypes
This is the InputCoordinateTypes enumeration for all possible coordinate types.

TExternalBase..::.InputDataTypes
This is the InputDataTypes enumeration for all possible acceptable data types.

TExternalBase..::.InputValueTypes
Thsi is the InputValueTypes enumeration for all possible data value types

TExternalBase
ExternalBase - Base class implementing the IExternalDll interface. Any C# external user DLL must inherit this class and override implementation for Init()()() and DoCompute()()().

TExternalViewer
ExternalViewer - Base viewer class inherited from TExternalBase, and also implementing the IExternalViewer interface . Any C# external user viewer DLL must inherit this class and override implementation for Init()()() and DoCompute()()(), and optionally UpdateViewerProperty()()().