CmdMessenger  3.0
CmdMessenger is a serial port messaging library for the .Net / Mono Platform.
Public Member Functions | Protected Member Functions | Properties | Events
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, int sendBufferMaxLength)
 Constructor.
 CmdMessenger (ITransport transport, char fieldSeparator)
 Constructor.
 CmdMessenger (ITransport transport, char fieldSeparator, int sendBufferMaxLength)
 Constructor.
 CmdMessenger (ITransport transport, char fieldSeparator, char commandSeparator)
 Constructor.
 CmdMessenger (ITransport transport, char fieldSeparator, char commandSeparator, char escapeCharacter, int sendBufferMaxLength)
 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, SendQueue sendQueueState, ReceiveQueue receiveQueueState)
 Sends a command.
ReceivedCommand SendCommand (SendCommand sendCommand, SendQueue sendQueueState, ReceiveQueue receiveQueueState, UseQueue useQueue)
 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 SendCommandSync (SendCommand sendCommand, SendQueue sendQueueState)
 Synchronized send a command.
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.

Protected Member Functions

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

Properties

BoardType BoardType [get, set]
 Embedded Processor type. Needed to translate variables between sides.
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.
long LastLineTimeStamp [get, set]
 Gets or sets the time stamp of the last command line received.

Events

NewLineEvent.NewLineHandler NewLineReceived
NewLineEvent.NewLineHandler NewLineSent

Detailed Description

Command messenger main class.


Constructor & Destructor Documentation

Constructor.

Parameters:
transportThe transport layer.
CommandMessenger.CmdMessenger.CmdMessenger ( ITransport  transport,
int  sendBufferMaxLength 
)

Constructor.

Parameters:
transportThe transport layer.
sendBufferMaxLengthThe maximum size of the send buffer
CommandMessenger.CmdMessenger.CmdMessenger ( ITransport  transport,
char  fieldSeparator 
)

Constructor.

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

Constructor.

Parameters:
transportThe transport layer.
fieldSeparatorThe field separator.
sendBufferMaxLengthThe maximunm size of the send buffer
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,
int  sendBufferMaxLength 
)

Constructor.

Parameters:
transportThe transport layer.
fieldSeparatorThe field separator.
commandSeparatorThe command separator.
escapeCharacterThe escape character.
sendBufferMaxLengthThe maximunm size of the send buffer

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.

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,
SendQueue  sendQueueState,
ReceiveQueue  receiveQueueState 
)

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.
sendQueueStateProperty to optionally clear/wait the send queue
receiveQueueStateProperty to optionally clear/wait the send queue
Returns:
A received command. The received command will only be valid if the ReqAc of the command is true.
ReceivedCommand CommandMessenger.CmdMessenger.SendCommand ( SendCommand  sendCommand,
SendQueue  sendQueueState,
ReceiveQueue  receiveQueueState,
UseQueue  useQueue 
)

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.
sendQueueStateProperty to optionally clear/wait the send queue
receiveQueueStateProperty to optionally clear/wait the send queue
useQueueProperty to optionally bypass the queue
Returns:
A received command. The received command will only be valid if the ReqAc of the command is true.
ReceivedCommand CommandMessenger.CmdMessenger.SendCommandSync ( SendCommand  sendCommand,
SendQueue  sendQueueState 
)

Synchronized send a command.

Parameters:
sendCommandThe command to sent.
sendQueueStateProperty to optionally clear/wait the send queue.
Returns:
.
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

Embedded Processor type. Needed to translate variables between sides.

The current received line.

Gets or sets the current received command line.

The current received line.

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

The last line time stamp.

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: