StreamLink.NET  8.0.8-8.0.8-2133-4672b96
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties Pages
Namespaces | Classes | Enumerations
Package Caplin.StreamLink

The interfaces, classes and enumerators within this package provide the functionality of StreamLink. More...

Namespaces

 

Classes

class  BaseConnectionListener
 Adapter class implementing the IConnectionListener methods More...
 
class  BaseSubscriptionListener
 Adapter class implementing the ISubscriptionListener methods More...
 
class  ConsoleLogListener
 Register by calling ILogger.AddListener on the logger acquired from IStreamLink More...
 
class  ContainerFilterFactory
  More...
 
interface  IAdvancedConfiguration
 This interface provides access to advanced features of the StreamLink library. More...
 
interface  IBinaryEvent
 The BinaryEvent is provided in an onBinaryUpdate callback to a ISubscriptionListener. More...
 
interface  IBinaryHandler
 Handler for parsing and patching BINARY objects. More...
 
interface  IChannel
 A Channel provides a bi-directional communication channel between a StreamLink application and a DataSource adapter. Using a Channel in both DataSource and StreamLink provides a simplified method of communication between the two components and can allow you just to use the Caplin platform as a bi-directional messaging pipe. More...
 
interface  IChannelListener
 Interface for receiving updates on the channel from the Liberator. More...
 
interface  IChatEvent
 The ChatEvent is provided in an onChatUpdate callback to a ISubscriptionListener. More...
 
interface  ICommandErrorEvent
 The CommandErrorEvent will be provided on a onCommandError callback to a ICommandListener. More...
 
interface  ICommandListener
 For more about commands, see ICommandSubscription. More...
 
interface  ICommandParameters
 
interface  ICommandResultEvent
 The CommandResultEvent will be provided on callbacks to a ICommandResultListener. More...
 
interface  ICommandResultListener
 For more about commands, see ICommandSubscription. More...
 
interface  ICommandSubscription
 Stored information on the subscription and lets you unpersist the command. More...
 
interface  IConnectionCurrentState
 
interface  IConnectionListener
 You should implement this interface if your application needs to take particular actions when such state changes occur. More...
 
interface  IConnectionStatusEvent
 The ConnectionStatusEvent is provided on a onConnectionStatusChange callback to a IConnectionListener. More...
 
interface  IContainerElement
 The insert(), remove() or move() callbacks of IContainerModel all supply a ContainerElement that applies to the action.. More...
 
interface  IContainerEvent
 The ContainerEvent will be provided on a onContainerUpdate callback to a ISubscriptionListener. More...
 
interface  IContainerModel
 The methods on this interface will be called in the correct order to ensure that your representation is correct. More...
 
interface  IContainerSubscriptionParameters
 
interface  ICredentials
 
interface  ICredentialsProvider
 
interface  ICredentialsReceiver
 
interface  IDataEvent
 In application code, use the derived interfaces that related to specific types of data, rather than this base-level interface. For example IRecordType1Event interface is derived from IDataEvent; it provides information about changes to a subscribed subject of type record, including the fields that have changed and their new values. More...
 
interface  IDirectoryChangeElement
 Provides information about a change to a directory element. More...
 
interface  IDirectoryEvent
 Provides information about a change to a directory. More...
 
interface  IDiscardHandler
 
interface  IFilterExpression
 Interface that represents a filter expression. More...
 
interface  IFreeFormSubscriptionParameters
 
interface  IHttpHeaderProvider
 
interface  IJsonChannel
 A Channel provides a bi-directional communication channel between a StreamLink application and a DataSource adapter. Using a Channel in both DataSource and StreamLink provides a simplified method of communication between the two components and can allow you just to use the Caplin platform as a bi-directional messaging pipe. More...
 
interface  IJsonChannelListener
 Interface for receiving updates on the JSON channel from the Liberator. More...
 
interface  IJsonDiscardHandler
 Object registered to receive discard callbacks. More...
 
interface  IJsonEvent
 The JsonEvent is provided in an onJsonUpdate callback to a ISubscriptionListener. More...
 
interface  IJsonHandler
 Handler for parsing and patching JSON objects. More...
 
interface  IJsonProvider
 
interface  IJsonProviderHandle
 Object returned from the StreamLink.register...Provider methods. More...
 
interface  IJsonPublisher
 An object that can send JSON messages for a subject that StreamLink is providing. More...
 
interface  IJsonSubscriptionParameters
 
interface  IKeymasterCookieProvider
 The set of cookies provided by this interface will be sent with KeyMaster connections. More...
 
interface  IKeymasterHttpHeaderProvider
 The set of headers provided by this interface will be sent with KeyMaster connections. More...
 
interface  IKeymasterPollResponseListener
 The KeymasterPollResponseListener needs to be added to the StreamLinkFactory create method in order to receive callbacks. More...
 
interface  ILiberatorUrlProvider
 
interface  ILogger
 You obtain an instance of caplin.streamlink.Logger by calling streamLinkInstance.getLogger() on the StreamLink instance. More...
 
interface  ILogInfo
 This will be passed into any ILogListener.OnLog method of any ILogListener registered at an appropriate LogLevel. The LogListener can then get the log line using the ILogInfo.Message method. See ILogListener. More...
 
interface  ILogListener
 If you wish to capture StreamLink's log messages (for example, to write them to your own log window), implement this interface, create an instance of it, and attach it to an instance of ILogger. More...
 
interface  INewsEvent
 Provides information about a news headline update. More...
 
interface  IPageElement
 Provides information about a single text change for the given row and column in a Page. More...
 
interface  IPageEvent
 Pages may be sent from the Liberator in one or more PageElementss. The initial page data is indicated by the isImage() method returning true. More...
 
interface  IPermissionEvent
 Provides information about a change to permission data. More...
 
interface  IPublisher
 An object that can send messages for a subject that StreamLink is providing. More...
 
interface  IRawSocketFactory
 This interface allows a user application to specify a connection strategy to use when creating Type 1 (direct socket) connections. For example, to negotiate a SOCKS proxy or other custom tunneling requirements. More...
 
interface  IRecordDiscardHandler
 Object registered to receive discard callbacks. More...
 
interface  IRecordProvider
 
interface  IRecordProviderHandle
 Object returned from the StreamLink.register...Provider methods. More...
 
interface  IRecordPublisher
 An object that can send record messages for a subject that StreamLink is providing. More...
 
interface  IRecordSubscriptionParameters
 
interface  IRecordType1Event
 The RecordType1Event is provided in an onRecordUpdate callback to a ISubscriptionListener. More...
 
interface  IRecordType2Event
 The RecordType2Event is provided in an onRecordType2Update callback to a ISubscriptionListener. More...
 
interface  IRecordType3Event
 The RecordType3Event will be provided on a onRecordType3Update callback to a ISubscriptionListener. More...
 
interface  IServiceStatusEvent
 The ServiceStatusEvent will be provided on a onServiceStatusChange callback to a IConnectionListener. More...
 
interface  ISourceStatusEvent
 The SourceStatusEvent will be provided on a onSourceStatusChange callback to a IConnectionListener. More...
 
interface  IStatisticsEvent
 The StatisticsEvent is provided in an onStatisticsChange callback to a IConnectionListener. More...
 
interface  IStoryEvent
 Stories may be sent from the Liberator in one or more IStoryEvents. The start of the story is indicated by the isImage() method returning true. More...
 
interface  IStreamLink
 Defines the StreamLink interface. More...
 
interface  IStreamLinkConfiguration
 Interface that allows the configuration of StreamLink to be defined programmatically. More...
 
interface  ISubscription
 Represents a subscription to a subject on the Liberator. More...
 
interface  ISubscriptionErrorEvent
 Provides information about a subscription error. More...
 
interface  ISubscriptionListener
 Your application should implement this interface. More...
 
interface  ISubscriptionParameters
 
interface  ISubscriptionStatusEvent
 The SubscriptionStatusEvent will be provided on a onSubscriptionStatus callback to a ISubscriptionListener. More...
 
interface  IWebRequestParameters
 Call the createWebRequestParameters method of the StreamLink object to obtain these parameters for the specified web module. More...
 
class  LogLevel
 Each log message generated by StreamLink has an associated LogLevel that indicates its importance, in the following order (highest to lowest). More...
 
class  StreamLinkFactory
 Factory that creates StreamLink instances. More...
 
class  STuple
 

Enumerations

enum  ChatEventType { ChatEventType.MESSAGE, ChatEventType.USER_ADDED, ChatEventType.USER_REMOVED, ChatEventType.JOINED }
 The ChatEventType can be obtained by calling getUpdateType() on a IChatEvent. More...
 
enum  CommandErrorType {
  CommandErrorType.DELETED, CommandErrorType.DISCONNECT_OCCURRED, CommandErrorType.INVALID_PARAMETERS, CommandErrorType.NOT_FOUND,
  CommandErrorType.READ_DENIED, CommandErrorType.THROTTLE_FAILED, CommandErrorType.UNAVAILABLE, CommandErrorType.WRITE_DENIED,
  CommandErrorType.WRITE_DENIED_TRADE_GROUP_LICENSE_EXCEEDED, CommandErrorType.CANCELLED
}
 You can obtain the CommandErrorType by calling getError() on a ICommandErrorEvent. More...
 
enum  ConnectionState {
  ConnectionState.DISCONNECTED, ConnectionState.CONNECTING, ConnectionState.FAILED, ConnectionState.CONNECTED,
  ConnectionState.RETRIEVINGCREDENTIALS, ConnectionState.CREDENTIALSRETRIEVED, ConnectionState.CREDENTIALSRETRIEVALFAILED, ConnectionState.LOGGEDIN,
  ConnectionState.LOGINFAILED, ConnectionState.EJECTED, ConnectionState.LOST, ConnectionState.RECONNECTED,
  ConnectionState.UNREACHABLE, ConnectionState.PAUSED
}
 You can obtain the ConnectionState by calling getConnectionState on a IConnectionStatusEvent. More...
 
enum  ErrorReason {
  ErrorReason.USER_CODE_1, ErrorReason.USER_CODE_2, ErrorReason.USER_CODE_3, ErrorReason.USER_CODE_4,
  ErrorReason.USER_CODE_5, ErrorReason.LICENSE, ErrorReason.NONE
}
 
enum  FilterExpressionLogicalOperator { FilterExpressionLogicalOperator.AND, FilterExpressionLogicalOperator.OR }
 Enumeration that represents a particular logical operation. More...
 
enum  FilterExpressionOperator {
  FilterExpressionOperator.EQUAL, FilterExpressionOperator.NOT_EQUAL, FilterExpressionOperator.GREATER_THAN, FilterExpressionOperator.GREATER_THAN_OR_EQUAL,
  FilterExpressionOperator.LESS_THAN, FilterExpressionOperator.LESS_THAN_OR_EQUAL, FilterExpressionOperator.REGULAR_EXPRESSION, FilterExpressionOperator.CASE_INSENSITIVE_REGULAR_EXPRESSION,
  FilterExpressionOperator.NUMERIC_EQUAL, FilterExpressionOperator.NUMERIC_NOT_EQUAL, FilterExpressionOperator.VALUE_IS_NULL
}
 Enumeration that represents the operators that are available for a FieldFilterExpression. More...
 
enum  LoginFailedReason {
  LoginFailedReason.INVALID_USER, LoginFailedReason.INVALID_PASS, LoginFailedReason.INVALID_IP, LoginFailedReason.ACCT_EXPIRED,
  LoginFailedReason.ALREADY_LOGGED_IN, LoginFailedReason.LICENSE_SITE, LoginFailedReason.LICENSE_USER, LoginFailedReason.CREDENTIALSERROR,
  LoginFailedReason.UNDEFINED
}
 The LoginFailedReason will be provided by calling getLoginFailReason on a IConnectionStatusEvent. More...
 
enum  PayloadType { PayloadType.SUBJECT_TYPE, PayloadType.RECORD, PayloadType.JSON }
 Enumeration defining the types of payload used on commands. More...
 
enum  ServiceStatus { ServiceStatus.DOWN, ServiceStatus.LIMITED, ServiceStatus.OK }
 The ServiceStatus will be provided by calling getServiceStatus on a IServiceStatusEvent. More...
 
enum  SourceStatus { SourceStatus.DOWN, SourceStatus.UP }
 The SourceStatus will be provided by calling getSourceStatus on a ISourceStatusEvent. More...
 
enum  SubjectType {
  SubjectType.CHAT, SubjectType.CONTAINER, SubjectType.DIRECTORY, SubjectType.NEWS_HEADLINE,
  SubjectType.NEWS_STORY, SubjectType.PAGE, SubjectType.PERMISSION, SubjectType.RECORD,
  SubjectType.USER, SubjectType.JSON, SubjectType.LIST, SubjectType.UNKNOWN
}
 The SubjectType can be obtained by calling getType() on a IContainerElement or IDirectoryChangeElement. More...
 
enum  SubscriptionErrorType {
  SubscriptionErrorType.NOT_FOUND, SubscriptionErrorType.UNAVAILABLE, SubscriptionErrorType.DELETED, SubscriptionErrorType.READ_DENIED,
  SubscriptionErrorType.WRITE_DENIED, SubscriptionErrorType.WRITE_DENIED_DUE_TO_LICENSE, SubscriptionErrorType.INVALID_PARAMETERS
}
 The SubscriptionErrorType will be provided on a onSubscriptionError callback to a ISubscriptionListener. More...
 
enum  SubscriptionStatusType { SubscriptionStatusType.STATUS_OK, SubscriptionStatusType.STATUS_LIMITED, SubscriptionStatusType.STATUS_STALE, SubscriptionStatusType.STATUS_INFO }
 The SubscriptionStatusType will be provided by calling getStatus() on a ISubscriptionStatusEvent. More...
 
enum  ThrottleCommand {
  ThrottleCommand.UP, ThrottleCommand.DOWN, ThrottleCommand.MIN, ThrottleCommand.MAX,
  ThrottleCommand.STOP, ThrottleCommand.START, ThrottleCommand.DEF
}
 A ThrottleCommand is passed as a parameter to the throttleSubject() and throttleEverything() methods of IStreamLink. More...
 

Detailed Description

The interfaces, classes and enumerators within this package provide the functionality of StreamLink.

Enumeration Type Documentation

The ChatEventType can be obtained by calling getUpdateType() on a IChatEvent.

Enumeration that defines the type of the IChatEvent.

Enumerator
MESSAGE 

The event contains a chat message.

USER_ADDED 

The event represents the event raised when a user joins a chat channel.

USER_REMOVED 

The event represents the event raised when a user leaves a chat channel.

JOINED 

The event represents the event raised when this StreamLink client joins a chat channel.

You can obtain the CommandErrorType by calling getError() on a ICommandErrorEvent.

Enumeration defining the errors that can occur for a command.

Enumerator
DELETED 

The subject has been deleted.

DISCONNECT_OCCURRED 

The command may have been sent to server, but disconnect occurred. The command may not have been executed.

INVALID_PARAMETERS 

The supplied command parameters are invalid for the command.

NOT_FOUND 

The command subject could not be found.

READ_DENIED 

The client does not have permission to read the subject.

THROTTLE_FAILED 

The throttle command failed.

UNAVAILABLE 

The subject is not available.

WRITE_DENIED 

The client does not have permission to write to the subject.

WRITE_DENIED_TRADE_GROUP_LICENSE_EXCEEDED 

The Liberator has detected a breach of license conditions and has rejected the attempted trade.

CANCELLED 

Disconnect occurred and a command set as cancellable has been cancelled.

You can obtain the ConnectionState by calling getConnectionState on a IConnectionStatusEvent.

Enumeration that defines the state of a StreamLink connection to a Liberator.

Although hints regarding possible transitions between ConnectionStates are given, you <em>should not</em> imply that this is a strict contract because network conditions may cause undocumented transitions.

The generalised sequence after calling streamlink.connect() is as follows: CONNECTING -> CONNECTED -> LOGGEDIN. At any point in time the connection could be lost which would raise the LOST, at this point StreamLink would attempt to connect again to a Liberator server, starting the sequence once more.

With this in mind, it is possible to map these onto a "traffic light" component indicating connection health using the following mappings:

<ul> <li>RED DISCONNECTED <li>GREEN LOGGEDIN <li>AMBER All other ConnectionStates. </ul>

Enumerator
DISCONNECTED 

Disconnected from the Liberator. When this state is raised by the StreamLink library all subscriptions have removed. StreamLink will not perform any activity until you call connect() on the IStreamLink object.

CONNECTING 

A connection attempt is in progress. If the connection attempt is successful, a CONNECTED state will be raised, if the connection fails, the FAILED event will be raised.

FAILED 

A connection attempt has failed. StreamLink will attempt to connect to a Liberator on the configured server list.

CONNECTED 

A network connection has been established to the Liberator. StreamLink will now attempt to log in to the Liberator session.

RETRIEVINGCREDENTIALS 

StreamLink is attempting to obtain a set of credentials to log in to the server.

CREDENTIALSRETRIEVED 

StreamLink has successfully retrieved the credentials.

CREDENTIALSRETRIEVALFAILED 

StreamLink has failed to retrieve the credentials.

LOGGEDIN 

The client is now logged into the Liberator. In this state it is possible for StreamLink applications to receive subscription updates and receive responses to commands.

LOGINFAILED 

The client could not login to the Liberator. StreamLink will not perform any more connection attempts and will switch to the DISCONNECTED state.

EJECTED 

The client has been ejected from the Liberator. StreamLink will not perform any more connection attempts and will switch to the DISCONNECTED state.

LOST 

The connection to the Liberator has been lost. StreamLink will attempt to connect and establish a new session with a configured Liberator.

RECONNECTED 

The Liberator session has been reconnected. This should be treated as an informational event, StreamLink will switch to the LOGGEDIN state to simplify implementation of your application (see the traffic light example above).

UNREACHABLE 

A connection to the Liberator is not possible due to no network being available.

PAUSED 

The connection has been paused by the application. This state is a direct result of the application causing IStreamLink.Pause. StreamLink is held in a "frozen" state pending a call to IStreamLink.Resume.

Enumeration that defines the reasons for an error being raised in a ISubscriptionErrorEvent or a ICommandErrorEvent.

Enumerator
USER_CODE_1 

Liberator auth module user reason 1.

USER_CODE_2 

Liberator auth module user reason 2.

USER_CODE_3 

Liberator auth module user reason 3.

USER_CODE_4 

Liberator auth module user reason 4.

USER_CODE_5 

Liberator auth module user reason 5.

LICENSE 

Licence failure.

NONE 

No Reason.

Enumeration that represents a particular logical operation.

Enumerator
AND 

Represents that a logical AND will be performed. A record will only be returned if it matches all of the FilterExpressions that have been added to the LogicalFilterExpression.

OR 

Represents that a logical OR will be performed. A record will be returned if it matches any of the FilterExpressions that have been added to the LogicialFilterExpression.

Enumeration that represents the operators that are available for a FieldFilterExpression.

Enumerator
EQUAL 

Operator used to check for an exact match between a field and a text or numeric value. For currency pair values, the rules are: - Filter with separator: Matches any currency pair where the pair's base currency matches the filter's base currency exactly, and where the pair's term currency begins with the filter's term currency. - Filter without separator: Matches any currency pair where the string representation of the filter is included in the pair.

NOT_EQUAL 

Operator used to check that a field does not match a particular value.

GREATER_THAN 

Operator used to check that a field is greater than a particular value.

GREATER_THAN_OR_EQUAL 

Operator used to check that a field is greater than or equal to a particular value.

LESS_THAN 

Operator used to check that a field is less than a particular value.

LESS_THAN_OR_EQUAL 

Operator used to check that a field is less than or equal to a particular value.

REGULAR_EXPRESSION 

Operator used to check that a string field matches a particular regular expression.

CASE_INSENSITIVE_REGULAR_EXPRESSION 

Operator used to check that a string field matches a particular regular expression where an exact case match is not necessary.

NUMERIC_EQUAL 

Operator used to check for an exact match between a numeric field and value.

NUMERIC_NOT_EQUAL 

Operator used to check that a numeric field does not match a particular value.

VALUE_IS_NULL 

Operator used to check that a field matches a null value.

The LoginFailedReason will be provided by calling getLoginFailReason on a IConnectionStatusEvent.

Enumeration that defines the reason for a failed login.

Enumerator
INVALID_USER 

StreamLink can not log in to the Liberator because the user's username is incorrect.

INVALID_PASS 

StreamLink can not log in to the Liberator because the user's password is incorrect.

INVALID_IP 

StreamLink can not log in to the Liberator because the connection attempts is made from an invalid IP address. *.

ACCT_EXPIRED 

StreamLink can not log in to the Liberator because the user's account has expired.

ALREADY_LOGGED_IN 

StreamLink can not log in to the Liberator because the user is already logged in.

LICENSE_SITE 

StreamLink can not log in to the Liberator due to licensing limitations.

LICENSE_USER 

StreamLink can not log in to the Liberator due to licensing limitations.

CREDENTIALSERROR 

An error occurred whilst retrieving the credentials that are used to log in to the Liberator.

UNDEFINED 

This value is undefined.

Enumeration defining the types of payload used on commands.

Enumerator
SUBJECT_TYPE 

The payload should be of type SubjectType.

RECORD 

The payload should be a map of field names to values or a list of name, value tuples.

JSON 

The payload should be an object that can be serialized to JSON.

The ServiceStatus will be provided by calling getServiceStatus on a IServiceStatusEvent.

Enumeration that defines the status of a Service.

The three states that are possible for a Liberator data service are:

<ul> <li>OK - All of the data sources that make up the service are up. <li>Down - One or more required data sources for the service are down. <li>Limited - One or more non-required data sources for the service are down. </ul>

See Also
IServiceStatusEvent
Enumerator
DOWN 

Indicates that a service is down, which means that at least one of the required sources defined for the service are down.

LIMITED 

Indicates that a service is limited, which means that at least one of the non required sources defined for the service are down (but all of the required sources are up).

OK 

Indicates that the service is OK, which means that all the required and non required sources defined for the service are up.

The SourceStatus will be provided by calling getSourceStatus on a ISourceStatusEvent.

Enumeration that defines the status of a source.

Enumerator
DOWN 

A source has gone up.

UP 

A source has gone down.

The SubjectType can be obtained by calling getType() on a IContainerElement or IDirectoryChangeElement.

Enumeration that represents the available subject types.

It is also a parameter to createSubject() in IStreamLink.

Enumerator
CHAT 

Chat subject type.

CONTAINER 

Container subject type.

DIRECTORY 

Directory subject type.

NEWS_HEADLINE 

News headline subject type.

NEWS_STORY 

News story subject type.

PAGE 

Page subject type.

PERMISSION 

Permission subject type.

RECORD 

Record subject type.

USER 

User subject type.

JSON 

JSON subject type.

LIST 

List subject type.

UNKNOWN 

The subject type is unknown.

The SubscriptionErrorType will be provided on a onSubscriptionError callback to a ISubscriptionListener.

Enumeration which represents the errors that can occur for a subject.

Enumerator
NOT_FOUND 

The subject could not be found.

UNAVAILABLE 

The subject was not available.

DELETED 

The subject has been deleted.

READ_DENIED 

The client does not have permission to read the subject.

WRITE_DENIED 

The client does not have permission to write to the subject.

WRITE_DENIED_DUE_TO_LICENSE 

The client cannot contribute due to the Liberator's licensing limits being exceeded.

INVALID_PARAMETERS 

Supplied parameters are invalid for this subject type.

The SubscriptionStatusType will be provided by calling getStatus() on a ISubscriptionStatusEvent.

Enumeration that defines the status of a subject.

Enumerator
STATUS_OK 

The data associated with the subject is correct and up-to-date.

STATUS_LIMITED 

One of the sources of data for the subject is not available. This may affect the subject's data.

STATUS_STALE 

The subject's data may not be correct and up-to-date.

STATUS_INFO 

An informational message about the subject (usually sent by the DataSource).

A ThrottleCommand is passed as a parameter to the throttleSubject() and throttleEverything() methods of IStreamLink.

Enumeration that defines the available throttle levels and throttle commands.

For an explanation of throttling, refer the Throttling section of the document <a href="https://docs.caplin.com/developer/caplin-platform/liberator/liberator-throttling">Throttling</a>.

Enumerator
UP 

Increase the throttle level.

DOWN 

Decrease the throttle level.

MIN 

Set the throttle level to the minimum amount of throttling.

MAX 

Set the throttle level to the maximum amount of throttling.

STOP 

Stop sending updates to the client.

START 

Start sending updates to the client again.

DEF 

Set the throttle level to the default level.


Generated on Thu Jul 23 2026 18:25:35 for StreamLink.NET