VideoOS.Platform.Messaging Namespace Reference

Classes

class  AddToExportCommandData
 This class is used with the MessageId.SmartClient.AddToExportCommand message. More...
 
class  AnalyticsMessageData
 Contains a definition of one analytics event. More...
 
class  AnyFilter
 This MessageFilter will match any messages. More...
 
class  ApplicationControlCommandData
 A set of const strings to defined available values for the ApplicationControlCommand message. More...
 
class  ChangedAlarmData
 This class is contained on the Server.ChangedAlarmIndication.
The content identifies what changes has been made.
When changes only involved a single alarm, the ChangeHint is ChangeHintSingleAlarm and the AlarmId can be used to get the alarm again.
When changes involves a number of alarms on a specific source, the ChangeHint is ChangeHistMassUpdateForSource, and the SourceId can be used to run though alarms for that source and check the changes. More...
 
class  ChangedAlarmHistoriesData
 This class is contained on the Server.ChangedAlarmHistoryIndication.
The content identifies the changes made to alarm history. E.g. changing state or changing assignee on an alarm.
More...
 
class  ChangedAlarmHistoryData
 This class contains a single AlarmUpdateActivity, and is part of ChangedAlarmUpdateActivitiesData. See class AlarmUpdateKey for possible AlarmUpdateKeys. More...
 
class  ClearIndicatorCommandData
 This class contains the commands to control clearing the red, yellow indicators on top of the Camera images. More...
 
class  CommunicationIdFilter
 The CommunicationIdFilter is used to identify what messages to subscribe to, on another machine.
It is used in the Messaging.MessageCommunication class.
More...
 
class  ConnectionStateChangedEventArgs
 Identifies the server wre the connection state has changed. More...
 
class  ConnectionStateEventArgs
 Is send on the ConnectionStateChangedEvent. More...
 
class  DriverCommandData
 Use with MessageId = DriverCommand.
More...
 
class  DriverResponseData
 The response coming back from sending a message with MessageId = DriverCommand. More...
 
class  EndPointIdentityData
 Contains the FQID and the username used for login at that EndPoint identified by the EndPointFQID.
This class is used in conjunction with the WhoAreOnlineResponse and NewEndPointIndication messages. More...
 
class  ExternalMessage
 A ExternalMessage contains information send from a sender to one or multiple receivers.
It is identified by a String, the well known messages created and send by the MIP Environment are defined in class VideoOS.Platform.Messaging.MessageId.
The fields may be filled out or not filled out depending on the MessageId. The MessageId is the identification of the message, a plugin can use any MessageId they choose for additional communication.
The field Reason - is a string containing why this message has been send, could be the name of a rule, a black list, or simply a user action.
The RelatedFQID is used for some Messages – see documentation for each MessageId.
The Data field is simply an object relevant to the specific MessageId. More...
 
interface  IMessageClient
 Messages (through WebSockets) is a BETA API. Future releases might break backwards compatibility of the API and the clients. More...
 
interface  IMessageReceiverArgs
 Interface holding received message parameters like topic and data. More...
 
class  IsDirectInputHIDHandledByPlugInRequestData
 This class is used to identify a DirectInput device found by the DirectInput HID plugin. The class represents the Data object of the MessageId.SmartClient.IsDirectInputHIDHandledByPlugInRequest message. More...
 
class  ItemState
 Defines the current state a given Item has.
This class is used in conjunction with the ProvideCurrentStateResponse message.
More...
 
class  KindFilter
 The KindFilter can filter on Messages. This class will match the message.RelatedFQID to the Guid parameter on the constructor and return true if there is a match. More...
 
class  LensCommandData
 A set of const strings to defined available values for the LensCommand message. More...
 
class  MapRequestData
 Class filled when sending a GetMapRequest. More...
 
class  MapResponseData
 Is part of the Message.Data field for a GetMapResponse message. More...
 
class  MapResponseDataInstance
 Short identification of a map. More...
 
class  Message
 A Message contains information send from a sender to one or multiple receivers. It is identified by a String, the well known messages created and send by the MIP Environment are defined in class VideoOS.Platform.Messaging.MessageId.
The fields may be filled out or not filled out depending on the MessageId. The MessageId is the identification of the message, a plugin can use any MessageId they choose of additional communication.
The field Reason - is a string containing why this message has been send, could be the name of a rule, a black list, or simply a user action. The RelatedFQID is used for some Messages – see documentation for each MessageId. The Data field is simply an object relevant to the specific MessageId. More...
 
class  MessageClientManager
 Messages (through WebSockets) is a BETA API. Future releases might break backwards compatibility of the API and the clients. More...
 
class  MessageCommunication
 Communication between EventServer and all other MIP Environments can be done via this class.
Each starting application or service will have one EndPoint ( Unique for each execution ), and a EndPointType.
The EventServer is defined as a EndPointType.Server and all other MIP Environments are in this context a EndPointType.Client.
Any MIP plug-in can get a list of all currently executing MIP Environments and store their EndPointFQID for communication purpose. For each EndPoint is is possible to get hold of the EndPointIdentityData class to identify the login user name for a given EndPoint.
See the WhoAreOnlineRequest and WhoAreOnlineResponse MessageId's for more on this.

This class is created through the MessageCommunicationManager static class. More...
 
class  MessageCommunicationManager
 The MessageCommunicationManager holds MessageCommunication classes for each EventServer it has connection to. The EventServers are identified by the ServerId.Id of their owning Management Server. More...
 
class  MessageFilter
 This class is the base class for classes that can assist in filtering messages.
The MessageIdFilter matches on the MessageId itself.
The AnyFilter is an always-true filter – most useful for debugging.
A plugin can create own filters as appropriate for matching and filtering on specific combination the available fields. More...
 
class  MessageId
 The MessageId class contains the definitions of all the system defined messages. More...
 
class  MessageIdAndRelatedKindFilter
 The MessageIdFilter will match on the provided MessageId and kind.
Only messages send with a specific messageId and where the message.RelatedFQID matches the given kind will be passed through the filter.
The matching string for the messageId may contain a '' as the last character to allow for multiple matches, e.g. 'Control.PTZ' will match almost all PTZ operations going on.
This filter is especially useful for the MessageId.Server.ConfigurationChangedIndication message. More...
 
class  MessageIdFilter
 The MessageIdFilter will match on the MessageId itself.
Only messages send with a specific messageId will be passed through the filter.
The matching string may contain a '' as the last character to allow for multiple matches, e.g. 'Control.PTZ' will match almost all PTZ operations going on. More...
 
class  MessageIdListFilter
 This class will match the messageId of a message with a list of messageId's, if a match exists for one of these, the message is passed through the filter.
The '*' character cannot be used for this class. More...
 
class  MoveCommand
 The commands available for the SetSelectedViewItemData message. More...
 
class  MultiWindowCommand
 A set of const strings to defined available values for the MultiWindowCommandData structure
Please note this class has same name as a command, but should be used in the MultiWindowCommandData.MultiWindowCommand field. More...
 
struct  MultiWindowCommandData
 The data structure filled when sending the MultiWindowCommand message.
More...
 
class  MyKeyValue
 KeyValue to be used for serialization. More...
 
class  MyRectangle
 Defines a version of rectangle that can be serialized. More...
 
class  PlaybackCommandData
 A class specifying how to start PlayBack. Used by the PlaybackCommand for instructing the Smart Client, and by the PlaybackIndication when the Smart Client informs of user or other program commands. More...
 
class  PlaybackControllerFilter
 This class can be used to filter messages coming from playbackcontrollers. By using this filter, only messages from the defined playbackcontroller will be received. More...
 
class  PlaybackControllerReceiverFilter
 Used internally to match for receiver == playbackController. More...
 
class  PlaybackData
 Contains the possible values to be filled in the PlaybackCommandData.Command field. This class is send as Data in messages with MessagesIds SmartClient.PlaybackCommand and SmartClient.PlaybackIndication. More...
 
class  PlaybackPlayModeData
 class of strings specifying the playback modes More...
 
class  PlaybackTimeInformationData
 A class holding information about the currently received data to display.
This class is sent to the PlaybackController to keep it updated with available data and possible skipping of gaps.
More...
 
struct  PTZAUXCommandData
 A struct specifying the AUX specifics for the PTZAUXCommand message, used in the message's Data field. More...
 
struct  PTZCenterCommandData
 Defines a rectangle in witch to center and zoom.
More...
 
struct  PTZGetAbsoluteRequestData
 A struct defining the PTZ values returned by the PTZGetAbsoluteRequest message.
The values for Pan an Tilt are between -1..1
The value for Zoom are in interval 0..1, where 0=full zoom out; 1=full zoom in;. More...
 
struct  PTZMoveAbsoluteCommandData
 A struct specifying the PTZ and speed of a PTZMoveAbsoluteCommand message, used in the message's Data field. More...
 
class  PTZMoveCommandData
 A struct specifying the PTZ Move command of a PTZMoveCommand message, used in the message's Data field. More...
 
struct  PTZMoveStartCommandData
 A struct specifying the PTZ and speed of a PTZMoveStartCommand message, used in the message's Data field. More...
 
struct  PTZMoveStartCommandData2
 A struct specifying the PTZ and speed of a PTZMoveStartCommand message, used in the message's Data field. More...
 
struct  PTZRectangleCommandData
 Defines a rectangle to be displayed. All values are in pixels. More...
 
class  RecorderErrorIndicationData
 Describes in detail the error. More...
 
class  RestrictedMediaCreateRestrictionCommandData
 This class is used with the MessageId.SmartClient.RestrictedMediaCreateRestrictionCommand message.
 
class  SetCameraInViewCommandData
 This structure is used when sending the SetCameraInViewCommand to tell the Smart Client what camera to insert in what position on current displayed view. More...
 
class  SetSelectedViewItemData
 This class is used by the SetSelectedViewItemCommand message id. It describes what view item should be selected within the currently selected window. More...
 
class  ShowCamerasInFloatingWindowData
 Defines the state of a floating window and the cameras it contains.
Fill this class when sending a message with id SmartClient.ShowCamerasInFloatingWindowCommand. More...
 
class  SmartClientMessageData
 Contains a single message to be displayed in the message area of the Smart Client.
This class is used to display new messages in the message area of the Smart Client, as well as changing or removing existing messages.
Fill this class when sending a message with id SmartClient.SmartClientMessageCommand. More...
 
class  SmartClientTextToastData
 Specialization of SmartClientToastData that represents a text toast message. A text toast message contains an icon, primary text, secondary text and a count text. All are optional but it is recommended that at least a primary text is always provided. More...
 
class  SmartClientToastData
 Abstract base class for the available toast message types. Use the specialized implementations to fill in information about the toast message to display. More...
 
class  SmartMapGetPositionRequestData
 This class is used with the MessageId.SmartClient.SmartMapGetPositionRequest message. More...
 
class  SmartMapGoToAreaCommandData
 This class is used with the MessageId.SmartClient.SmartMapGoToAreaCommand message. More...
 
class  SmartMapGoToLocationCommandData
 This class is used with the MessageId.SmartClient.SmartMapGoToLocationCommand message. More...
 
class  SmartMapGoToPositionCommandData
 This class is used with the MessageId.SmartClient.SmartMapGoToPositionCommand message. More...
 
class  SmartMapNavigateToCameraData
 This class is used with the MessageId.SmartClient.SmartMapNavigateToCamera message. More...
 
class  SmartMapNavigateToDeviceData
 This class is used with the MessageId.SmartClient.SmartMapNavigateToDevice message. More...
 
class  SmartMapPositionData
 This class is used with the MessageId.SmartClient.SmartMapPositionChangedIndication or MessageId.SmartClient.SmartMapGetPositionRequest message. More...
 
class  SmartMapSelectItemCommandData
 This class is used with the MessageId.SmartClient.SmartMapSelectItemCommand message. More...
 
class  SystemConfigurationChangedDetails
 Class defines one change, used by SystemConfigurationChangedDetailsIndicationData More...
 
class  SystemConfigurationChangedDetailsIndicationData
 This class is coming with the MessageId.System.SystemConfigurationChangedDetailsIndication message. More...
 
class  TalkToSpeakerData
 The class send as data when sending a command to start or stop the 'talk' button. The command TalkToSpeakerCommand with this Data is implemented in the Smart Client. More...
 
class  VideoWallApplyXmlCommandData
 Contains information for what to change on a video wall. The listed devices (cameras) are removed from the monitor. More...
 
class  VideoWallIndicationData
 Contains description of a change on a video wall. More...
 
class  VideoWallRemoveCamerasCommandData
 Contains information for what to change on a video wall. More...
 
class  VideoWallSetCamerasCommandData
 Contains information for what to change on a video wall. More...
 
class  VideoWallSetLayoutAndCamerasCommandData
 Contains information for what to change on a video wall. More...
 
class  VideoWallSetLayoutCommandData
 Contains information for what to change on a video wall. More...
 
class  VideoWallShowTextCommandData
 Contains information for what to change on the Video Wall. More...
 
class  ViewItemControlCommandData
 A set of const strings to defined available values for the ViewItemControlCommand message. More...
 
class  ViewItemInformation
 Contains description of one ViewItem.
The class is used by the VideoWallIndicationData class to inform about VideoWall View changes. More...
 
class  WindowFilter
 This class can be used to filter messages, so only relevant messages from a window is received. More...
 
class  WindowStateChangedIndicationData
 A set of const strings to define available values for the WindowStateChangedIndication message. More...
 

Enumerations

enum  ChangeType { Added , Updated , Deleted }
 Indicate what type of change has been performed. More...
 
enum  ClientState {
  Connecting , ReconnectingWithSession , ReconnectingWithoutSession , Closing ,
  Connected , Closed
}
 Messages (through WebSockets) is a BETA API. Future releases might break backwards compatibility of the API and the clients. More...
 
enum  EndPointType { Server = 1 , Client = 2 , Any = 99 }
 Defines the possible EndPointType's available. More...
 
enum  PlaybackSkipModeData { Noskip , Skip , StopAtSequenceEnd }
 The PlaybackSkipMode instruct the PlaybackController what to do when reaching a gap in the video.
More...
 
enum  PtzErrorDetail {
  None = 0 , DeviceNotFound = 1 , DeviceNotReady = 2 , PtzNotSupported = 10 ,
  PresetNotSupported = 11 , PtzRequestPriorityTooLow = 20 , PtzRequestQueueTooLong = 21 , PtzSessionNoneActive = 30 ,
  PtzSessionNotActive = 31 , PtzSessionAlreadyStarted = 32 , PtzSessionNotRunning = 33 , PatrollingNoSession = 40 ,
  PatrollingResumedWhileNotPaused = 41 , PatrollingSessionAttemptedReleased = 42 , PatrollingSessionHasHigherPriority = 43 , PatrollingSchemaNotFound = 50 ,
  InsufficientPermission = 60 , AlreadyReserved = 70 , PtzSessionIsReserved = 80 , OtherUserManualSessionAttemptedReleased = 90
}
 
enum  RecorderWebInterfaceErrorCode {
  None = 0 , GeneralError = 10000 , SoapVersionMismatchError = 10001 , InvalidSoapError = 10002 ,
  UnknownSoapVersionError = 10003 , TokenError = 20001 , MediaNotReady = 30001 , MethodHandlingError = 40000 ,
  PtzError = 40295
}
 Error codes for SOAP and web connection interfaces. More...
 
enum  SmartClientMessageDataPriority { High , Normal , Low }
 The priority of the message. Used by SmartClientMessageData. The content is currently not used by the Smart Client. More...
 
enum  SmartClientMessageDataTaskState {
  Pending , Running , Complete , Canceled ,
  Failed
}
 The state of a job. Used by SmartClientMessageData.
The content is used control the visual appearance of the task progress in the Smart Client. More...
 
enum  SmartClientMessageDataType {
  None , Warning , Error , Task ,
  Confirmation
}
 The type of the message. Used by SmartClientMessageData.
The content is used to show an icon beside the message. More...
 

Functions

delegate void ConnectionStateChangedEventHandler (object sender, ConnectionStateChangedEventArgs connectionStateChangedEventArgs)
 The handler called by the ConnectionStateChangedEvent.
 
delegate Task MessageReceiverAsync (IMessageReceiverArgs message)
 Messages (through WebSockets) is a BETA API. Future releases might break backwards compatibility of the API and the clients.
 

Detailed Description

Messaging namespace contains the classes for working with messages: Message MessageId and MessageFilter related classes and const definitions.

Enumeration Type Documentation

◆ ChangeType

Indicate what type of change has been performed.

Enumerator
Added 
Updated 
Deleted 

◆ ClientState

Messages (through WebSockets) is a BETA API. Future releases might break backwards compatibility of the API and the clients.

Represents the state of the IMessageClient. Publishing and subscribing is only possible in the ClientState.Connected state.

Enumerator
Connecting 

The client start procedure has begun, but the connection is not yet established.

ReconnectingWithSession 

The connection has been lost and the client is trying to start it again, recovering the existing session without message loss.

ReconnectingWithoutSession 

The connection has been lost and the client is trying to start it again, but the previous session could not be recovered and messages might have been lost.

Closing 

The client stop procedure has begun, but the connection is not yet closed.

Connected 

The client is connected.

The status might appear as connected until a network error is detected.

Closed 

The client is closed.

◆ EndPointType

Defines the possible EndPointType's available.

Enumerator
Server 

Identify the Event Server communication instance.

Client 

Identify all other MIP Environments than the Event Server, e.g. Smart Clients, .Net MIP Library, Administrators.

Any 

Used for listening to messages, where messages from any source is relevant.

◆ PlaybackSkipModeData

The PlaybackSkipMode instruct the PlaybackController what to do when reaching a gap in the video.

Enumerator
Noskip 

Just continue at same speed and direction.

Skip 

Skip to next recorded frame on any of the attached ImageViewers.

StopAtSequenceEnd 

Stop playback at last frame.

◆ PtzErrorDetail

Enumerator
None 
DeviceNotFound 

Occurs when the device is not configured/loaded on the recording server.

DeviceNotReady 

Occurs when the device is not started or connection broken.

PtzNotSupported 

Occurs when the device does not support PTZ.

PresetNotSupported 

Occurs when the device does not support presets.

PtzRequestPriorityTooLow 

Occurs when the PTZ request is rejected because the PTZ request has lower priority than the current active ptz session priority.

PtzRequestQueueTooLong 

Occurs when the request is rejected because too many requests for the device has been queued.

PtzSessionNoneActive 

Occurs if trying to execute a PTZ request with having an active session.

PtzSessionNotActive 

Occurs if the session executing the request is not the currently active session.

PtzSessionAlreadyStarted 

Occurs when trying to start a PTZ session that is already started.

PtzSessionNotRunning 

Occurs when trying to pause a PTZ session that is not running (paused or stopped).

PatrollingNoSession 

Occurs when trying to pause a patrolling when there is no active patrolling session.

PatrollingResumedWhileNotPaused 

Occurs when trying to resume patrolling for session that is not paused.

PatrollingSessionAttemptedReleased 

Occurs when trying to release a patrolling session.

PatrollingSessionHasHigherPriority 

Occurs when the PTZ request is rejected because the PTZ request has lower priority than the current active patrolling session priority.

PatrollingSchemaNotFound 

Occurs when trying to start patrolling with a patrolling profile that doesn't exist.

InsufficientPermission 

Occurs when trying to release a PTZ session with insufficient permissions.

AlreadyReserved 

Occurs when trying to take exclusive session when you already have exclusive session.

PtzSessionIsReserved 

Occurs when the PTZ request is rejected because the current active ptz session is exclusive.

OtherUserManualSessionAttemptedReleased 

Occurs when release request is rejected because the current active ptz session is for another user.

◆ RecorderWebInterfaceErrorCode

Error codes for SOAP and web connection interfaces.

Enumerator
None 
GeneralError 

General communication error.

SoapVersionMismatchError 

SOAP version is not supported.

InvalidSoapError 

SOAP message is invalid.

UnknownSoapVersionError 

SOAP version could not be recognized.

TokenError 

There is a problem with the specified security token.

MediaNotReady 

Not ready to deliver media or media information.

MethodHandlingError 

An error occurred while executing this method.

PtzError 

A PTZ error occurred.

◆ SmartClientMessageDataPriority

The priority of the message. Used by SmartClientMessageData. The content is currently not used by the Smart Client.

Enumerator
High 
Normal 
Low 

◆ SmartClientMessageDataTaskState

The state of a job. Used by SmartClientMessageData.
The content is used control the visual appearance of the task progress in the Smart Client.

Enumerator
Pending 
Running 
Complete 
Canceled 
Failed 

◆ SmartClientMessageDataType

The type of the message. Used by SmartClientMessageData.
The content is used to show an icon beside the message.

Enumerator
None 
Warning 
Error 
Task 
Confirmation 

Function Documentation

◆ ConnectionStateChangedEventHandler()

delegate void VideoOS.Platform.Messaging.ConnectionStateChangedEventHandler ( object sender,
ConnectionStateChangedEventArgs connectionStateChangedEventArgs )

The handler called by the ConnectionStateChangedEvent.

Parameters
sender
connectionStateChangedEventArgs

◆ MessageReceiverAsync()

delegate Task VideoOS.Platform.Messaging.MessageReceiverAsync ( IMessageReceiverArgs message)

Messages (through WebSockets) is a BETA API. Future releases might break backwards compatibility of the API and the clients.

A message receiver, attached to a topic subscription.