CmdMessenger  3.0
CmdMessenger is a serial port messaging library for the .Net / Mono Platform.
Public Member Functions | Public Attributes | Protected Member Functions | Properties
CommandMessenger.CmdMessenger Class Reference

Command messenger main class. More...

Inheritance diagram for CommandMessenger.CmdMessenger:
CommandMessenger.DisposableObject

List of all members.

Public Member Functions

delegate void MessengerCallbackFunction (ReceivedCommand receivedCommand)
 Definition of the messenger callback function.
 CmdMessenger (ITransport transport)
 Constructor.
 CmdMessenger (ITransport transport, char fieldSeparator)
 Constructor.
 CmdMessenger (ITransport transport, char fieldSeparator, char commandSeparator)
 Constructor.
 CmdMessenger (ITransport transport, char fieldSeparator, char commandSeparator, char escapeCharacter)
 Constructor.
void SetSingleCore ()
void SetControlToInvokeOn (Control controlToInvokeOn)
 Sets a control to invoke on.
bool StopListening ()
 Stop listening and end serial port connection.
bool StartListening ()
 Starts serial port connection and start listening.
void Attach (MessengerCallbackFunction newFunction)
 Attaches default callback for unsupported commands.
void Attach (int messageId, MessengerCallbackFunction newFunction)
 Attaches default callback for certain Message ID.
void HandleMessage (ReceivedCommand receivedCommand)
 Handle message.
ReceivedCommand SendCommand (SendCommand sendCommand)
 Sends a command. If no command acknowledge is requested, the command will be send asynchronously: it will be put on the top of the send queue If a command acknowledge is requested, the command will be send synchronously: the program will block until the acknowledge command has been received or the timeout has expired.
ReceivedCommand SendCommand (SendCommand sendCommand, ClearQueue clearQueueState)
 Sends a command. If no command acknowledge is requested, the command will be send asynchronously: it will be put on the top of the send queue If a command acknowledge is requested, the command will be send synchronously: the program will block until the acknowledge command has been received or the timeout has expired. Based on ClearQueueState, the send- and receive-queues are left intact or are cleared.
ReceivedCommand ExecuteSendCommand (SendCommand sendCommand, ClearQueue clearQueueState)
 Directly executes the send command operation.
void QueueCommand (SendCommand sendCommand)
 Put the command at the back of the sent queue.
void QueueCommand (CommandStrategy commandStrategy)
 Put a command wrapped in a strategy at the back of the sent queue.
void AddReceiveCommandStrategy (GeneralStrategy generalStrategy)
 Adds a general command strategy to the receive queue. This will be executed on every enqueued and dequeued command.
void AddSendCommandStrategy (GeneralStrategy generalStrategy)
 Adds a general command strategy to the send queue. This will be executed on every enqueued and dequeued command.
void ClearReceiveQueue ()
 Clears the receive queue.
void ClearSendQueue ()
 Clears the send queue.

Public Attributes

EventHandler NewLinesReceived
EventHandler NewLineReceived
EventHandler NewLineSent

Protected Member Functions

override void Dispose (bool disposing)
 Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

Properties

bool PrintLfCr [get, set]
 Gets or sets a whether to print a line feed carriage return after each command.
String CurrentReceivedLine [get, set]
 Gets or sets the current received command line.
ReceivedCommand CurrentReceivedCommand [get, set]
 Gets or sets the current received command.
String CurrentSentLine [get, set]
 Gets or sets the currently sent line.
String LogFileReceiveCommands [get, set]
 Gets or sets the log file of send commands.
long LastLineTimeStamp [get, set]
 Gets or sets the time stamp of the last command line received.

Detailed Description

Command messenger main class.


Constructor & Destructor Documentation

Constructor.

Parameters:
transportThe transport layer.
CommandMessenger.CmdMessenger.CmdMessenger ( ITransport  transport,
char  fieldSeparator 
)

Constructor.

Parameters:
transportThe transport layer.
fieldSeparatorThe field separator.
CommandMessenger.CmdMessenger.CmdMessenger ( ITransport  transport,
char  fieldSeparator,
char  commandSeparator 
)

Constructor.

Parameters:
transportThe transport layer.
fieldSeparatorThe field separator.
commandSeparatorThe command separator.
CommandMessenger.CmdMessenger.CmdMessenger ( ITransport  transport,
char  fieldSeparator,
char  commandSeparator,
char  escapeCharacter 
)

Constructor.

Parameters:
transportThe transport layer.
fieldSeparatorThe field separator.
commandSeparatorThe command separator.
escapeCharacterThe escape character.

Member Function Documentation

Adds a general command strategy to the receive queue. This will be executed on every enqueued and dequeued command.

Parameters:
generalStrategyThe general strategy for the receive queue.

Adds a general command strategy to the send queue. This will be executed on every enqueued and dequeued command.

Parameters:
generalStrategyThe general strategy for the send queue.

Attaches default callback for unsupported commands.

Parameters:
newFunctionThe callback function.
void CommandMessenger.CmdMessenger.Attach ( int  messageId,
MessengerCallbackFunction  newFunction 
)

Attaches default callback for certain Message ID.

Parameters:
messageIdCommand ID.
newFunctionThe callback function.

Clears the receive queue.

Clears the send queue.

override void CommandMessenger.CmdMessenger.Dispose ( bool  disposing) [protected, virtual]

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

Parameters:
disposingtrue if resources should be disposed, false if not.

Reimplemented from CommandMessenger.DisposableObject.

ReceivedCommand CommandMessenger.CmdMessenger.ExecuteSendCommand ( SendCommand  sendCommand,
ClearQueue  clearQueueState 
)

Directly executes the send command operation.

Parameters:
sendCommandThe command to sent.
clearQueueStateProperty to optionally clear the send and receive queues.
Returns:
A received command. The received command will only be valid if the ReqAc of the command is true.

Handle message.

Parameters:
receivedCommandThe received command.

Definition of the messenger callback function.

Parameters:
receivedCommandThe received command.

Put the command at the back of the sent queue.

Parameters:
sendCommandThe command to sent.

Put a command wrapped in a strategy at the back of the sent queue.

Parameters:
commandStrategyThe command strategy.

Sends a command. If no command acknowledge is requested, the command will be send asynchronously: it will be put on the top of the send queue If a command acknowledge is requested, the command will be send synchronously: the program will block until the acknowledge command has been received or the timeout has expired.

Parameters:
sendCommandThe command to sent.
ReceivedCommand CommandMessenger.CmdMessenger.SendCommand ( SendCommand  sendCommand,
ClearQueue  clearQueueState 
)

Sends a command. If no command acknowledge is requested, the command will be send asynchronously: it will be put on the top of the send queue If a command acknowledge is requested, the command will be send synchronously: the program will block until the acknowledge command has been received or the timeout has expired. Based on ClearQueueState, the send- and receive-queues are left intact or are cleared.

Parameters:
sendCommandThe command to sent.
clearQueueStateProperty to optionally clear the send and receive queues
Returns:
A received command. The received command will only be valid if the ReqAc of the command is true.
void CommandMessenger.CmdMessenger.SetControlToInvokeOn ( Control  controlToInvokeOn)

Sets a control to invoke on.

Parameters:
controlToInvokeOnThe control to invoke on.

Starts serial port connection and start listening.

Returns:
true if it succeeds, false if it fails.

Stop listening and end serial port connection.

Returns:
true if it succeeds, false if it fails.

Property Documentation

Gets or sets the current received command.

The current received command.

Gets or sets the current received command line.

The current received line.

Gets or sets the currently sent line.

The currently sent line.

Gets or sets the time stamp of the last command line received.

The last line time stamp.

Gets or sets the log file of send commands.

The logfile name for send commands.

Gets or sets the log file of receive commands.

The logfile name for receive commands.

Gets or sets a whether to print a line feed carriage return after each command.

true if print line feed carriage return, false if not.


The documentation for this class was generated from the following file: