Click or drag to resize

BridgeSystems.Bridgemate.DataConnector.ScoringProgramClient Namespace

 
Classes
 ClassDescription
Public classDataConnectorClientCommandManagerTCommand Defines shared code for client classes for the dataconnector. Clients for the scoringprogram and BCS both inherit from this class.
Public classDataConnectorLogCreatorTCommand Logs all actions of the DataConnector in a structured way.
Public classDataConnectorPipeClientConnectionManagerTCommand Handles connection to the dataconnector from scoringprogram clients and the BCS client.
Public classScoringProgramDataConnectorClientCommandManager The client that communicates with the dataconnector used by the scoring program. Defines the public interface that can be used to send and retrieve data to and from the dataconnector.
Public classScoringProgramDataConnectorHttpClient Exchanges information with the dataconnector using http.
Public classScoringProgramDataConnectorLogCreator Structured logger for the scoring program side of data communicator communication
Public classScoringProgramDataConnectorPipeClient Handles request from the scoring programs. This code is freely available for external programmers to adapt to their specific needs. This code, however, is guaranteed to work. Interop options are available for many programming languages that can interface with .Net Standard 2.0 assemblies.
Note that this class is written as a singleton: there should never be more than one instance communicating over the pipe. The constructor is protected however, so by inheriting from this class a non singleton instance can be used.
The class implements IDisposable through its base class, as the base class contains a stream writer and stream reader that must be disposed when the communication shuts down. Be sure to call Dispose on the class any time it is no longer in use, otherwise communication will stall.
The code has no dependencies, except one on NLog (and Net Standard 2.0). If you decide to copy the code make sure to add a dependency to the NLog NuGet package or implement your own logging.
All public functions have synchronous and asynchronous implementations (ending in "Async").
To get started inspect the following functions:
Connect and ConnectAsync: Connection to the Data Connector.
Initialize and InitializeAsync: Initialization of a new event.
IssueManagementCommand and IssueManagementCommandAsync: Query the Bridgemate Control Software.
Public classScoringProgramDataConnectorPipeClientConnectionManager Handles connections to the dataconnector for scoring programs.
Public classScoringProgramRequest This class carries both a command and its associated data (if any) for the Data Connector. If the command pertains to a specific session the SessionGuid property has to be set. Validation will check in that case if the SessionGuid properties of the SerializedData has the same value. The Data Connector always responds with a ScoringProgramResponse
Public classScoringProgramResponse This class carries the response data that the Data Connector sends back after sending it a ScoringProgramRequest.
Structures
 StructureDescription
Public structureDataConnectorLogCreatorTCommandDataConnectorLogRecord Contains the structured information
Interfaces
 InterfaceDescription
Public interfaceIScoringProgramClient Defines a common interface for the ScoringProgramDataConnectorPipeClient and the ScoringProgramDataConnectorHttpClient.
Enumerations
 EnumerationDescription
Public enumerationDataConnectorLoggingSource The source of the log message
Public enumerationDataConnectorLogLevel The log level
Public enumerationDataConnectorResponseData Specifies the data type that the ScoringProgramResponse's SerializedData property should contain.
Public enumerationErrorType Clarifies what type of error occurred, causing the ScoringProgramRequest to fail.
Public enumerationScoringProgramDataConnectorCommands These enum values comprise the command values that can be set on the ScoringProgramRequest's Command property. Not all of these are currently supported. In the comments after the values the associated Data Transfer Object (DTO) is mentioned if applicable.