Skip to main content

Introduction

The system is based on an exchange of messages between the Server and Client applications. The Client application is installed as a Windows tray application while the integrator creates the Server application. The Server controls the operation by sending request messages to the Client and then processes messages received in response.

The messages used in the system are listed below.

Server-Client messages

Server-Client messages are sent from the server to the client tray app:

MessageDescription
ClearBrowserCookiesMessageclears the message regarding browser cookies
ClientAcceptedMessageconfirmation message
CloseHookMessage(internal use) close the mouse hook
CloseOperatorWindowMessage(internal use) close the currently opened operator window
GetPageDataMessageget the document page data input (get all acrofield names & values)
InitializeTabletUIMessage(internal use) initialize tablet UI
InitializeThumbnailsMessage(internal use) initialize the thumbnails inside document view
LoadResourcesMessageresponse to load resources
MirroringScreenBlackOutMessageresponse to SetMirroringScreenBlackMessage
OpenDocumentPageMessageopen a document on the tablet display
OpenIdleMessageopen Idle view on the tablet display
OpenPdfMessageopen a PDF file from a url or local file on the tablet display
OpenSignatureMessageopen the signature view on the tablet
OpenWebMessageopen Web view on the tablet
OpenWindowMessage(internal use) open Window view on the tablet
SelectAcroFieldMessageScroll to and activate a specified Acro field
SetDocumentZoomMessageSet the zoom factor within Document view
SetElementEnabledMessageset tablet view's button state to enabled/disabled
SetElementValueMessageset the value of an element
SetMirroringScreenBlackMessageset on/off black screen while mirroring on the operator screen (privacy)
StartMirroringMessagestart mirroring on the operator screen
StopMirroringMessagestop mirroring on the operator screen
ToggleMirroringMessagetoggle mirroring on/off
UpdateConfigurationMessageupdate application configuration - updates client tray app configuration
UpdateIdleMediaMessageupdate media xfiles
UpdateKeyboardLayoutMessageupdate the keyboard layout for the virtual keyboard on the tablet
UpdateThumbnailsMessageupdate Thumbnails in the document view runtime
UpdateXAMLDefinitionMessageupdate XAML definition for document view on the tablet (update default definition)

Client-Server messages

Client-Server messages are responses sent by the Client tray app to the Server application for processing:

MessageDescription
ApplicationExitMessagesent when the client tray application is closed
ButtonClickedMessagesent on button clicked on the display tablet
ErrorTabletMessagesent on client application error
InitializeConnectionMessagesent when client application connection established with the server
InputChangedMessagesent when document control input changed
NotLicensedMessagesent when no valid license detected for operation
OperationFailedMessagesent as feedback to a request (Failed or Success)
OperationSuccessMessagesent as feedback to a request (Success or Failed)
PageDataMessageDocument page data message
SignatureAcceptedMessagesent on accepting signature in the signature view
SignatureCancelledMessagesent on cancelling the signature process in the signature view
SignatureClickedMessagesent when clicked a signature control on document display
ThumbnailClickedMessagesent on thumbnail click

Implementation

The message classes are defined in the SDK and can be viewed in the object browser.

As an example see the message: OpenPDFMessage

The class is defined with public members which constitute the message data:

  • OpenPdfMessage - constructor
  • WithUrl - member

The style of the sample code chains the member functions to create a message in preparation for sending to the client tray app, for example:

SendMessage( new OpenPdfMessage(KioskServer.Sender)         // MQServer - connected TCP server
.WithUrl(textbox_pdf_file_path.Text) // file pathname or URL
.Build() // convert to generic kiosk message
.ToByteArray()); // prepare for TCP transfer

All messages sent to the Client tray app receive a success/fail response and a message handler is included, for example:

MessageHandlers.RegisterHandler(new MessageHandler<OperationFailedMessage>((msg) =>
{
AppendLog(msg.ToString());
}), logger);

MessageHandlers.RegisterHandler(new MessageHandler<OperationSuccessMessage>((msg) =>
{
AppendLog(msg.ToString());
}), logger);

Additional message handlers will be required depending on the function requested.