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:
Message | Description |
---|---|
ClearBrowserCookiesMessage | clears the message regarding browser cookies |
ClientAcceptedMessage | confirmation message. NB: Additional details are below. |
CloseHookMessage | (internal use) close the mouse hook |
CloseOperatorWindowMessage | (internal use) close the currently opened operator window |
GetPageDataMessage | get 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 |
LoadResourcesMessage | response to load resources |
MirroringScreenBlackOutMessage | response to SetMirroringScreenBlackMessage |
OpenDocumentPageMessage | open a document on the tablet display |
OpenIdleMessage | open Idle view on the tablet display |
OpenPdfMessage | open a PDF file from a url or local file on the tablet display |
OpenSignatureMessage | open the signature view on the tablet |
OpenWebMessage | open Web view on the tablet |
OpenWindowMessage | (internal use) open Window view on the tablet |
SelectAcroFieldMessage | Scroll to and activate a specified Acro field |
SetDocumentZoomMessage | Set the zoom factor within Document view |
SetElementEnabledMessage | set tablet view's button state to enabled/disabled |
SetElementValueMessage | set the value of an element |
SetMirroringScreenBlackMessage | set on/off black screen while mirroring on the operator screen (privacy) |
StartMirroringMessage | start mirroring on the operator screen |
StopMirroringMessage | stop mirroring on the operator screen |
ToggleMirroringMessage | toggle mirroring on/off |
UpdateConfigurationMessage | update application configuration - updates client tray app configuration |
UpdateIdleMediaMessage | update media xfiles |
UpdateKeyboardLayoutMessage | update the keyboard layout for the virtual keyboard on the tablet |
UpdateThumbnailsMessage | update Thumbnails in the document view runtime |
UpdateXAMLDefinitionMessage | update XAML definition for document view on the tablet (update default definition) |
ClientAcceptedMessage
NB: Version 2 of the Wacom Ink SDK for multi-display deprecated the method
WithCertificate
. Instead, the new methodWithPublicKey
has been added to replace it.
Client-Server messages
Client-Server messages are responses sent by the Client tray app to the Server application for processing:
Message | Description |
---|---|
ApplicationExitMessage | sent when the client tray application is closed |
ButtonClickedMessage | sent on button clicked on the display tablet |
ErrorTabletMessage | sent on client application error |
InitializeConnectionMessage | sent when client application connection established with the server |
InputChangedMessage | sent when document control input changed |
NotLicensedMessage | sent when no valid license detected for operation |
OperationFailedMessage | sent as feedback to a request (Failed or Success) |
OperationSuccessMessage | sent as feedback to a request (Success or Failed) |
PageDataMessage | Document page data message |
SignatureAcceptedMessage | sent on accepting signature in the signature view |
SignatureCancelledMessage | sent on cancelling the signature process in the signature view |
SignatureClickedMessage | sent when clicked a signature control on document display |
ThumbnailClickedMessage | sent 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.