You are on page 1of 8

Techical Report ECE.P54.2004.

8
July 20, 2004

The Scanner Application for the Mobile Project54 Software System


Kriste Krstovski
Introduction
The Scanner Application is a new feature of the Mobile Project54 Software System [1]
that integrates the Driver's License Scanner Pocket PC Application [2] into the Project54
Software System thus allowing the Project54 Records Application [3] and other Project54
applications to utilize automatic retrieval of driver license data. This document describes the way
integration was accomplished as well as how the Records Application uses the Scanner
Application to automatically fill drivers data fields in its records check windows. In addition a
brief description of the Scanner Application GUI is given. Since the Mobile Project54 System
Software is a Windows CE implementation of the Project54 Software System the reader should
find the terms Project54 and Mobile Project54 identical.

Creating the Scanner Application


In Version 2 of the Project54 Software System, applications use the GUI component to
create a Graphical User Interface (GUI) [4]. Each applications GUI is created with the same
window model and uses an instance of the system message handle procedure provided by the
GUI component to handle system messages targeted for the specific window. This means that the
system messages that an application can handle are predefined by the GUI component. Consider
the case when we want to integrate a new application into the Project54 Software System that

1
will handle new types of system messages and will use the GUI component to create its own
GUI.
There are two ways that one can do this. The first is to modify the GUI component so that
the window procedure will handle messages required by the particular application. This is not a
good programming practice since the GUI component instantiates a window procedure for every
application. Thus, every application will be able to handle those types of messages. In addition,
that will lead to an overhead in the overall Project54 Software System code. This can be an
important issue since the applications runs in a Windows CE environment.
The second is to create a child window that will run under the existing application
window created by the GUI component. This child window will service the additional messages
that the new application wants to handle. This was done in the case of integrating the Driver's
License Scanner Pocket PC Application into the Mobile Project54 System Software.
The structure of the new Scanner Application as part of the Project54 Software System is
shown in Figure 1.

Figure 1 Scanner Application as part of the Project54 Software System

2
The Scanner Application has the same interfaces as the other Project54 System Software
applications have (depicted by the Records Application block). The Scanner Application
interacts with the rest of the Project54 System Software through its message thread and it creates
its GUI window by utilizing the GUI Component as the other applications do.
The child window created as part of the Scanner Application hosts the portion of the
Driver's License Scanner Pocket PC Application message handler procedure that services the
messages specific to the In-Hand Scan Card Reader (IHSCR). The Scanner Application is loaded
when the Project54 Application Manager [5] is executed. Loading the Scanner Application
initializes the IHSCR through the Scanner Application child window. Once the IHSCR is
initialized the Scanner Application controls the IHSCR by posting system messages to the child
window. There are two types of messages that the Scanner Application sends to the child
window. These messages along with their description are listed in Table 1.
Message
TRIGGER_SCANNER
CLOSE_SCANNER

Message Description
Triggers the IHSCR
Deinitilizes the IHSCR

Table 1 - Messages being send to the Scanner Application Child Window

The TRIGGER_SCANNER message is posted in response to the SCAN button being


pressed or a TRIGGER message being received from another application through the
Project54 Version 2 Messaging facility [6]. CLOSE_SCANNER deinitializes the IHSCR and
is being posted as part of the Scanner application closing procedure.

3
Project54 Scanner/Records Application messaging
The Scanner application enables other applications, which are part of the Mobile
Project54 System Software, to utilize the functionality of the IHSCE. Messaging between the
Scanner application and the rest of the Mobile Project54 Software System applications is done
through the Version 2 Project54 Application Messaging facility [6]. This is depicted in Figure 1
where both applications, the Scanner and the Records Application, are connected with the
Application Manager which is the actual host of the Project54 Application Messaging facility
[6]. Described in this document is the messaging between the Scanner Application and the
Records Application.
The Records Application can trigger scanning through two of its records check windows,
Oper.OLN and Oper.Name. Both of these windows have the SCAN button created as part
of their GUI as shown in Figure 2.

Figure 2 - GUI of the Oper.OLN and OPER.Name Records Application Windows

When the SCAN button is pressed the Records Application sends a TRIGGER
command to the Scanner application. Shown in Table 2 is the actual message being sent by the
Oper. OLN Records application window.
3

Source
Records

Destination
Scanner

Message ID
OLN

Message Body
TRIGGER

Table 2 Format of the Message being sent by the Oper.OLN window.

Included in the message is the name of the Records Application window that requested a
scan event. When utilizing the IHSCR the application can use the ID field as a tag to specify
what part of the application requested the scan event. The Scanner Application makes use of this
information to send the appropriate drivers license data back. For example, when triggered by
the Oper.OLN window the Scanner Application responds by sending two messages. Both of
these messages use the ID field of the message to tag the destination part of the application that
requested the scan event and the type of driver license data being sent back. The returned
message ID is constructed by taking the ID field of the received message and appending the
appropriate Bar Code ID of the driver license data specified in the American Association for
Motor Vehicle Administrators (AAMVA) National Standard for Driver License Identification
cards [7] . Shown in Table 3 are the actual messages sent by the Scanner application in response
to a TRIGGER message received by the Oper.OLN Records application window.
Source
Scanner
Scanner

Destination
Records
Records

Message ID
OLNDAQ
OLNDAJ

Message Body
Drivers License Number
Drivers License State

Table 3 List of messages being sent by the Scanner Application to the Oper.OLN window

When received by the Records Application, the message ID is examined and the
appropriate edit box window is filled. In the case of the Oper.OLN window requesting scan
event the driver license data in the first message retrieved is displayed in the OLN/ edit box

5
window. The second message is to be displayed in the LIS/ edit box window which is used for
receiving the Drivers License State data.
When triggered by the Oper.NAME Records Application window the Scanner
Application responds with four messages each of which contains the appropriate drivers data for
the six edit box windows required when performing Operator by Name records checks. Shown in
Table 4 is a list of messages being sent by the Scanner Application to the Oper.NAME
Records application window.

Source
Scanner
Scanner
Scanner
Scanner

Destination
Records
Records
Records
Records

Message ID
NAMEDAA
NAMEDBB
NAMEDBC
NAMEDAJ

Message Body
Driver License Name
Drivers Date of Birth
Drivers Gender
Drivers License State

Table 4 List of Messages being sent by the Scanner Application to the Oper.NAME window

The Scanner Application provides the Oper.NAME Records Application window with
the complete driver license name which is then used to automatically fill the First/, Middle/
and Last/ edit box windows.

Scanner Application GUI


The Scanner Application GUI is created with the methods provided by GUI component
of Version 2 Project54 System Software. It is used to view the status and to test the functionality
of the IHSCR. The Scanner GUI contains a read-only text box window, the Main Screen and
the SCAN button. The text box window is used for displaying scanner status messages as well
as driver license data obtained from scanning the driver license. Pressing the Main Screen
button displays the Main Screen application GUI. Triggering the IHSCR is done through the
5

6
SCAN button. Shown in Figure 3 is a snapshot of the Scanner GUI running on a Pocket PC
2003 Personal Digital Assistant (PDA).

Figure 3 Scanner Application GUI

Conclusion
The Scanner Application enables automatic retrieval of driver license data by any
Project54 System Software application by means of scanning PDF417 bar codes. The Scanner
Application responds to scanning requests by other applications by sending a specific list of
messages each of which contains a particular driver license data. The list of messages being sent
is based on the name of the calling application and its destination window. In the first version of
the Scanner Application this list is part of the application code since the current version of the
Mobile Project54 System Software has the Records Application as the only application capable
of using the driver license data. As the Mobile Project54 System Software is enhanced and new
futures are added (for example a Citation Application) the Scanner Application can be modified
so that the list of messages being sent to the calling application can be customized using the
Project54 Registry Library [4]. Future developers of the Project54 Software System can find this
paper a useful resource as to how Project54 applications can service new types of messages

7
without modifying the uniformity of the Project54 Software System applications governed by the
GUI component.

References
[1] Miller, W. T., Pelhe, A., and Kun, A. L. "Project54 System Software Architecture Version 2". ECE.P54.2003.9. May 6,2003. University of New Hampshire, Consolidated
Advanced Technologies for Law Enforcement Laboratories (CATLAB)- Project54.
[2] Krstovski, K. "Driver's License Scanner Pocket PC Application". ECE.P54.2004.5.
February 26,2004. University of New Hampshire, Consolidated Advanced Technologies
for Law Enforcement Laboratories (CATLAB)- Project54.
[3] Pelhe, A. "The Project54 Records Application". ECE.P54.2002.4. January 11,2004.
University of New Hampshire, Consolidated Advanced Technologies for Law
Enforcement Laboratories (CATLAB)- Project54.
[4] Pelhe, Albert, "One-to-One Communication between Objects in the Project54 System
Software." Master of Science in Electrical Engineering, University of New Hampshire,
2003.
[5] Miller, W. T. "Project54 Application Manager Messaging". ECE.P54.2003.2. March
23,2003. University of New Hampshire, Consolidated Advanced Technologies for Law
Enforcement Laboratories (CATLAB)- Project54.
[6] Miller, W. T. "Project54 Client/Server Application Messaging". ECE.P54.2003.3. March
24,2003. University of New Hampshire, Consolidated Advanced Technologies for Law
Enforcement Laboratories (CATLAB)- Project54.
[7] American Association of Motor Vehicle Administrators (AAMVA)/AAMVAnet.
"AAMVA National Standard for the Driver License/Identification Card-AAMVA
DL/ID-2000". June 30,2000.

You might also like