Georgia SoftWorks

GSWBrowse for Windows RF Devices

Industrial Browser for RF Devices

 

 

User Manual


THIS PAGE INTENTIONALLY LEFT BLANK


Georgia SoftWorks

GSWBrowse Web Client

 

 

 

 

Copyright ã 1997-2007, Georgia SoftWorks, All Rights Reserved

Public Square

17 Hwy 9 South • PO Box 729

Dawsonville Georgia 30534

Telephone 706.265.1018 • Fax 706.265.1020

Visit GSW Web Site


Copyright © Georgia SoftWorks, 1997-2008 All Rights Reserved.

User's Manual, Version 1.07.0003, Mar 03, 2008,

Microsoft, Windows, Windows CE, Windows XP, Windows 2000, Windows 2003. VISTA,  Windows NT, Windows 98, Windows 95 are trademarks of Microsoft Corporation. SAP, SAPConsole are trademarks of SAP AG.  LXE, is a trademark of LXE

.

THIS PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

LICENSOR MAKES NO WARRANTIES OR REPRESENTATIONS, EXPRESSED OR IMPLIED, ORAL OR WRITTEN, REGARDING THE PROGRAM OR DOCUMENTATION AND HEREBY EXPRESSLY DISCLAIMS ALL OTHER EXPRESSED OR IMPLIED WARRANTIES, INCLUDING MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. LICENSOR DOES NOT WARRANT THE PROGRAM WILL MEET YOUR REQUIREMENTS OR THAT IT’S OPERATION WILL BE UNITERRUPTED OR ERROR FREE.

IN NO EVENT WILL GEORGIA SOFTWORKS BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING ANY LOST PROFITS, LOST SAVINGS OR OTHER INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE SUCH PROGRAMS.

COPYING:

WHILE YOU ARE PERMITTED TO MAKE BACKUP COPIES OF THE SOFTWARE FOR YOUR OWN USE AND PROTECTION, YOU ARE NOT PERMITTED TO MAKE COPIES FOR THE USE OF ANYONE ELSE.

LICENSE:

YOU ARE LICENSED TO RUN THIS SOFTWARE ON A SINGLE WINDOWS CE SYSTEM. THE GEORGIA SOFTWORKS GSWBROWSE SOFTWARE MAY BE INSTALLED ON A SINGLE WINDOWS CE SYSTEM

 


This Page Left Intentionally Blank
Table of Contents


Table of Tables. ix

Table of Examples. ix

Typographic Conventions. x

Features at a Glance.. xi

Overview... 1

Installation.. 3

Registration/Licensing.. 4

Individual (Local License) GSWBrowse Registration.. 5

Network (Multiple) Registration.. 8

Network Registration Setup. 10

GSWBrowse.txt 10

License Server 10

License Server Page. 11

License Server Port 11

License File URL. 11

Evaluation License.. 12

GSWBrowse Layout.. 14

GSWBROWSE – Menu Bar – File - Security Level.. 15

Security Mode Dialog. 16

Administrator Security Mode. 16

User Security Mode. 17

Lock Down. 17

GSWBROWSE – Menu Bar – Edit.. 19

Printer Configuration Overview.. 19

Local (Serial/Bluetooth/IrDA). 21

Network Printer. 22

GSWBROWSE – Menu Bar – View... 23

Licensing. 23

Set As Home Page. 23

Reset Home Page. 23

Enabled. 23

Multiple Browsers. 24

Browsers. 25

Bars. 26

UI Control – User Interface Control 28

Context Menus Overview.. 29

Context Menus. 29

Default Context Menu. 29

Image Context Menu. 29

Control Context Menu. 30

Table Context Menu. 30

Text Context Menu. 30

Anchor Context Menu. 30

Unknown Context Menu. 30

No Text Selection. 30

No 3D Border 31

No Scrollbars. 31

Dld Control – Download Control 32

Images. 32

Videos. 32

Sounds. 32

No Script Execution. 32

No Java Applets. 33

No Execution of ActiveX controls. 33

No Client Pull 33

No Frames download. 33

Force Offline. 33

Developers Guide.. 34

Overview... 34

GSW Action Codes. 34

window.external extensions. 35

In summary. 35

GSW HTML Meta Tags Overview... 36

Meta Tag Syntax. 37

Navigational Syntax.. 37

Anchor Tag. 38

HREF Property. 38

NAVIGATE Method. 40

Window External Syntax.. 41

Send Menu Commands Overview... 42

Developers Quick Reference.. 43

Hooking the Keyboard. 43

Battery. 43

Resume Device Operation after Suspension. 43

Timer-Based Actions. 43

Browser Navigation Error Handling. 43

Exit from Browser. 43

Controlling Input Panel (soft keyboard). 43

Date and Time. 44

Font Size. 44

Cursor Position. 44

Warm Boot and Soft Boot 44

RF Signal Strength. 44

Scanner Operation. 44

GSWBrowse Application Control 44

Printing (BlueTooth, IRDA, Network, Serial). 44

GSWBrowse about Information. 45

Persistent Storage. 45

Device Information. 45

Network Adapter Name. 45

Vibrating the Device (LXE Only). 45

Controlling the Taskbar. 45

Vendor API Version (LXE Only). 45

LXE SCANNER APIs. 46

GSWBrowse Interface Helper Object 47

Developers Detailed Reference.. 48

Scope / Syntax. 48

Developer Attention Boxes. 48

Hooking the Keyboard Detail.. 50

gswbrowse_ONKEY. 50

gswbrowse_ONALLKEYS. 52

gswbrowse_HOMEKEY. 54

Battery Information.. 55

gswbrowse_BATTERYNAVIGATE.. 55

gswbrowse_BATTERYTIMERINTERVAL. 58

window.external.device.batterystatus. 60

window.external.device.battery.status. 62

window.external.device.battery.statustext 63

window.external.device.battery.level 64

RF Signal Strength.. 65

gswbrowse_SIGNALNAVIGATE.. 65

window.external.device.rf.strength. 69

window.external.device.rf.status. 71

Resume After Suspension.. 73

gswbrowse_POWERON.. 73

Scanner Operation.. 75

gswbrowse_SCANNERNAVIGATE.. 75

Timer-based Actions. 77

gswbrowse_TIMERNAVIGATE.. 77

gswbrowse_TIMERINTERVAL. 79

Browser Navigation Errors. 81

gswbrowse_ERRORNAVIGATE.. 81

Exiting Browser.. 84

gswbrowse_COMMAND.. 84

gswbrowse_APPLICATION.. 85

Soft Input Panel (SIP) 86

gswbrowse_SIP.. 86

gswbrowse_SIPUP.. 88

gswbrowse_MOVESIP.. 90

Time and Date.. 92

gswbrowse_SETTIME.. 92

gswbrowse_SETDATE.. 93

Font Size Control.. 95

gswbrowse_FONTSIZE.. 95

Cursor Positioning.. 97

gswbrowse_CURSORPOS. 97

Rebooting Device – Warm/Soft.. 99

gswbrowse_REBOOT. 99

Send Menu Commands. 101

window.external.app.sendmenucommand. 101

Send Menu Symbolic Names and Literals. 104

Printing.. 107

gswbrowse_ZEBRALABEL_PRINT. 107

gswbrowse_ZEBRALABEL_COMPLETE.. 109

window.external.app.session(idx).printer.PrintString. 110

Browser and  Session Data.. 111

window.external.app.Session. 111

window.external.ThisSessionIndex. 113

window.external.app.ActiveSessionIndex. 114

window.external.app.session(idx).host 116

window.external.app.session(idx).port 118

window.external.app.session(idx).type. 120

window.external.app.session(idx).path. 122

window.external.app.session(idx).homepage. 124

window.external.app.version. 126

window.external.app.buildid. 127

window.external.app.name. 128

window.external.app.copyright 129

Persistent Storage.. 130

window.external.app.usertext 130

window.external.app.activesession. 131

Device Information.. 133

window.external.device.deviceid. 133

window.external.device.ipaddress. 134

window.external.device.macaddress. 135

window.external.device.platformid. 136

window.external.device.presetid. 137

window.external.device.serialnumber. 138

window.external.device.uuid. 139

Network Adapter.. 140

window.external.device.networkadaptername. 140

Vibrating the Device.. 141

window.external.device.vibrate. 141

Taskbar Control.. 142

window.external.device.settaskbarenabled. 142

window.external.device.settaskbarvisible. 143

window.external.device.setstartbuttonvisible. 144

window.external.device.setsipbuttonvisible. 145

Vendor API Version.. 146

window.external.device.apiversion. 146

LXE Device API’s. 147

window.external.device.scanner.lxescanner.LXEHASINTSCANNER.. 149

window.external.device.scanner.lxescanner.LXEHASINTRFID.. 150

window.external.device.scanner.lxescanner.LXESCANNERDISABLE.. 151

window.external.device.scanner.lxescanner.LXESCANNERENABLE.. 152

window.external.device.scanner.lxescanner.LXESCANNERINPUTDISABLE.. 153

window.external.device.scanner.lxescanner.LXESCANNERINPUTENABLE.. 154

window.external.device.scanner.lxescanner.LXESCANNERRESET. 155

window.external.device.scanner.lxescanner.LXESCANNERFORCEPOWER.. 156

window.external.device.scanner.lxescanner.LXESCANNERFORCESCAN.. 158

window.external.device.scanner.lxescanner.LXESCANNERSTART. 159

window.external.device.scanner.lxescanner.LXESCANNERSTOP.. 160

window.external.device.scanner.lxescanner.LXESCANNERGETSTATUS. 161

window.external.device.scanner.lxescanner.LXESCANNERGETDATA.. 162

window.external.device.scanner.lxescanner.LXESCANNERPUTDATA.. 164

window.external.device.scanner.lxescanner.LXESCANNERPOWERON.. 165

window.external.device.scanner.lxescanner.LXESCANNERPOWEROFF.. 166

window.external.device.scanner.lxescanner.LXESCANNERKEYSOFF.. 167

window.external.device.scanner.lxescanner.LXESCANNERKEYSON.. 168

window.external.device.scanner.lxescanner.LXESCANNERKEYSTATUS. 169

window.external.device.scanner.lxescanner.LXESCANNERATTACHPORT. 170

window.external.device.scanner.lxescanner.LXESCANNERSETKEY. 172

window.external.device.scanner.lxescanner.LXESCANNERSETSERIAL. 174

window.external.device.scanner.lxescanner.LXESCANNERSETPOWER.. 176

window.external.device.scanner.lxescanner.LXESCANNERSTRIPLEAD.. 178

window.external.device.scanner.lxescanner.LXESCANNERSTRIPTRAIL. 179

window.external.device.scanner.lxescanner.LXESCANNERCTRLCODEOFF.. 180

window.external.device.scanner.lxescanner.LXESCANNERCTRLCODEON.. 181

window.external.device.scanner.lxescanner.LXESCANNERPREFIX.. 182

window.external.device.scanner.lxescanner.LXESCANNERSUFFIX.. 183

window.external.device.scanner.lxescanner.LXESCANNEROPTION.. 184

window.external.device.scanner.lxescanner.LXESCANNERISOPTIONENABLED.. 186

window.external.device.scanner.lxescanner.LXESCANNERGETPARAM... 188

window.external.device.scanner.lxescanner.LXESCANNERSETPARAM... 190

window.external.device.scanner.lxescanner.LXESCANNERSYMSTRIPLEAD.. 192

window.external.device.scanner.lxescanner.LXESCANNERSYMSTRIPTRAIL. 194

window.external.device.scanner.lxescanner.LXESCANNERSYMPREFIX.. 196

window.external.device.scanner.lxescanner.LXESCANNERSYMSUFFIX.. 198

window.external.device.scanner.lxescanner.LXESCANNERSYMENABLE.. 200

window.external.device.scanner.lxescanner.LXESCANNERSYMISENABLED.. 202

window.external.device.scanner.lxescanner.LXESCANNERSYMGETCONFIG.. 204

window.external.device.scanner.lxescanner.LXESCANNERSYMSETCONFIG.. 206

window.external.device.scanner.lxescanner.LXESCANNERSYMREMOVE.. 208

GSW HELPER OBJECT.. 209

window.external.interface.CREATEPARAMETERBLOCK.. 212

Selected Samples from CD.. 216

Batt_NAV.htm.. 216

DATETIME.htm.. 217

EXTERNAL.HTM.. 218

LXE Helper Object.HTM.. 220

Developer Objects and Constants Reference.. 222

GSW Programming  Objects – Interface Description Language.. 222

GSWBROWSE:Idispatch. 222

IExternalApp:Idispatch. 222

IExternaldevice:Idispatch. 223

IExternalSession:Idispatch. 224

IExternal:PrintString. 224

IExternalBattery:Idispatch. 224

IExternalRF:Idispatch. 224

IExternalScanner:Idispatch. 224

IExternaldeviceLXEScanner:Idispatch. 225

IExternalInterface:Idispatch. 226

IExternalJSParameters:Idispatch. 226

GSW Programming  Structures/Values/Constants. 227

LXE Device Constants. 229

Bitmap Values for Scan Code Types. 230

Symbologies. 231

Parms for LXEScannerOption. 232

Flag Parms for LXEScanner Get/Set Param.. 232

Virtual Key Codes. 233

Important Files. 236

GSWBROWSE.TXT.. 236

LICENSE.ASP. 237

WRITELOG.ASP. 238

LICENSE.XML.. 239

GSWBrowse Subscription.. 240

How to Update The Software.. 240

HOW TO RENEW THE GSWBrowse Software.. 240

System Signature - IMPORTANT PLEASE READ.. 241

Technical Support.. 242

 

Table of Figures

 

 

Figure 1: Licensed and Evaluation Diagram.. 4

Figure 2: GSWBrowse Registration Techniques. 4

Figure 3: Menu Bar View -> Licensing. 5

Figure 4: Registration Dialog. 5

Figure 5: Registration Dialog - Customer Name and Save. 6

Figure 6: Network Registration – High Level Overview - Multiple GSWBrowse's. 8

Figure 7: Network Registration Setup File Diagram.. 9

Figure 8: Licensed and Evaluation Flow Diagram.. 12

Figure 9: Evaluation Mode Pop-up. 13

Figure 10: GSWBrowse Layout 14

Figure 11: GSWBrowse - File->Menu->Security Mode. 15

Figure 12: Security Mode Dialog. 15

Figure 13: Administrator Security Mode. 16

Figure 14: Switch to User Mode. 17

Figure 15: Menu bar - Edit (Printer Configuration) 19

Figure 16: Printer Configuration - Enable Client Side Printing. 20

Figure 17: Network and Serial/Bluetooth/IrDA options enabled. 20

Figure 18: Enable Client Side Printing. 21

Figure 19: Local Printer port selection and configuration properties. 21

Figure 20: Printing - Network Printer Configuration. 22

Figure 21: Menu Bar - View.. 23

Figure 22: Multiple Browsers Configuration. 24

Figure 23: Multiple Web Browsers Enabled/Disabled. 24

Figure 24: Select Browser Menu Item.. 25

Figure 25: Browsers Tab. 25

Figure 26: Diagram of Browser Bars. 26

Figure 27: Maximize Content Area - Hide Bars. 27

Figure 28: Maximize Content Area. 27

Figure 29: UI Control Menu. 28

Figure 30: UI Control - Text Context Menu. 29

Figure 31: Dld (Download Control) 32

Figure 32: GSW Commands Action Code Definition Diagram.. 34

Figure 33: Meta Tag Processing Overview.. 36

Figure 34: Meta Tag Syntax Example. 37

Figure 35: Navigational Syntax Properties, Methods and HTML. 37

Figure 36: Georgia SoftWorks Navigation Syntax Parts. 38

Figure 37: Meta Tag Syntax Compared with Navigational Syntax. 38

Figure 38: Navigation Syntax - HREF Property. 39

Figure 39: Navigation Syntax - NAVIGATE Method. 40

Figure 40: GSWBrowse Programmable External Objects. 41

Figure 41: Syntax / Scope Diagram.. 48

Figure 42: Passing Battery Status to Your JavaScript Function. 56

Figure 43: Battery Navigate - Passing Form Data as NAME/VALUE pairs. 57

Figure 44: Passing Signal Status Information to Your JavaScript Function. 66

Figure 45: Signal Navigate - Passing Form Data as Name/Value Pairs. 67

Figure 46: Timer Navigate - Passing the time to your JavaScript function. 78

Figure 47: Timer Navigate - Passing the time to you Form (URL). 78

Figure 48: Error Navigate - Passing the OS Error Number and Error Message  to your JavaScript function. 82

Figure 49: Error Navigate - Passing the Error Number and Message  to a URL. 82

Figure 50: SIPUp Coordinate Flexible Syntax Specifications. 91

Figure 51: CURSORPOS Coordinate Flexible Syntax Specification. 98

Figure 52: Host part of URL. 116

Figure 53: Type part of URL. 120

Figure 54: Path part of URL. 122

Figure 55: Session Object 131

Figure 56: GSWBrowse Helper Object 147

Figure 57: LXE Scanner Object / Methods. 148

Figure 58: GSWBrowse Helper Object - Overview.. 209

Figure 59:  GSW Helper Object - Overview - Create Parameter Block. 210

Figure 60: GSW Helper Object - Overview - Load Values. 210

Figure 61: GSWBrowse Helper Object - Overview - Retrieve Data. 211

 

 

 

Table of Tables

 

Table 1: Device Setup Programs. 3

Table 2: Send Menu Command – File. 104

Table 3: Send Menu Command – Edit 104

Table 4: Send Menu Command - View.. 104

Table 5: Send Menu Command - View Bars. 104

Table 6: Send Menu Command - View Browsers. 105

Table 7: Send Menu Command - View UI Control 105

Table 8: Send Menu Command - View Dld Control 105

Table 9: Send Menu Command - GO.. 106

Table 10: Send Menu Command - Help. 106

 

Table of Examples

 

Example: GSWBROWSE_ONKEY.. 51

Example: GSWBROWSE_ONALLKEYS. 53

Example: GSWBROWSE_BATTERYTIMERINTERVAL. 59

Example: BATTERY STATUS. 61

Example: GSWBROWSE_SIGNALNAVIGATE.. 68

Example: WINDOW.external.device.rf.strength.. 70

Example: WINDOW.external.device.rf.stATUS. 72

Example: GSWBROWSE_POWERON.. 74

Example: GSWBROWSE_SCANNERNAVIGATE.. 76

Example: GSWBROWSE_TIMERNAVIGATE.. 80

Example: GSWBROWSE_TIMERINTERVAL. 80

Example: GSWBROWSE_ERRORNAVIGATE.. 83

Example: GSWBROWSE_COMMAND.. 84

Example: GSWBROWSE_APPLICATION.. 85

Example: GSWBROWSE_SIP. 87

Example: GSWBROWSE_SIPUP. 91

Example: GSWBROWSE_SETDATE.. 94

Example: GSWBROWSE_SETTIME.. 94

Example: GSWBROWSE_FONTSIZE.. 96

Example: GSWBROWSE_CURSORPOS. 98

Example: GSWBROWSE_REBOOT.. 100

Example: SENDMENUCOMMAND 1. 102

Example: SENDMENUCOMMAND 2. 103

Example: GSWBROWSE_ZEBRALABEL_PRINT.. 108

Example: WINDOW.EXTERNAL.APP.SESSION.. 112

Example: WINDOW.EXTERNAL.APP.ACTIVESESSIONINDEX.. 115

Example: WINDOW.EXTERNAL.APP.SESSION(IDX).HOST.. 117

Example: WINDOW.EXTERNAL.APP.SESSION(INDEX).PORT.. 119

Example: WINDOW.EXTERNAL.APP.SESSION(IDX).TYPE.. 121

Example: WINDOW.EXTERNAL.APP.SESSION(IDX).PATH... 123

Example: WINDOW.EXTERNAL.APP.SESSION(IDX).HOMEPAGE.. 125


Typographic Conventions

 

 

Italics:                                       are used to emphasize certain words, especially new terms or phrases when they are introduced.

 

Initial Caps Bold:                      Words that appear in initial caps boldface represent menu options, buttons, icons or any object that you may click.

 

Courier:                                 This font represents anything you must type. Courier is used for examples.

 

"<enter>"                                  This represents the enter key.

 

 

 

 Terms/Abbreviations

 

UTS                                            GSW Universal Terminal Server

 

Windows                                    Refers to Microsoft Windows Operating Systems 98/ME/NT                                                   4.0/XP/VISTA/2000/2003 and CE unless otherwise noted.

 

 

 

 

 


 

 

 

 

 

 

 

 


 

Features at a Glance

 

Georgia SoftWorks GSWBrowse

 

 

 

  • Support for Windows CE 5.0, CE 4.2 .NET

 

  • Powerful Browser Customized for  RF Devices and Barcode Scanners

 

  • Device status and control features (e.g.: Battery Status, Signal Strength, etc.)

 

  • Multiple Host Sessions, Provide Up To 5 Browser Instances to the web server enhancing speed. Reminiscent of IE7

 

  • Printer support on a per browser basis. Bluetooth, IrDA, Serial, Network

 

  • Works “Out of the Box”

 

  • Easy to Install and Use

 

  • Multiple Registration Methods to suite YOUR needs

 

  • Accelerator Keys

 

  • End User Lock Out

 

  • Administrator Friendly

 

 


 


Overview

GSWBrowse is a Windows CE compatible nonsense free industrial grade browser customized for RF Terminals, Barcode Scanners and other Data Collection Devices

Thank you for purchasing the Georgia SoftWorks GSWBrowse for RF Devices and Barcode Scanners. You will find GSWBrowse provides a reliable, secure and consistent solution for browser based business/industrial applications. GSWBrowse is content compatible with Windows CE Versions 4.2, 5.0 and higher versions of Internet Explorer. The user interface is intuitive with a familiar and easy to understand look and feel.

Even though GSWBrowse operates “out of the box”, it is also configurable and programmable providing the flexibility to optimize the browser to your specific environment. Wide compatibility of GSWBrowse enables operation on heterogeneous devices able to connect to most web servers. Developers have abundant capabilities enabling rapid development of powerful applications with advanced yet easy to use features. Up to five browsers are available via quick swap tabs providing streamlined access to multiple pages.

GSWBrowse has three primary groups of users, each with their own important yet different roles.

·       System Administrators

·       Developers

·       End Users (The Ultimate User)

Even though they have different tasks, the developer can programmatically perform many of the same configuration operations as the system administrator performs manually. In this respect they have overlapping capabilities. The efforts performed by the developer and system administrator come to fruition though the work of the end user.

System Administrators will find GSWBrowse is straightforward to install, register, configure lockdown and deploy. Administrators are provided with power over many situational specific factors. Each GSWBrowse browser can be independently configured.

Administrators can configure the browser such that the user is completely locked out of the operating system and any other user interface, ensuring access only to the content intended by the web application. Limiting access to only necessary items makes the job more efficient and less complicated for everyone including the user.

Additionally GSWBrowse can maximize the viewable content area by configuring the layout of the browser by enabling/disabling user interface components such as captions and tool bars, status, address etc.

See more about the layout of GSWBrowse and configuration of GSWBrowse on page 14.

System administrators can depend on the reliable and consistent operation of GSWBrowse throughout daily activities as well as across reboots.

Developers writing the content for the application can exploit browser enhanced features to programmatically control the device as well as obtain and present status information. Providing users with battery status, RF Signal strength etc. becomes simple using standard web page development and scripting tools. With this data users can complete their job with awareness and effectiveness.

GSWBrowse provides these capabilities through clear and quick to learn JavaScript and Meta Tag interfaces.

GSWBrowse provides programmable objects allowing access to Windows CE functionality and GSWBrowse itself. Programmable objects are also used to access Generic and Vendor specific features of the device. Programmable objects and Meta Tags are utilized in order to provide a rich set of features for the developer. This goes far beyond the capabilities of the standard browser which is typically unaware of the device and its capabilities. See more in the Developer Guide section on page 34 .

With a typical browser, navigation controls are built in and available to the end user. By controlling access to these navigation objects with GSWBrowse, the developer can guide end user navigation and work flow. It is easier to create applications when the developer controls all navigation elements and is able to specify exactly the navigation options available to the user. This simplifies the need of precisely monitoring work flow as well as eliminating a multitude of error cases.

End Users are able to focus on their work with a browser that minimizes or eliminates distracting controls and objects. The system administrator and the developer can set up the User Interface so the end users can perform their particular job in the most efficient way possible. The steep learning curve avoided by browser customization proves profitable.  There is no need to worry about accidentally misconfiguring the device or accidentally navigating to an incorrect web site. 

 


 

Installation

 

GSWBrowse is straightforward to install on your device.

 

1.       Determine the location and name of the GSWBrowse setup program for your device. Please see Table 1 for the setup programs available.

 

  1. Copy the appropriate setup executable to the computer which established partnership with your device.

 

  1. Turn on your  device

 

  1. Start the Active Sync on the device and connect.

 

  1. Run the self-extracting executable on the computer selected in Step 2

 

  1. Confirm the prompts asking to continue with the installation.

 

  1. You should see the setup program launched on your device.

 

  1. Press the OK button on the device to complete the installation.

 

 

 

 

 

Device Manufacturer

Architecture

Operating System

GSW Scanner Extensions

Setup Program

LXE

ARMv4i

WIN CE 4.2

Yes

BrLXE.exe

LXE

ARMv4i

WIN CE 5.0

Yes

BrLXE.exe

Psion-Teklogix

ARMv4i

WIN CE 4.2

Yes

BrPT420.exe

Psion-Teklogix

ARMv4i

WIN CE 5.0

Yes

BrPT500.exe

Intermec CK30

ARMv4i

WIN CE 4.2

Yes

BrCK30.exe

Standard

ARMv4i

WIN CE 4.2

No

BrARMv4i.exe

Standard

ARMv4i

WIN CE 5.0

No

BrARMv4i.exe

Standard

ARMv4

WIN CE 4.2

No

BrARMv4.exe

Standard

ARMv4

WIN CE 5.0

No

BrARMv4.exe

Intermec CV60

X86

WIN CE 4.2

No

BrX86.exe

Standard

X86

WIN CE 4.2

No

BrX86.exe

Standard

X86

WIN CE 5.0

No

BrX86.exe

Table 1: Device Setup Programs


 

Registration/Licensing

To run GSWBrowse on a Windows device you must register the software to have a valid license. Each copy of GSWBrowse is licensed for a single instance to run on a single device. The software will operate with full functionality without registration for evaluation purposes; however you will be reminded that the instance of GSWBrowse is not running a valid license when starting GSWBrowse and periodically thereafter.

Figure 1: Licensed and Evaluation Diagram

Registration entails just a few steps that involve GSWBrowse generating a unique Product ID (alphanumeric sequence of characters) for the device and providing this Identification to Georgia SoftWorks so a Serial Number (alphanumeric sequence of characters) can be generated. Georgia SoftWorks provides the Serial Number required to complete the registration.

GSWBrowse offers multiple registration techniques in order to provide flexibility and convenience for a variety of environments. Regardless of the technique, a Product ID is used to generate a Serial Number that is used for the registration.

Figure 2: GSWBrowse Registration Techniques

 

Individual (Local License) GSWBrowse Registration

 

1.      Run the Registration utility (RegUser) by selecting Licensing menu item as shown below by using the Menu Bar.  View -> Licensing

Figure 3: Menu Bar View -> Licensing

This opens the Registration form dialog as show in Figure 4 below.

Figure 4: Registration Dialog

Certain GSW Product information is automatically filled by GSWBrowse. This includes the Name, version and Product Identification number.

 

Step 1: Complete the Customer Name Field. Simply enter the customer name in this field. This helps in verifying the registration request.

Figure 5: Registration Dialog - Customer Name and Save

Step 2: Click Save and save the registration information to the text file named register.txt

The registration information must be provided to Georgia SoftWorks to obtain the Serial Number. Several methods are available for your convenience. The preferred method is via email; however fax or telephone can be also used.

EMAIL

Save the information to a file and email it to Georgia SoftWorks - Preferred method.

The registration information was saved when you clicked the Save button on the GSW RegUsr screen. Please email this file to Georgia SoftWorks registration@georgiasoftworks.com requesting registration.

FAX

Please print the register.txt file that was saved and fax the request to Georgia SoftWorks - 706.265.1020

TELEPHONE

Once Georgia SoftWorks receives the information, we can generate a Serial Number on demand. We will reply back via Fax or email. You may close the registration program at this time. Georgia SoftWorks - 706.265.1018

 

 

Apply the Serial Number 

When the Serial Number is provided, it will need to be entered in the Serial Number field in the Registration Utility (RegUser) on the device. There are several options to accomplish the entry of the serial number.

·       This can be done simply by entering the Serial Number from the keyboard of the device.  

OR

·       The Register.txt file received from GSW can be transferred to the device and the Serial Number copied/pasted from the file to the Serial Number field in the Registration utility.

OR

·        If you are setup to use the Network (Multiple) Registration technique then take the LICENSE.XML file received from GSW and place it in the appropriate location on the license server. When GSWBrowse is launched it will automatically recognize the Serial Number.

 


 

Network (Multiple) Registration

 

In many environments, an administrator may be responsible for multiple devices ranging from a few to hundreds or even thousands. Recognizing the burden of having to register each device individually, Georgia SoftWorks has provided a network registration technique that substantially reduces the effort and time required. A high level overview describing the process follows.

Figure 6: Network Registration – High Level Overview - Multiple GSWBrowse's

Each of the following items corresponds to a number in the above figure. (1) When a GSWBrowse is launched it checks the LICENSE.XML file to determine if a Serial Number is associated with its Product Identification. If there is a Serial Number associated with the Product ID, the license is validated. Otherwise GSWBrowse checks to see if it is locally licensed[1]. (2) If there is not a Serial Number in the LICENSE.XML file and it is not locally licensed then the Product ID is sent to the server and written to the LICENSE.LOG file.

To register multiple browsers, simply launch GSWBrowse on each device and each Product Id will be written to the LICENSE.LOG file.  (3) Next send the file to Georgia SoftWorks (email is preferred). (4) GSW will take each Product ID and generate an associated Serial Number. (5) The Product IDs and Serial Numbers will be placed in a file named LICENSE.XML and (6) sent back to the customer.

The customer takes the LICENSE.XML file and places it in the appropriate location on the server. The next time GSWBrowse is launched it will recognize the Serial Number associated with its Product ID and validate the license. Alternatively, the Serial Numbers can be manually entered in each Browser.

Figure 7 is a visual overview of the files needed for setup. One file is needed on the client and three files are needed on the License Server. Each of the files is identified in the yellow star in the figure below.  Working examples of each file can be found in the IMPORTANT FILES section on page 236.

 

Figure 7: Network Registration Setup File Diagram

Network Registration Setup

 

Implementing the Network Registration entails a few configuration steps.

1.      Modify the client side in the file GSWBROWSE.TXT so it has the correct paths to the Server with the Licensing information. GSWBROWSE.TXT is installed on the Device in its persistent folder. The persistent folder location is device specific. Please review the device documentation to determine the location of its persistent folder.

<device persistent folder>/Georgia SoftWorks GSWBrowse/

2. Launch GSWBrowse on each device. This causes each GSWBrowse to generate and send its Product ID to the LICENSE.LOG file on the server.

3. Email the LICENSE.LOG file to registration@georgiasoftworks.com

4.      Georgia SoftWorks will validate and generate Serial Numbers for each Product ID and email a LICENSE.XML back.

5.      Place the file LICENSE.XML in the appropriate folder (on the server) identified in the GSWBrowse.txt file (on the device). The next time GSWBrowse is launched it will identify that a Serial Number is associated with its Product ID. GSWBrowse will validate the Serial Number and upon success will be licensed.

GSWBrowse.txt

This is a client side file that provides GSWBrowse with configuration information. Some of the information contained in GSWBROWSE.TXT is used to identify the location of specific files on your web server.  An example of GSWBROWSE.TXT can be viewed on page 236. [2]

License Server           

The location of the server where the License (Registration) files reside. The XML Tag <LicenseServer> is used to specify the IP address of the computer with the Licensing files. An entry such as the one below should be entered in the file.

Syntax

        <LicenseServer>IP Address of License Server</LicenseServer>

        Example

        <LicenseServer>192.168.1.102</LicenseServer>

(Of course put your server’s IP address between the License Server Tags, not the one in our example)

License Server Page 

                  The path to the Post Acceptor file. XML tag <LicenseServerPage> is used to specify the path to the Post Acceptor file. An entry such as the one below                         should be entered in the file.

        Syntax

        <LicenseServerPage>Path to POST Acceptor File</LicenseServerPage>

        Example

<LicenseServerPage>/gswbrowse/licensing/license.asp</LicenseServerPage>

The included example (page 237) is a working example of a Post Acceptor ASP file. Those familiar with POST Acceptor files can write your own custom acceptor file using your favorite development tools.

License Server Port   

Optional XML tag specifies the HTTP port where the data is posted.

        Syntax

 <LicenseServerPort>PORT NUMBER</LicenseServerPort>

where PORT NUMBER is a decimal value for the HTTP Port.

        Default:  80, Port 80 is the default value. Unless a different port                                 should be used, this XML tag can be omitted.

        Example

<LicenseServerPort>81</LicenseServerPort>

License File URL     

The XML tag that specifies the path to the XML file which contains the Product ID and Serial Number associations for registrations sent back by Georgia SoftWorks.

        Syntax

  <LicenseFileURL>PATH to License File</LicenseFileURL>

        Example

<LicenseFileURL>

http://192.168.1.102/gswbrowse/licensing/license.xml

</LicenseFileURL>

 


 

Evaluation License

 

Prior to registration that obtains a license, GSWBrowse runs in an evaluation mode. This mode is fully functional and is available in order to provide you with a “Try before you Buy” opportunity. GSWBrowse performs a number of checks to determine if a license is present.

 

Figure 8: Licensed and Evaluation Flow Diagram

 

When GSWBrowse is launched, it examines LICENSE.XML to see if there is a Serial Number present. If so, then GSWBrowse runs as Licensed. Otherwise GSWBrowse checks to see if a valid Serial Number has been entered locally. If so, then GSWBrowse runs as Licensed. Otherwise GSWBrowse sends its Product ID to the server and it is inserted into the LICENSE.LOG file. This is done in preparation for the file being sent to Georgia SoftWorks where Serial Numbers can be generated.

 

 

The operational difference in evaluation mode is a periodical pop-up that serves as a reminder to obtain a license.  Figure 9 is an example of the evaluation mode pop-up

 

Figure 9: Evaluation Mode Pop-up

 

Thirty minutes is the amount of time allowed in evaluation mode before the session is terminated.  After about five minutes a pop-up will occur with a reminder that this is an evaluation license along with the remaining time before this session is terminated. The frequency of reminders increase as the evaluation timer counts down.  When zero, the session terminates and you must restart GSWBrowse.

GSWBrowse Layout

A typical GSWBrowse window is depicted below.

gswbrowse_layout

Figure 10: GSWBrowse Layout

The components that comprise the GSWBrowse browser are shown above.

The Caption, Tool, Address, Status and Task Bar operate as expected with a typical Windows Internet Explorer type browser.

The Menu Bar provides access to typical and extended commands. See page 26  for details.

The Browser Tabs are displayed when more than one browser is enabled[3]. Five (5) Browsers are available. The Active Browser has the “pressed” appearance, browser one (1) in Figure 10.

The System Administrator can display or hide any or all “Bars”. This can help reduce unnecessary distractions while maximizing the Browser Content area.

Many common browser objects (Menu Bars, Tools) are available, but only the items providing GSW Browse enhanced RF Device and Data collection features are described in detail.

 

GSWBROWSE – Menu Bar – File - Security Level

 

Two security modes are available - Administrator and User mode. Administrator mode permits the authority to define the browser layout and items accessible in User mode. Control over the appearance of the browser as well as the scope of browser activities accessible to the user allows optimization of the display and operation for your specific environment.

gswbrowse_file_menu

Figure 11: GSWBrowse - File->Menu->Security Mode

Typically, the administrator will enter the Administrator Security mode, configure the browser as it should appear to the user and then switch browser to User Security mode and exit. The next time the browser is started; it will be in User Security mode and will retain the configuration set by the Administrator. When the Security mode menu item is selected the following dialog is displayed.

ce500_securitydialog_firstb

Figure 12: Security Mode Dialog

 

Security Mode Dialog

Two methods are available to open the Security Mode Dialog.  The first is to use the menu bar as shown in Figure 11

The second method to access the Security Mode Dialog is a keyboard sequence. Many times the menu bar may be hidden.  This provides an alternate method of access. In User Mode this is the only method available to access the Security Mode Dialog. The key sequence is:

<CTRL> + <SHIFT> + S

Figure 13: Administrator Security Mode

Administrator Security Mode

·       Select Administrator

·       Enter the password: This is GSW telephone number. 7062651018 Please note that the password only needs to be entered when switching from User mode to Administrator mode.

·       To quickly “Unhide” and access all the User Interface elements, click Unhide UI. This is a time saver.  Rather than enabling each User Interface element individually for each browser it unhides all UI elements for all browsers. If the UI elements are hidden, the administrator can still access menu items using ALT sequences. The ALT sequences to access hidden menus are only available in administrator mode.

·       Make sure Exit Now is unchecked when entering Administrator mode.

In Administrator Mode, each browser can be configured to the desired layout for the user. This includes all the Bars (Status, Caption, Toolbar, Address, Menu and Taskbar), multiple or single browsers, and the Home page. When the Security Mode is switched back to User the layout will be exactly as configured.

 

Figure 14: Switch to User Mode

User Security Mode

·       Select User

·       To quickly “hide” access to all User Interface elements at once, click Hide UI. This is a time saver, rather than having to hide each one individually.  To display User Interface elements specifically defined in Administrator mode, leave Hide UI unchecked.

·       When “Exit now” is checked, GSWBrowse will exit upon selecting of the OK button. This is important because it is the only way to exit the browser when the UI is hidden. If you forget to click the Exit Now button then re-enter the Security Mode using the key sequence technique to correct and exit.

Lock Down

The administrator can “Lock” the user from leaving the browser by disabling the Address Bar, the Menu Bar Taskbar and the Toolbar and then switching to User Mode. This typical and maximal lock down is accomplished by checking hide UI in the Security Dialog.

The administrator can determine the layout of the items available such as home page, menus, tool bars; status bars; caption bars; etc. removing distractions and increasing the display area. Once the layout is defined then the Administrator can “lock it” for User Mode.

The ability to perform the “Lock Down” is a major design goal of GSWBrowse.


GSWBROWSE – Menu Bar – Edit

The Edit | Printer Config.. item in the Menu bar is where the printers are configured.  This includes local printers such as serial, Bluetooth and IrDA as well as network printers accessable to the client device.  GSWBrowse allows each browser to have a separate printer configuration. This offers the flexability to configure a different printer for each browser if desired.

Printer Configuration Overview

Select the browser that you want to specify a printer configuration. The left side of the figure below shows browser 1 as selected. Next select Edit|Printer Config… menu item and the dialog in Figure 16  is displayed.

 

Figure 15: Menu bar - Edit (Printer Configuration)


 

The “Enable client side printing” checkbox specifies if this browser has printing enabled.

Figure 16: Printer Configuration - Enable Client Side Printing

A browser may have a either a network printer enabled or a local (Serial/Bluetooth/IrDA) printer port enabled but not both.  When the Printing Configuration is initially opened, the configuration options for Local (Serial/Bluetooth/IrDA) printer ports are avaible. To switch  to network printing simply check the Use network printing checkbox and the network path entry box is enabled and while the Serial, Bluetooth, IrDA  options are disabled.

 

Figure 17: Network and Serial/Bluetooth/IrDA options enabled

 


 

Local (Serial/Bluetooth/IrDA)

Local printer configurdjsation steps.

1.      Select “Enable client side printing”

2.      Make sure that “Use network printing” checkbox is NOT selected.

3.      Choose the Communications Port

4.      Configure the port to make sure the device and printer match.

printing_local_config.jpg

Figure 18: Enable Client Side Printing

Figure 19 shows details about the communications port and port properties options.

 

Figure 19: Local Printer port selection and configuration properties


Network Printer

 

Network printer configuration steps.

1.       Select “Enable client side printing”

2.      Select the “Use network printing” checkbox.

3.      Enter the network printer path.

4.      Click OK.

printing_network_configuration.jpg

Figure 20: Printing - Network Printer Configuration


 

GSWBROWSE – Menu Bar – View

The View Menu bar is where the bulk of the GSW Browse layout is configured. Additionally, the GSWBrowse Licensing /Registration information is available through the View Menu item.

Figure 21: Menu Bar - View

The GSWBrowse enhanced RF device and data collection features in the View menu are:

Licensing

View/Modify Registration information.  GSWBrowse must be registered to operate without the frequent reminder pop-up. Please see GSWBrowse Registration on page 4 . Default: Admin Mode only.

Set As Home Page

Navigate to the desired page and select “Set as Home Page” to make this the home page for the browser. Default: Admin Mode only

Reset Home Page

Removes (resets) link to the Home Page. This returns the Browser to the initial page as when initially installed. This can be used as a memory saving feature for memory critical devices. Default: Admin Mode only

Enabled

Enables or Disables the currently active (visible) browser. The User will not be able to access this browser when disabled. Default: Admin Mode only.


 

Multiple Browsers – Enabled (Checked) allows access to any of the five browsers that are enabled. Disabled (Unchecked) only allows access to a single browser. Default: Admin Mode only. 

Figure 22: Multiple Browsers Configuration

When only a single browser is needed then disable (uncheck) Multiple Browsers. The Browser Tabs will no longer be displayed saving display area and unnecessary distraction.

Figure 23: Multiple Web Browsers Enabled/Disabled


 

Browsers

Displays the current browser instance (noted by the check) and allows switching to another browser. Only enabled browsers can be selected in User Mode. Default: Admin and User Mode.

Figure 24: Select Browser Menu Item

The Browser Tabs offer the same information in a less intrusive format while offering a quick way to switch between Browser Instances.  

Figure 25: Browsers Tab

Bars

 Enable/Disable and display the Bars available.  Each browser’s Bars can be individually configured. The menu selections in this section refer to the currently selected browser instance.

·       Shows what Bars are enabled - User Mode.

·       Enables/Disables the various Bars – Admin Mode

If specific bars are not required for your application, the administrator may opt to disable the bars that are not needed. Often the display on barcode scanners and data collection devices is limited and it is important to maximize the content display area. Browser bars and browser tabs may be moved in the common manner.

Figure 26: Diagram of Browser Bars

Refer back to Figure 10 to view another diagram which shows the Bars. Please note that the Scroll Bars and the Browser tabs are not configured here. Please see appropriate section for configuration of Scroll Bars and Browser tabs.

Figure 27: Maximize Content Area - Hide Bars

Still need more content area? Eliminate the Browser Tabs if they are not needed; leave just the content area and scroll bars.     Still need more room, remove the scroll bars as shown in the figure below. GSW Browse is capable of being configured in order to meet a wide range of specific display requirements.

Figure 28: Maximize Content Area

See page 31 for configuration to remove the scroll bars.

 


 

UI Control – User Interface Control

 

GSWBrowse supports configuration of the enabling and disabling of various UI behaviors.

Admin Mode

The Administrator may determine that Users should have certain browser user interface capabilities while restricting other ones. The UI Control allows the Administrator to enable/disable a wide range of interface operations on a per browser instance[4] basis. This includes the selection of text, context menu control as well as control over browser display properties such as scroll bars and 3D borders. 

The Administrator specifies what UI Control features are available to the user by configuring the UI Control settings.

The first group of UI Control settings provides the administrator ability to select the context menus that are displayed in the browser as a result of a right-click. The second group of UI Control settings provides text selection, 3D Border and Scrollbar control.

Figure 29: UI Control Menu

 


Context Menus Overview

Typically when a user right clicks (or taps and holds when using a stylus) in a browser a context menu is displayed providing actions commonly associated with the “context” of the object right-clicked. This may not be appropriate or useful on RF Device or Data Collection terminals.

The left side of Figure 30 shows an example of a text context menu that is displayed when the user selects the word “different” in the text and right-clicks. The menu with Copy, Select All, and Print appears.

When the “text context menu” is disabled, the right side of the Figure 30 shows the new behavior. Even if the user selects text, they will not get a context menu when they right-click.

Figure 30: UI Control - Text Context Menu

Context Menus

Enable/Disable ALL context menus. A quick way to disable the display of all context menus for GSWBrowse.

DefaultEnabled - Allow context menu operation.

Default Context Menu

Enable/Disable the default context menu.

The Default context menu is displayed when a right mouse click or equivalent is performed on an empty area of the browser content. 

DefaultEnabled - Allow context menu operation.

Image Context Menu

Enable/Disable the context menu for Images.

The image context menu is displayed when a right mouse click or equivalent is performed on an image area of the browser content.

DefaultEnabled - Allow Image context menu operation.

Control Context Menu

Enable/Disable the context menu for custom controls.

The control context menu is displayed when a right mouse click or equivalent is performed on a control area of the browser content.

DefaultEnabled - Allow Control context menu operation.

Table Context Menu

Enable/Disable the context menu for Tables.

The table context menu is displayed when a right mouse click or equivalent is performed on the table area of the browser content.

DefaultEnabled - Allow Table context menu operation.

Text Context Menu

Enable/Disable the context menu for Text.

The text context menu is displayed when text is selected followed by a right mouse click or equivalent.

DefaultEnabled - Allow text context menu operation.

Anchor Context Menu

Enable/Disable the context menu for Anchors (links only). This does not include images or image maps.

DefaultEnabled - Allow anchor context menu operation.

Unknown Context Menu

Enable/Disable the context menu when a right click is performed on something other than any of the above.

DefaultEnabled - Allow Unknown context menu operation.

 

No Text Selection

Enable/Disable the ability for the user to select text.

Default:  Enabled - Allow text selection.

When checked: Do not allow text selection in the browser content window.

No 3D Border

Enable/Disable the display of 3D borders for the browser (when supported).

Default:  Enabled - Allow 3D borders.

When checked: Do not allow the display of 3D borders for the browser.

No Scrollbars

GSWBrowse displays vertical and horizontal scroll bars to access content outside of viewing area of display. Scroll bars may be disabled to obtain additional content area. If scroll bars are disabled then the application developer should be careful to ensure that all content will fit on the available area. In most cases using scroll bars is not a good design practice for data collection devices.

Default:  Enabled – Vertical and Horizontal Scroll Bars.

When checked: Do not display scroll bars.


 

Dld Control – Download Control

The Administrator may determine certain browser downloads from the server should be allowed while restricting others. The Dld Control allows the Administrator to enable/disable different download capabilities ranging from sound, video to Java Applets and ActiveX controls. – Admin Mode

Figure 31: Dld (Download Control)

Each of the GSWBrowse Dld Control options is listed below. Please be careful to note whether a checked item specifies enabled or disabled. GSWBrowse patterned the terminology after Microsoft common programming terminology to maintain a familiar feel for administrators acquainted with its programming.

Images

Default:  Enabled - Allow the download and display of images.

When not checked: Do not allow images to be downloaded from the server.

Videos

Default:  Enabled - Allow the download and playing of videos.

When not checked: Do not allow videos to be downloaded and played from the server.

Sounds

Default:  Enabled - Allow the download and playing of sound.

When not checked: Do not allow sounds to be downloaded from the server.

No Script Execution

Default:  Disabled – Allow execution of client side scripts.

When checked: Do not allow execution of client side scripts.

No Java Applets

Default:  Disabled – Allow execution of Java Applets.

When checked: Do not allow execution of Java Applets.

No Execution of ActiveX controls

Default:  Disabled – Allow the download and execution of ActiveX controls from the server.

When checked: Do not allow ActiveX controls to be downloaded and executed from the server.

No Client Pull

Default:  Disabled – Client Pull Operations will be performed.

When checked: Do not allow Client Pull Operations to be performed.

No Frames download

Default:  Disabled – Allow the download of frames.

When checked: Do not allow download of frames but download and parse the frameset page. GSWBrowse will ignore the frameset and render a no frames tag.

Force Offline

Default:  Disabled – GSWBrowse operates in On-Line mode.

When checked: Force GSWBrowse to operate in Off-Line mode.

 

 


 

Developers Guide

Overview

GSWBrowse offers the web page developer[5] a variety of options to accomplish development tasks on the device.  GSWBrowse provides straightforward and easy to understand techniques and syntax to interface with the device and browser. When supported by the device the GSWBrowse development interface can perform numerous client side actions/functions. This includes but is not limited to obtaining the device battery status, controlling leds, beeps, hooking the keyboard, performing scanner operations, determining RF signal strength, invoking GSWBrowse menu items and much more.

GSWBrowse developer features are available from JavaScript and HTML and seamlessly integrate with your web page development.  GSW provides two ways to access these features. One is through GSW Action Commands and the other is through the window.external programming extensions.

GSW Action Codes

GSW Action codes are composed of the actual command name followed by optional parameters. Frequently throughout this document the parameters are referred to as content”. The format and value of the content (parameters) are dependent on the command.

The content can range from simple numbers, time and dates to JavaScript functions and URLs. Additionally content can be used to pass values embedded in a URL as if a form was SUBMITTED, to be handled by server side code such as CGI, ASP, etc. 

For example, if you wanted to set the time on the device to 19:20 (7:20pm) you would use the command – gswbrowse_SetTime and set the content to 19:20.

GSWBrowse terms the combination of the command and parameter (if any) as a Georgia SoftWorks Action Code (gswac). Multiple programming techniques can be used to invoke commands and pass the parameters.

Figure 32: GSW Commands Action Code Definition Diagram

GSW Action Codes can be invoked when the page loading is complete, as well as based on other common events (E.g. form, button, mouse, etc.) or when a programming logic condition is satisfied.

window.external extensions

GSW uses a standard JavaScript mechanism for providing vendor extensions and provides a number of objects with their own properties and methods.

In summary

HTML Meta Tags, HTML Anchor tags, specialized functions, object properties and methods through proprietary GSW extensions to the “window.external” model are some of the techniques available to the developer to take advantage of extensions provided by GSW in GSWBrowse. Each technique requires a specific syntax to specify the command and parameters or objects and its properties or methods.

We will review these in the following sections.

 


 

 

GSW HTML Meta Tags Overview

 

GSWBrowse offers programmatic access to its own functionality in addition to the device’s via META tags.

Device Specific Meta Tags – Certain manufacturers of devices along with different operating system versions have specific Meta tags to accomplish tasks. GSWBrowse supports as many as possible.

Figure 33: Meta Tag Processing Overview

SYNTAX

          <META HTTP-EQUIV="name" CONTENT="content">

 

            Where

Name      is the command part of GSWAC[6].     and

 

Content      The parameter part of GSWAC. Typically a value or a JavaScript                                                 function or a URL.


 

Meta Tag Syntax

 

Meta Tag syntax is static and is inside the header of the document. The associated action is initiated when the document loading is complete. Meta Tags with the HTTP-EQUIV attribute can be used to invoke GSWBrowse codes[7].

For example, to set the time to 19:20 you could use the Meta Tag gswbrowse_SetTime as shown below.

Figure 34: Meta Tag Syntax Example

Once the page is loaded, (with the above Meta Tag specified) the time on the device will be set to 19:20.

Multiple GSWBrowse Meta Tags can be used in the web page header section and they are processed in the order which they appear.

 

Navigational Syntax

Figure 35: Navigational Syntax Properties, Methods and HTML

Navigational syntax is dynamic and is inside the body of the document. It is initiated based on events such as buttons, functions, etc.  as documented in JavaScript and HTML manuals. Navigation Syntax is programming that invokes hyperlinks. GSWBrowse uses Pseudo-URLs to invoke GSWBrowse Action Codes by intercepting navigation requests.

With navigational syntax Georgia SoftWork’s Action Codes are identified by GSWBrowse by using a common and familiar technique called Pseudo-URL Prefix. The Pseudo URL Prefix identifies the scheme used to determine the target of the navigation.

To specify the GSWBrowse URL Prefix scheme, the Georgia SoftWorks Action Command must be prefixed with the characters gswac followed by a colon -“gswac:”.  The component parts of the Pseudo URL are shown below.

Figure 36: Georgia SoftWorks Navigation Syntax Parts

The Pseudo-URL syntax conforms to the syntax of the property or method of the navigation technique used.

Anchor Tag

The diagram below shows an example of the Anchor Tag with the HREF attribute used to invoke commands.

<a href=”gswac:gswbrowse_SetTime,19:20”>Set Time to 19:20</a>

Figure 37: Meta Tag Syntax Compared with Navigational Syntax

The Anchor Tag uses the same GSWAC as the Meta Tag but is formatted for Navigation using the Pseudo-URL syntax. The action will be performed when the link is clicked.

 

HREF Property

 

The href property of the location and document objects can be used to invoke commands from JavaScript.

location.href = ”gswac:gswbrowse_SetTime,19:20”>

document.href = ”gswac:gswbrowse_SetTime,19:20”>

Figure 38: Navigation Syntax - HREF Property


 

NAVIGATE Method

 

The Navigate method of the Window object can be used to invoke commands.

window.navigate(“gswac:gswbrowse_SetTime,19:20”)

Figure 39: Navigation Syntax - NAVIGATE Method

 


 

Window External Syntax

 

 

Figure 40: GSWBrowse Programmable External Objects

 

GSWBrowse is the top level object and is accessed as window.external.

Additional vendor dependant functionality is available via the scripting model of GSWBrowse through the window.external extensions. Windows External Syntax is used to access device, application and operating system features.

Some features are available only thru window.external functionality.

 

Send Menu Commands Overview

GSWBrowse offers programmatic access to the GSWBrowse menus. Any task that can be performed from the GSWBrowse menus can also be performed programmatically.

 

           

 

 

 


 

Developers Quick Reference

 

 

 

Hooking the Keyboard

 

 

gswbrowse_onkey

Intercept a specific key and define action

 

gswbrowse_onallkeys

Intercept all keys and define action to take

 

gswbrowse_homekey

Enables/Disable F5 as the Home Key. When pressed navigate to the  configured HOME URL

 

 

 

 

Battery

 

 

gswbrowse_batterynavigate

Periodically obtain battery status information

 

gswbrowse_batterytimerinterval

Specifies the interval to check battery useful

 

window.external.device.batterystatus

Obtain the charged state of the battery

 

window.external.device.battery.statustext

Text description of the battery charge state

 

window.external.device.battery.status

Numeric value for the charged state of the battery

 

window.external.device.battery.level

Charged state of the battery as a percentage

 

 

 

 

Resume Device Operation after Suspension

 

 

gswbrowse_poweron

Specifies action to initiate when the device resumes power after suspension

 

 

 

 

Timer-Based Actions

 

 

gswbrowse_timernavigate

Launches a JavaScript Function or URL at specified intervals

 

gswbrowse_timerinterval

Specifies the interval to launch gswbrowse_timernavigate

 

 

 

 

Browser Navigation Error Handling

 

 

gswbrowse_errornavigate

Launches a JavaScript function or URL when a navigation error is detected by the browser

 

 

 

 

Exit from Browser

 

 

gswbrowse_command

Causes GSWBrowse to Exit

 

gswbrowse_application

Causes GSWBrowse to Exit

 

 

 

 

Controlling Input Panel (soft keyboard)

 

 

gswbrowse_sip

Hide/Display Soft Input Panel (SIP)

 

gswbrowse_sipup

Displays the Soft Input Panel(SIP)

 

gswbrowse_movesip

Moves the Soft Input Panel (SIP) to a specified location using x and y coordinates


 

 

Date and Time

 

 

gswbrowse_settime

Set  the System Time on the device

 

gswbrowse_setdate

Set  the System Date on the device

 

 

 

 

Font Size

 

 

gswbrowse_fontsize

Change the Font Size relative to the size specified in the HTML content

 

 

 

 

Cursor Position

 

 

gswbrowse_curpos

Move the cursor to a specified location using x and y coordinates

 

 

 

 

Warm Boot and Soft Boot

 

 

gswbrowse_reboot

Forces the device to reboot (warm or cold)

 

 

 

 

RF Signal Strength

 

 

gswbrowse_signalnavigate

Obtain WLAN Signal Information

 

window.external.device.rf.strength

Obtain the strength of the RF Signal

 

window.external.device.rf.Status

Numeric value that represents the status of the RF Signal

 

 

 

 

 

 

 

Scanner Operation

 

 

gswbrowse_scannernavigate

Intercept result of a scan

 

 

 

 

GSWBrowse Application Control

 

 

window.external.ThisSessionIndex

Obtain the session number of your execution context

 

window.external.app.Session

Obtain session object corresponding to the provided index of  the browser instance

 

window.external.app.ActiveSessionIndex

Get/Set the  Visible  Browser Index

 

window.external.app.session(idx).host

Obtain host part of URL for specified session

 

window.external.app.session(idx).port

Obtain port  number for specified session

 

window.external.app.session(idx).type

Obtain session type for specified session

 

window.external.app.session(idx).path

Obtain path for specified session

 

window.external.app.session(idx).homepage

Get/Set  home page URL  for specified session

 

 

 

 

Printing (BlueTooth, IRDA, Network, Serial)

 

 

gswbrowse_ZebraLabel_Print

 

 

gswbrowse_PLSeriesLabel_Print (same as gswbrowse_ZebraLabel_Print)

Supported for backward compatibility

 

gswbrowse_ZebraLabel_Complete

Send Output to the Printer

 

window.external.app.session(idx).Printer.PrinterString

Send Output to Printer

 

 

 

 

 

 


 

 

GSWBrowse about Information

 

 

window.external.app.Version

Obtain GSWBrowse  release version number

 

window.external.app.BuildId

Obtain GSWBrowse  Build Id which is a unique identifier for each software build

 

window.external.app.Name

Name of the current application running

 

window.external.app.Copyright

Obtain copyright text  for GSWBrowse

 

 

 

 

Persistent Storage

 

 

window.external.app.UserText

Indexed property that stores user data strings in persistent storage 

 

 

 

 

Device Information

 

 

window.external.device.DeviceID

Read the Device Identification string

 

window.external.device.IPAddress

Read the Device IP Address

 

window.external.device.MACAddress

Read the Device Media Access Control (MAC) Address

 

window.external.device.PlatformId

Read the Windows CE Platform Id

 

window.external.device.PresetId

Read the Windows CE Preset Id

 

window.external.device.SerialNumber

Read the GSW Product Id  which is used for software registration

 

window.external.device.UUID

Read the Universally Unique Identifier (UUID) of the device

 

 

 

 

Network Adapter Name

 

 

window.external.device.NetworkAdapterName

Read text name for the network adapter

 

 

 

 

Vibrating the Device (LXE Only)

 

 

window.external.device.Vibrate

Cause the device to Vibrate for a specified duration of time

 

 

 

 

Controlling the Taskbar

 

 

window.external.device.SetTaskBarEnabled

Enable/Disable  the taskbar

 

window.external.device.SetTaskBarVisible

Hide/Show the taskbar

 

window.external.device.SetStartButtonVisible

Hide/Show the Start Button

 

window.external.device.SetSIButtonVisible

Hide/Show the Soft Input Panel (SIP)  Button

 

 

 

 

Vendor API Version (LXE Only)

 

 

window.external.device.APIVersion

Read the Version Number of the Vendor’s Application Programming Interface (API)

 

 

 


 

 

LXE SCANNER APIs

window.external.device.scanner.lxescanner

 

 

For all LXE SCANNER API’s please consult the appropriate LXE manual for detailed and current information. These API’s work as pass-throughs to LXE APIs provided in lxeapi.dll[8]

 

.LXEHasIntScanner

Determine if device has an internal scanner

 

.LXEHasIntRFID

Determine if device has internal RFID Reader

 

.LXEScannerDisable

Cause scanner driver to disable operation

 

.LXEScannerEnable

Return scanner driver to normal operation

 

.LXEScannnerInputDisable

Disable input (scan keys & trigger button)

 

.LXEScannerInputEnable

Enable input after disabled

 

.LXEScannerReset

Cause scanner driver to reload registry settings

 

.LXEScannerForcePower

Forces serial port to supply power to scanner

 

.LXEScannerForceScan

Force Scan

 

.LXEScannerStart

Start scan operation on internal scanner

 

.LXEScannerStop

Terminate scan operation on internal scanner

 

.LXEScannerGetStatus

Returns the status of the scanner

 

.LXEScannerGetData

Obtain the scanned string

 

.LXEScannerPutData

See LXE documentation

 

.LXEScannerPowerON

Apply power to all active scanner devices

 

.LXEScannerPowerOff

Power down all active scanner devices

 

.LXEScannerKeysOff

Stop processing scanned data as keystroke msgs

 

.LXEScannerKeysOn

Start processing scanned data as keystroke msgs

 

.LXEScannerKeyStatus

Determine if scanner wedge is buffering data or processing as keystroke messages

 

.LXEScannerAttachPort

Changes wedge port attached to the scanner driver as specified

 

.LXEScannerSetKey

Changes the action of the scan key specified

 

.LXEScannerSetSerial

Changes the configuration of scanner the serial port

 

.LXEScannerSetPower

Changes the value of the scanner serial port power pin and saves to registry

 

.LXEScannerStripLead

Enable/Disable stripping of characters from beginning of barcode data

 

.LXEScannerStripTrail

Enable/Disable stripping of characters from end of barcode data

 

.LXEScannerCtrlCodeOff

Disables processing of ASCII values less than 0x20 when data is processed as keystroke messages

 

.LXEScannerCtrlCodeOn

Enables processing of ASCII values less than 0x20 when data is processed as keystroke messages

 

.LXEScannerPrefix

Enable/Disable adding prefix to beginning of barcode data

 

.LXEScannerSuffix

Enable/Disable adding Suffix to end of barcode data

 

.LXEScannerOption

Enable/Disable symbology option

 

.LXEScannerIsOptionEnabled

Determine if given symbology is enabled/disabled

 

.LXEScannerGetParam

Get the value of a hardware specific parameter directly from the scanner hardware


 

 

LXE SCANNER APIs - Continued

window.external.device.scanner.lxescanner

 

 

.LXEScannerSetParam

Set value of a hardware specific parameter

 

.LXEScannerSymStripLead

Enable/Disable stripping of characters from the beginning of barcode data for specified symbology

 

.LXEScannerSymStripTrail

Enable/Disable stripping of characters from the end  of barcode data for specified symbology

 

.LXEScannerSymPrefix

Enable/Disable adding prefix to beginning of barcode data for specified symbology

 

.LXEScannerSymSuffix

Enable/Disable adding suffix the end  of barcode data for specified symbology

 

.LXEScannerSymEnable

Enable/Disable specified symbology

 

.LXEScannerSymIsEnabled

Determine the current enable state of the parsing engine for the specified symbology

 

.LXEScannerSymGetConfig

Gets all parameters for specified symbology

 

.LXEScannerSymSetConfig

Sets all parameters for a symbology

 

.LXEScannerSymRemove

Removes all parameters for specified symbology by deleting the registry key

 

 

 

 

 

 

 

 

 

 

GSWBrowse Interface Helper Object

 

 

window.external.interface.CreateParameterBlock()

Create a Helper Object for parameter passing

 

 

 

 

 

 

 


 

Developers Detailed Reference

The following section provides the detailed reference on the Georgia SoftWorks Action Codes and external properties and methods.

 

For each Georgia SoftWorks Action Code an information box is located at the top right of the page that provides quick information with respect to the syntax and scope.

 

Scope / Syntax  

 

The syntax indicates the forms that this functionality can be invoked.  Multiple syntaxes may be valid for a particular function. The options are:

 

·       Meta Tag

·       Navigational

·       Windows External

 

The example below indicates that the functionality is available using Meta Tag and Navigational Syntax.

 

Figure 41: Syntax / Scope Diagram

 

Additionally the scope of the functionally is also important. The scope identifies the range of impact of the command. GSWBrowse can have five (5) browsers. Some commands only impact the specific browser instance and others may impact all browsers.

 

Likewise some functionally may only impact the device. The options for scope are:

 

·       Device 

·       Browser - Instance

·       Browser – Global

 

The example above indicates that the functionally impacts all browsers.

 

Developer Attention Boxes

Other import information is conveyed using developer attention boxes.

 

Developer attention boxes are located on the page when a special or particularly useful aspect of this functionally   should be noticed.  Most of the developer attention boxes are self explanatory however a however a few examples follow:

 

Examples:

 

GSW Only – At the time of this writing, GSW is the only vendor that provides this feature.

 

LXE Only –This feature only applies to LXE devices.

 

This is a READ ONLY property.

 

 

Each GSWAC description defines the important aspects of the command. The command, parameters, syntaxes and examples are shown.

 

For parameters the pipe “|” symbol means OR. For example if a command has the parameter listed as:

 

JavaScript Function | URL

 

This means that either a JavaScript Function OR a URL can be a valid parameter.

 

Often the entire content is shown for a web page in order to provide the context for examples. When these examples are shown, the text significant to the GSWAC being described is usually in the color red to help it stand out (for those viewing online or a color printed copy).

 


 

Hooking the Keyboard Detail

Category: Hooking the Keyboard

 

 


 

 

GSWBROWSE_ONKEY

 

 

gswbrowse_ONKEY

 The GSWBROWSE_ONKEY tag changes the action of a specific key by assigning a JavaScript function or a URL to the specific (hardware or soft keyboard)  key on the device.

Command:                                         gswbrowse_OnKey[xyz]

Parameter(Content):      JavaScript Function | URL

     META TAG SYNTAX

                              <META HTTP-EQUIV="gswbrowse_OnKey[xyz]" CONTENT="content">

    

NAVIGATION SYNTAX

               Properties

                              Location.href = “gswac:gswbrowse_OnKey[xyz],content";

document.location = “gswac:gswbrowse_OnKey[xyz],content";

 

Methods

windows.navigate(“gswac:gswbrowse_OnKey[xyz],content");

 

Anchor Tag

<a href=”gswac:gswbrowse_OnKey[xyz],content">

 

               Where

xyz  is the key mapped and can be either be

 a hexadecimal value preceded with 0x

            Example: gswbrowse_OnKey0x56   

or         up to a three digit decimal value

 Example: gswbrowse_OnKey086          

or         a Virtual Key Name

Example: gswbrowse_OnKey_NUMPAD8

or             gswbrowse_OnKeyVK_NUMPAD8

 

            The list of virtual key names can be viewed on page 233

 

Content       is a JavaScript function

          Example: Javascript:OnNUMPAD8();

OR        a URL

                        Example: http://acme_server/page_a.htm


 

Example: GSWBROWSE_ONKEY

<html>

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<META HTTP-EQUIV="gswbrowse_OnKey0x56" CONTENT="Javascript:OnV();">

<META HTTP-EQUIV="gswbrowse_OnKeyVK_A" CONTENT="http://acme_server/page_a.htm">

<META HTTP-EQUIV="gswbrowse_OnKey_NUMPAD8" CONTENT="Javascript:OnNUMPAD8();">

<META HTTP-EQUIV="gswbrowse_OnKey48" CONTENT="Javascript:On48();">

 

<script>

function OnV()

{

        Alert(“ V was pressed”);

}

function OnNUMPAD8()

{

        Alert(“ 8 on the number pad was pressed”);

 

}

 

function On48()

{

        Alert(“ Digit 0 was pressed”);

 

}

</script>

</head>

<body>

<p>Pressing 'a' will cause navigation to 'page_a.htm'</p>

<p>The V, the number 0 and the number pad 8 will each display an alert when pressed.</p>

</body>

</html>

 

 


 

Category: Hooking the Keyboard


 

 

GSWBROWSE_ONALLKEYS

 

 

gswbrowse_ONALLKEYS

The GSWBROWSE_ONALLKEYS  command launches a JavaScript function or a URL when any key is pressed on the device. The specified function must have one argument which is the virtual keycode pressed. This is a true key interception; it takes place regardless of where the focus is in GSWBrowse, which is superior to native DHTML functionality

 

Command:                                         gswbrowse_onallkeys

Parameter(Content):      JavaScript Function | URL

              

META TAG SYNTAX

                              <META HTTP-EQUIV="gswbrowse_onallkeys" CONTENT="content">

    

NAVIGATION SYNTAX

               Properties

                              Location.href = “gswac:gswbrowse_onallkeys,content";

document.location = “gswac:gswbrowse_onallkeys,content";

 

Methods

windows.navigate(“gswac:gswbrowse_onallkeys,content");

 

Anchor Tag

<a href=”gswac:gswbrowse_onallkeys,content">

 

Where

 

Content       is a JavaScript function

          Example: Javascript:onallkeys(%s);

OR        a URL

                              Example: http://acme_server/valicate_order.htm?vk=%s

 

In both cases the %s is replaced with the decimal value of virtual keycode of the key pressed.

 

 

 

 

 

Example: GSWBROWSE_ONALLKEYS

 

<html>

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<META HTTP-EQUIV="gswbrowse_OnAllKeys" CONTENT="Javascript:OnAllVK(%s);">

<script>

function OnAllVK(vk)

{

        Alert( vk + “ was pressed”);

}

</script>

</head>

<body>

<p>Pressing any key will cause an alert when pressed.</p>

</body>

</html>


 

Category: Hooking the Keyboard


 

 

GSWBROWSE_HOMEKEY

 

gswbrowse_HOMEKEY

 

The GSWBROWSE_HOMEKEY command enables Function Key F5 as the HomeKey. When pressed, the HOMEKEY navigates to the  configured HOME URL.  Default – Disabled

 

Command:                                         gswbrowse_HomeKey

Parameter(Content):      Enabled|Disabled

              

META TAG SYNTAX

                              <META HTTP-EQUIV="gswbrowse_HomeKey" CONTENT="content">

    

NAVIGATION SYNTAX

               Properties

                              Location.href = “gswac:gswbrowse_onallkeys,content";

document.location = “gswac:gswbrowse_onallkeys,content";

 

Methods

windows.navigate(“gswac:gswbrowse_onallkeys,content");

 

Anchor Tag

<a href=”gswac:gswbrowse_onallkeys,content">

 

Where

            Example: Meta Tag Syntax

 

<META HTTP-EQUIV="gswbrowse_HomeKey" CONTENT="Enabled">

           

Example: Navigation Syntax

 

document.location = “gswac:gswbrowse_homekey,”Disabled”";

 


Battery Information

Category: Battery Information


 

 

GSWBROWSE_BATTERYNAVIGATE

 

 

 

         

gswbrowse_BATTERYNAVIGATE

The GSWBROWSE_BATTERYNAVIGATE command launches a JavaScript Function or URL at specified intervals passing strings that contain the battery status information. The time interval must be specified with the GSWBROWSE_BATTERTIMERINTERVAL command for this command to work.

 

Command:                                         gswbrowse_BatteryNavigate

Parameter(content):      JavaScript Function | URL

    

META TAG SYNTAX

                              <META HTTP-EQUIV="gswbrowse_BatteryNavigate" CONTENT="content">

    

NAVIGATION SYNTAX

               Properties

                              Location.href = “gswac:gswbrowse_batterynavigate,content";

document.location = “gswac:gswbrowse_batterynavigate,content";

 

Methods

windows.navigate(“gswac:gswbrowse_batterynavigate,content");

 

Anchor Tag

<a href=”gswac:gswbrowse_batterynavigate,content">

 

 


Where

 

Content       is a JavaScript function

Example: Javascript:BatteryTest(‘%s’,’%s’,‘%s’,’%s’);

OR        a URL

Example: http://acme_server/battstat?AC=%s&strength=%s&backup=%s&chemistry=%s

 

Return

     The Battery status information passed to the JavaScript Function or URL is:

            

AC Line Status                       Possible Values

Offline

Online

Unknown

Battery Life Percent

A number in the range of 0 – 100, or 255 if unknown

 

                        Battery Backup Life Percent

                                                                        A number in the range of 0 – 100, or 255 if unknown

 

                        Battery Chemistry                   Possible Values

                                                                        “BATTERY_CHEMISTRY_ALKALINE

                                                                        “BATTERY_CHEMISTRY_NICD

                                                                        “BATTERY_CHEMISTRY_NMH

                                                                        “BATTERY_CHEMISTRY_LION

                                                                        “BATTERY_CHEMISTRY_LIPOLY

                                                                        “BATTERY_CHEMISTRY_ZINCAIR”

                                                                        “BATTERY_CHEMISTRY_UNKNOWN

                                               

JavaScript Pseudo-URL Target

 

When the Meta Tag is processed the JavaScript function will be called with the battery status values passed to the JavaScript function in the order as described in Figure 42 .

Figure 42: Passing Battery Status to Your JavaScript Function

URL Target

 

If a URL is specified then it is parsed and the pattern replacement described below will occur before the actual navigation takes place.  Each pattern specifies the name of the of the battery information of interest. The exact syntax must be used. See Figure 43 for more detail.

Using a URL target with this Meta Tag allows passing values from the client to the server as if a form was just submitted. The values are processed on the server using common value retrieval techniques such as CGI, ASP, etc.   The format of the URL must adhere to the standard  HTTP GET request with Form parameters.

If ‘AC=%s’ is found then %s will be replaced with the AC line values as specified above.

If ‘strength=%s’ is found then %s will be replaced with the Battery Life Percent as specified above.

If ‘backup=%s’ is found then %s will be replaced with the Backup Battery Life Percent as specified above.

If ‘chemistry=%s’ is found then %s will be replaced with the Battery Chemistry as specified above.

 

The URL target has the capability to just retrieve the status of a select number of the statuses.

 

Figure 43: Battery Navigate - Passing Form Data as NAME/VALUE pairs

 

 

           

Category: Battery Information


 

 

GSWBROWSE_BATTERYTIMERINTERVAL

 

 

 

 

gswbrowse_BATTERYTIMERINTERVAL

The GSWBROWSE_BATTERYTIMERINTERVAL command specifies the time (in milliseconds) interval that gswbrowse_BattertNavigate command is launched.

Command:                                         gswbrowse_BatteryTimerInterval

Parameter (content):     Decimal number between 0 and 4294967275  Units: milliseconds

    

META TAG SYNTAX

                              <META HTTP-EQUIV="gswbrowse_BatteryTimerInterval" CONTENT="content">

    

NAVIGATION SYNTAX

               Properties

                              Location.href = “gswac:gswbrowse_BatteryTimerInterval,content";

document.location = “gswac:gswbrowse_BatteryTimerInterval,content";

 

Methods

windows.navigate(“gswac:gswbrowse_BatteryTimerInterval,content");

 

Anchor Tag

<a href=”gswac:gswbrowse_BatteryTimerInterval,content">

 

 

Where

 

Content       is the decimal time  in milliseconds with a range between 0 and 4294967295.  Comma’s are not allowed in the number.

 

 

 

 

 

 

 

 

Example: GSWBROWSE_BATTERYTIMERINTERVAL

 

<html>

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<META HTTP-EQUIV="gswbrowse_BatteryNavigate" CONTENT="Javascript:BatteryTest('%s','%s','%s','%s');">

<META HTTP-EQUIV="gswbrowse_BatteryTimerInterval" CONTENT="2000">

<META HTTP-EQUIV="gswbrowse_TimerNavigate" CONTENT="Javascript:TimerTest('%s');">

<META HTTP-EQUIV="gswbrowse_TimerInterval" CONTENT="1000">

 

<script language=javascript>

function BatteryTest(a,b,c,d)

{

  document.getElementById("batterydiv").innerHTML= a + " " + b  + " " + c  + " " +d;

}

function TimerTest(a)

{

document.getElementById("battery_statustext").innerHTML=       window.external.device.battery.statustext;

document.getElementById("battery_status").innerHTML= window.external.device.battery.status;

document.getElementById("battery_level").innerHTML= window.external.device.battery.level;

}

</script>

</head>

<body>

<p>The BatteryNavigate tag assumes your device has a battery. No

navigation or script call shall occur if a battery is not found.</p>

Current battery state: <div id="batterydiv">junk</div>

<p>External battery properties</p>

battery.statustext: <div id="battery_statustext">junk</div>

battery.status: <div id="battery_status">junk</div>

battery.level: <div id="battery_level">junk</div>

</body>

</html>

 

 


 

Category: Battery Information


 

 

BATTERYSTATUS

 

 

 

         

window.external.device.batterystatus

 

The batterystatus is a property of the device object.  It provides the charged state of the battery.

 

 

Property:                                           batterystatus

Data Type:                    String

                             

Return                                                            Possible Return Values are:

 

unknown

                                    no_battery

                                    charging

                                    critical

                                    low

                                    medium

                                    high

    

EXTERNAL SYNTAX

               window.external.device.batterystatus

    

IDL  DEFINITION

 

[propget, id(1)] HRESULT BatteryStatus([out, retval] BSTR *pVal);

 

 

 

 

 

 

 

 

 

 

 

 

Example: BATTERY STATUS

<html>

<head>

 

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<META HTTP-EQUIV="gswbrowse_BatteryNavigate" CONTENT="Javascript:BatteryTestfun('%s','%s','%s','%s');">

<META HTTP-EQUIV="gswbrowse_BatteryTimerInterval" CONTENT="2000">

<META HTTP-EQUIV="gswbrowse_TimerNavigate" CONTENT="Javascript:TimerTestfun('%s');">

<META HTTP-EQUIV="gswbrowse_TimerInterval" CONTENT="1000">

 

<script language=javascript>

function BatteryTestfun(a,b,c,d)

{

    document.getElementById("batterydiv").innerHTML= a + " " + b  + " " + c  + " " +d;

}

function TimerTestfun(a)

{

document.getElementById("device_batterystatus").innerHTML= window.external.device.device.batterystatus;

document.getElementById("battery_statustext").innerHTML= window.external.device.battery.statustext;

    document.getElementById("battery_status").innerHTML= window.external.device.battery.status;

    document.getElementById("battery_level").innerHTML= window.external.device.battery.level;

}

</script>

 

</head>

 

<body>

<p>The BatteryNavigate tag assumes your device has a battery. No

navigation or script call shall occur if a battery is not found.</p>

Current battery state: <div id="batterydiv">junk</div>

<p>External battery properties</p>

device.batterystatus: <div id="device_batterystatus">junk</div>

battery.statustext: <div id="battery_statustext">junk</div>

battery.status: <div id="battery_status">junk</div>

battery.level: <div id="battery_level">junk</div>

</body>

</html>

 

              

 

 

 

 


 

Category: Battery Information


 

 

STATUS

 

 

 

         

window.external.device.battery.status

 

Status is a property of the battery  object.  It provides a numeric value for the charged state of the battery.

 

 

Property:                                           status

Data Type:                    Number

 

Return                                                            The Return value is a number representing the battery charge status. The status is cumulative. For example charging(8) and low(2) may be a combined status with a resulting value of 10. Use bit testing for examination of the status.

 

255 means unknown

                                    128 means no_battery

                                    8   means charging

                                    4   means critical

                                    2   means low

                                    1   means high

                                   

    

EXTERNAL SYNTAX

               window.external.device.battery.status

    

IDL DEFINITION

 

[propget, id(2)] HRESULT Status([out, retval] long *pVal);

 

 

 

 

 

 

 

 

 

Category: Battery Information


 

 

STATUSTEXT

 

 

 

              

window.external.device.battery.statustext

 

StatusText is a property of the battery  object.  It provides a text description of the battery charge state. Read Only.

 

 

Property:                                           statustext

Data Type:                    String

 

Return                                                            The Return value is a string describing the  battery charge status. Note that the returned string is not cumulative as with the batterystatus. The operating system determines which information is most important.

 

Unknown

                                    No_battery

                                    Charging

                                    Critical

                                    Low

                                    Medium

                                    High

                                   

    

EXTERNAL SYNTAX

               window.external.device.battery.statustext

    

IDL DEFINITION

 

[propget, id(1), helpstring("property StatusText")]

HRESULT StatusText([out, retval] BSTR *pVal);

 

 

 

 

 

 

 

 

Category: Battery Information


 

 

LEVEL

 

 

 

         

window.external.device.battery.level

 

Level is a property of the battery  object.  It provides the charged state of the battery as a percentage.

 

 

Property:                                           level

Data Type:                    Number

 

Return                                                            The return value is a number representing the percent of remaining battery charge.

 

0 – 100     is the Percent of Battery Charge

255         means Unknown

                                   

    

EXTERNAL SYNTAX

               window.external.device.battery.level

    

IDL DEFINITION

 

[propget, id(3)] HRESULT Level([out, retval] long *pVal);

 

 

 

 

 

 

 

 

 

 

 

 

 

 


RF Signal Strength

Category: RF Signal


 

 

GSWBROWSE_SIGNALNAVIGATE

 

 

 

 

gswbrowse_SIGNALNAVIGATE

The GSWBROWSE_SIGNALNAVIGATE command launches a JavaScript Function or URL passing strings that contain the WLAN Signal Information

 

Command:                                         gswbrowse_SignalNavigate

Parameter(content):      JavaScript Function | URL

       

META TAG SYNTAX

          <META HTTP-EQUIV="gswbrowse_SignalNavigate" CONTENT="content">

    

NAVIGATION SYNTAX

               Properties

           Location.href = “gswac:gswbrowse_SignalNavigate,content";

document.location = “gswac:gswbrowse_SignalNavigate,content";

 

Methods

windows.navigate(“gswac:gswbrowse_SIgnalNaviagte,content");

 

Anchor Tag

<a href=”gswac:gswbrowse_SignalNavigate,content">

 

Where

Content      is a JavaScript Pseudo-URL function

Example: Javascript:OnSignal(‘%s’,’%s’,‘%s’);

OR      a URL

Example: http://acme_server/signal.htm?strength=%s&ssid=%s&mac=%s

 

 

 

Return

         

The Signal status information passed to the JavaScript Function or URL is:

            

Signal Strength                      A number in the range of 0 – 100, or 255 if unknown

 

 

Extended Service Set ID (ESSID or SSID)

The name of the Wireless Network,

 

                        MAC Address

                                                                        Media Access Control address of the device

 

                                                           

JavaScript Pseudo-URL Target

 

When the Meta Tag is processed the JavaScript function will be called with the WLAN status information. The status values passed to the JavaScript function are in the order as described below.

 

 

Figure 44: Passing Signal Status Information to Your JavaScript Function

 

 

 


URL Target

 

If a URL is specified then it is parsed and the pattern replacement described below will occur before the actual navigation takes place.  Each pattern specifies the name of the of the signal information of interest. The exact syntax must be used. The parsing process is as follows:

If ‘strength=%s’ is found then %s will be replaced with the signal strength value as specified above.

If ‘essid=%s’ is found then %s will be replaced with the Extended Service Set Id (ESSID), commonly referred to as the network name or SSID.

If ‘mac=%s’ is found then %s will be replaced with the Media Access Control(MAC) .

 

The URL target has the capability to retrieve a select number of the statuses.

 

Figure 45: Signal Navigate - Passing Form Data as Name/Value Pairs.

 


 

Example: GSWBROWSE_SIGNALNAVIGATE

 

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<META HTTP-EQUIV="SignalNavigate" CONTENT="Javascript:OnSignal('%s', '%s', '%s');">

<META HTTP-EQUIV="TimerNavigate" CONTENT="Javascript:TimerTestfun('%s');">

<META HTTP-EQUIV="TimerInterval" CONTENT="1000">

<script id ="script_OnSignal" type="text/javascript">

function OnSignal(s, ssid, mac)

{

        document.getElementById("ssiddiv").innerHTML=ssid;

        document.getElementById("macdiv").innerHTML=mac;

}

function TimerTestfun(a)

{

        document.getElementById("strengthdiv").innerHTML=

                window.external.device.rf.strength;

}

</script>

</head>

 

<body>

WLAN info:

<p>

Current strength: <div id="strengthdiv">junk</div>

Current SSID: <div id="ssiddiv">junk</div>

Current MAC: <div id="macdiv">junk</div>

</p>

</body>

 


 

Category: RF                                                                                                 


 

 

STRENGTH

 

 

 

 

 

 

         

window.external.device.rf.strength

 

Strength is a property of the rf  object.  It provides the strength of the RF Signal.  

 

 

Property:                                           strength            

Data Type:                    NUMBER

Return                                                            The return value is a number representing the rf signal strength.

 

1 – 100     is the RF Signal Strength on a scale of  1 to 100

-1          means Unknown

-2          means Not Associated                                 

    

EXTERNAL SYNTAX

               window.external.device.rf.strength

    

IDL DEFINITION

 

[[propget, id(1), helpstring("property Strength")]

HRESULT Strength([out, retval] long *pVal);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Example: WINDOW.external.device.rf.strength

 

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<META HTTP-EQUIV="SignalNavigate" CONTENT="Javascript:OnSignal('%s', '%s', '%s');">

<META HTTP-EQUIV="TimerNavigate" CONTENT="Javascript:TimerTestfun('%s');">

<META HTTP-EQUIV="TimerInterval" CONTENT="1000">

<script id ="script_OnSignal" type="text/javascript">

function OnSignal(s, ssid, mac)

{

        document.getElementById("ssiddiv").innerHTML=ssid;

        document.getElementById("macdiv").innerHTML=mac;

}

function TimerTestfun(a)

{

        document.getElementById("strengthdiv").innerHTML=

                window.external.device.rf.strength;

}

</script>

</head>

 

<body>

WLAN info:

<p>

Current strength: <div id="strengthdiv">junk</div>

Current SSID: <div id="ssiddiv">junk</div>

Current MAC: <div id="macdiv">junk</div>

</p>

<p><a href="default.htm">Return to main menu</a></p>

</body>


 

Category: RF


 

 

STATUS

 

 

 

                                                                                                                                                          

window.external.device.rf.status

 

Status is a property of the rf  object.  It provides a number that represents the status of the RF Signal. Read Only.

 

 

Property:                                           status   

Data Type:                    Number

Return                                                            The Return value is a NUMBER which represents the  RF Signal status

 

-1    means unknown

                                     0    means unassociated

                                     1    means poor

                                     2    means fair  

                                     3    means good

                                     4    means very good

                                     5    means excellent                          

 

                                   

    

EXTERNAL SYNTAX

               window.external.device.rf.status

    

IDL DEFINITION

 

[propget, id(2), helpstring("property Status")]

HRESULT Status([out, retval] long *pVal);

 

 

 

 

 

 

 

Example: WINDOW.external.device.rf.stATUS

 

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<META HTTP-EQUIV="SignalNavigate" CONTENT="Javascript:OnSignal('%s', '%s', '%s');">

<META HTTP-EQUIV="TimerNavigate" CONTENT="Javascript:TimerTestfun('%s');">

<META HTTP-EQUIV="TimerInterval" CONTENT="1000">

<script id ="script_OnSignal" type="text/javascript">

function OnSignal(s, ssid, mac)

{

        document.getElementById("ssiddiv").innerHTML=ssid;

        document.getElementById("macdiv").innerHTML=mac;

}

function TimerTestfun(a)

{

        document.getElementById("strengthdiv").innerHTML=

                window.external.device.rf.strength;

document.getElementById("statusdiv").innerHTML=

                window.external.device.rf.status;

 

}

</script>

</head>

 

<body>

WLAN info:

<p>

Current strength: <div id="strengthdiv">junk</div>

Current SSID: <div id="ssiddiv">junk</div>

Current MAC: <div id="macdiv">junk</div>

Current STATUS: <div id="statusdiv">junk</div>

 

</p>

</body>


 

Resume After Suspension

Category: Battery Information

 

 


 

 

GSWBROWSE_POWERON

 

 

 

 

 

gswbrowse_POWERON

The GSWBROWSE_POWERON command specifies an action to initiate when the device resumes power after a suspension.

Command:                                         gswbrowse_PowerOn

Parameter(content):      JavaScript Function | URL

    

META TAG SYNTAX

          <META HTTP-EQUIV="gswbrowse_PowerOn" CONTENT="content">

    

NAVIGATION SYNTAX

               Properties

           Location.href = “gswac:gswbrowse_PowerOn,content";

document.location = “gswac:gswbrowse_PowerOn,content";

 

Methods

windows.navigate(“gswac:gswbrowse_PowerOn,content");

 

Anchor Tag

<a href=”gswac:gswbrowse_PowerOn,content">

 

             Where

 

Content      A JavaScript function to execute or a page to navigate when the power resumes.

 

JavaScript Target

 

When the Meta Tag is processed the JavaScript function is configured to be called as the device powers up and resumes operation after being suspended.

 

Example:

 

<META HTTP-EQUIV="gswbrowse_PowerOn" CONTENT="Javascript:OnResume();">

                                                 

 

URL Target

When the Meta Tag  is processed the URL is configured to be called as the device powers up and resumes operation after being suspended.

 

< META HTTP-EQUIV="gswbrowse_PowerOn" CONTENT="http://acme_server/resume.htm">

 

 

Example: GSWBROWSE_POWERON

 

<html>

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<META HTTP-EQUIV="gswbrowse_OnSuspend" CONTENT="Javascript:OnSuspend();">

<META HTTP-EQUIV="gswbrowse_PowerOn" CONTENT="Javascript:OnResume();">

<script>

function OnSuspend()

{

        document.getElementById("suspenddiv").innerHTML="Suspended";

}

function OnResume()

{

        document.getElementById("resumeddiv").innerHTML="Resumed";

}

</script>

</head>

<body>

<p>

Suspended? <div id="suspenddiv">not reached yet...</div>

Resumed? <div id="resumeddiv">not reached yet...</div>

</p>

</body>

</html>


Scanner Operation

Category: Scanner


 

 

GSWBROWSE_SCANNERNAVIGATE

 

 

 

 

gswbrowse_SCANNERNAVIGATE

The GSWBROWSE_SCANNERNAVIGATE command takes scanner input and allows processing through a JavaScript Function or URL.  

 

Command:                                         gswbrowse_ScannerNavigate

Parameter(content):      JavaScript Function | URL

    

META TAG SYNTAX

          <META HTTP-EQUIV="gswbrowse_ScannerNavigate" CONTENT="content">

    

NAVIGATION SYNTAX

               Properties

           Location.href = “gswac:gswbrowse_ScannerNavigate,content";

document.location = “gswac:gswbrowse_ScannerNavigate,content";

 

Methods

windows.navigate(“gswac:gswbrowse_ScannerNaviagte,content");

 

Anchor Tag

<a href=”gswac:gswbrowse_ScannerNavigate,content">

Where

URL Target

 

If a URL is specified then it is parsed and the pattern replacement described below will occur before the actual navigation takes place.  The pattern specifies the name of the Error  information of interest.

If ‘errno=%s’ is found then %s will be replaced with the error number from the operating system.

If ‘msg=%s’ is found then %s will be replaced with the error message from the operating system.

 

 


 

Example: GSWBROWSE_SCANNERNAVIGATE

<html>

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<meta http-equiv="gswbrowse_ScannerNavigate" content="javascript:OnScan('%s', '%s', '%s', '%s', '%s');">

<script language=javascript>

function OnScan(a,b,c,d,e)

{

       document.getElementById("scandiv").innerHTML=

a + " " + b  + " " + c  + " " + d + " " + e;

}

</script>

</head>

<body>

<p>Scan data, see result below...</p>

Scan: <div id="scandiv">junk</div>

</body>

</html>
Timer-based Actions

 

Category: Timer Based Actions


 

 

GSWBROWSE_TIMERNAVIGATE

 

 

 

 

gswbrowse_TIMERNAVIGATE

The GSWBROWSE_TIMERNAVIGATE command launches a JavaScript Function or URL at specified intervals. The current time is  also passed as string to the JavaScript Function or URL .  The time interval must be specified with the GSWBROWSE_TIMERINTERVAL command for this command to work.

 

Command:                                          gswbrowse_TimerNavigate

Parameter (content):      JavaScript Function | URL    

META TAG SYNTAX

          <META HTTP-EQUIV="gswbrowse_TimerNavigate" CONTENT="content">

    

NAVIGATION SYNTAX

               Properties

           Location.href = “gswac:gswbrowse_TimerNavigate,content";

document.location = “gswac:gswbrowse_TimerNavigate,content";

 

Methods

windows.navigate(“gswac:gswbrowse_TimerNavigate,content");

 

Anchor Tag

<a href=”gswac:gswbrowse_TimerNavigate,content">

 

Where

 

Content      is a JavaScript function

Example: Javascript:TimerTest(‘%s’);

OR      a URL

Example: http://acme_server/timerexpired?time=%s

 

 

 

 

 

 

 


Return

         

The current time is passed to the JavaScript Function or URL.

            

Time                                      Current time in the format hh:mm:ss

                                               

JavaScript Pseudo-URL Target

 

When the Meta Tag is processed the JavaScript function will be called with the current time passed to the function.

Figure 46: Timer Navigate - Passing the time to your JavaScript function

URL Target

 

If a URL is specified then it is parsed and the pattern replacement described below will occur before the actual navigation takes place.  The pattern specifies the name of the of the signal information of interest.

If ‘time=%s’ is found then %s will be replaced with the current time value  in the

format                hh:mm:ss

Figure 47: Timer Navigate - Passing the time to you Form (URL).

Example of gswbrowse_timernavigate on page 80


Category: Timer Based Actions


 

 

GSWBROWSE_TIMERINTERVAL

 

 

 

 

gswbrowse_TIMERINTERVAL

The GSWBROWSE_TIMERINTERVAL command specifies the time interval (in milliseconds) that the GSWBROWSE_TIMERNAVIGATE command is launched.

Command:                                         gswbrowse_TimerInterval

Parameter(content):      Decimal number between 0 and 4294967275  Units: milliseconds

         

META TAG SYNTAX

          <META HTTP-EQUIV="gswbrowse_TimerInterval" CONTENT="content">

    

NAVIGATION SYNTAX

               Properties

           Location.href = “gswac:gswbrowse_TimerInterval,content";

document.location = “gswac:gswbrowse_TimerInterval,content";

 

Methods

windows.navigate(“gswac:gswbrowse_TimerInterval,content");

 

Anchor Tag

<a href=”gswac:gswbrowse_TimerInterval,content">

 

Where

 

Content      time in milliseconds with a range between 0 and  4294967275. Commas are not allowed

 

 

 

 

 

 

 

 

 

Example: GSWBROWSE_TIMERNAVIGATE

Example: GSWBROWSE_TIMERINTERVAL

 

<html>

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<META HTTP-EQUIV="TimerNavigate" CONTENT="Javascript:TimerTestfun('%s');">

<META HTTP-EQUIV="TimerInterval" CONTENT="1000">

<script id ="script_timer_funs" type="text/javascript">

function TimerTestfun(a)

{

      document.getElementById("timerdiv").innerHTML = a;

}

</script>

</head>

 

<body>

Current time: <div id="timerdiv">junk</div>

</body>

</html>


Browser Navigation Errors

Category:  Browser Navigation Errors


 

 

GSWBROWSE_ERRORNAVIGATE

 

 

 

 

gswbrowse_ERRORNAVIGATE

The GSWBROWSE_ERRORNAVIGATE command launches a JavaScript Function or URL  when a navigation error is detected by GSWBrowse. The error number and/or error message are passed to the target JavaScript or URL.

Command:                                         gswbrowse_ErrorNavigate

Parameter(content):      JavaScript Function | URL

META TAG SYNTAX

          <META HTTP-EQUIV="gswbrowse_ErrorNavigate" CONTENT="content">

    

NAVIGATION SYNTAX

               Properties

           Location.href = “gswac:gswbrowse_ErrorNavigate,content";

document.location = “gswac:gswbrowse_ErrorNavigate,content";

 

Methods

windows.navigate(“gswac:gswbrowse_ErrorNavigate,content");

 

Anchor Tag

<a href=”gswac:gswbrowse_ErrorNavigate,content">

Where

Content      is a JavaScript function

Example: Javascript:alert(‘%s’,’%s’);

OR       a URL

            Example:

<META HTTP-EQUIV="gswbrowse_ErrorNavigate" CONTENT=" http://acme_server/page_err.htm?errorno=%s&msg=%s”>

 

Return   

The Operating System Error Number and Error Message are passed to the JavaScript Function or URL.

            

Error Number                    Error Number as defined by the operating system

Error Message                  Error Message as defined by the operating system

 

           

JavaScript Pseudo-URL Target

 

When the Meta Tag is processed the JavaScript function will be called with the Error Number and Error Message passed to the function.

Figure 48: Error Navigate - Passing the OS Error Number and Error Message  to your JavaScript function

URL Target

 

If a URL is specified then it is parsed and the pattern replacement described below will occur before the actual navigation takes place.  The pattern specifies the name of the Error  information of interest.

If ‘errno=%s’ is found then %s will be replaced with the error number from the operating system.

If ‘msg=%s’ is found then %s will be replaced with the error message from the operating system.

Figure 49: Error Navigate - Passing the Error Number and Message  to a URL


 

Example: GSWBROWSE_ERRORNAVIGATE

 

<html>

 

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<META HTTP-EQUIV="gswbrowse_ErrorNavigate" CONTENT="Javascript:alert2('%s','%s');">

<script id ="script_alert2" type="text/javascript">

function alert2(errno,msg)

{

        alert(errno + "-->" + msg);

}

</script>

</head>

 

<body>

</body>

</html>
Exiting Browser

 

Category:  Browser Exiting


 

 

GSWBROWSE_COMMAND

 

 

 

 

gswbrowse_COMMAND

The GSWBROWSE_COMMAND command exits GSWBrowse.

Command:                                         gswbrowse_COMMAND

Parameter(content):      Exit

      META TAG SYNTAX

          <META HTTP-EQUIV="gswbrowse_Command" CONTENT="content">

    

NAVIGATION SYNTAX

               Properties

           Location.href = “gswac:gswbrowse_Command,content";

document.location = “gswac:gswbrowse_Command,content";

 

Methods

windows.navigate(“gswac:gswbrowse_Command,content");

 

Anchor Tag

<a href=”gswac:gswbrowse_Command,content">

Where

 

Content      EXIT

            Example:

<META HTTP-EQUIV="gswbrowse_Command" CONTENT="Exit">

 

Example: GSWBROWSE_COMMAND

<html>

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<META HTTP-EQUIV="gswbrowse_command" CONTENT="exit">

</head>

<body>

You should not see this text.

</body>

</html>

Category:  Browser Exiting


 

 

GSWBROWSE_APPLICATION

 

 

 

 

gswbrowse_APPLICATION

The GSWBROWSE_APPLICATION command exits GSWBrowse.

Command:                                         gswbrowse_APPLICATION

Parameter(content):      Quit

          

META TAG SYNTAX

          <META HTTP-EQUIV="gswbrowse_Application" CONTENT="content">

    

NAVIGATION SYNTAX

               Properties

           Location.href = “gswac:gswbrowse_Application,content";

document.location = “gswac:gswbrowse_Command,content";

 

Methods

windows.navigate(“gswac:gswbrowse_Application,content");

 

Anchor Tag

<a href=”gswac:gswbrowse_Application,content">

Where

 

Content      Quit

            Example:

<META HTTP-EQUIV="gswbrowse_Application" CONTENT="Quit">

 

Example: GSWBROWSE_APPLICATION

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<META HTTP-EQUIV="gswbrowse_Application" CONTENT="Quit">

</head

<body>

You should not see this text.

</body>

 


 

Soft Input Panel (SIP)

 

Category:  Input Panel


 

 

GSWBROWSE_SIP

 

 

 

 

gswbrowse_SIP

The GSWBROWSE_SIP command controls the display of the Soft Input Panel(SIP). The SIP can be hidden or displayed.

Command:                                         gswbrowse_SIP

Parameter(content):      SHOW|HIDE

    

META TAG SYNTAX

          <META HTTP-EQUIV="gswbrowse_SIP" CONTENT="content">

    

NAVIGATION SYNTAX

               Properties

           Location.href = “gswac:gswbrowse_SIP,content";

document.location = “gswac:gswbrowse_SIP,content";

 

Methods

windows.navigate(“gswac:gswbrowse_SIP,content");

 

Anchor Tag

<a href=”gswac:gswbrowse_SIP,content">

 

Where

 

Content      SHOW|HIDE

SHOW   -   Displays the Soft Input Panel

HIDE   -  Hides the Soft Input Panel

 

               Example:

<META HTTP-EQUIV="gswbrowse_SIP" CONTENT="show">

 

Example:  location.href = “gswac:gswbrowse_sip,hide”;


 

Example: GSWBROWSE_SIP

 

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<META HTTP-EQUIV="gswbrowse_SIP" CONTENT="Hide">

</head>

<body>

You should not see SIP when this page loads!!!

<p>

<a href="gswac:gswbrowse_sip,Show">SIP ON</a>

</p>

<p>

<a href="gswac:gswbrowse_sip,Hide">SIP OFF</a>

</p>

</body>

Category:  Input Panel


 

 

GSWBROWSE_SIPUP

 

 

 

 

gswbrowse_SIPUP

The GSWBROWSE_SIPUP command displays the Soft Input Panel(SIP).

Command:                                         gswbrowse_SIPUP

Parameter(content):      Empty String

 

META TAG SYNTAX

          <META HTTP-EQUIV="gswbrowse_SIPUp" CONTENT="content">

    

NAVIGATION SYNTAX

               Properties

           Location.href = “gswac:gswbrowse_SIPUp,content";

document.location = “gswac:gswbrowse_SIPUp,content";

 

Methods

windows.navigate(“gswac:gswbrowse_SIPUp,content");

 

Anchor Tag

<a href=”gswac:gswbrowse_SIPUp,content">

 

Where

 

Content      There is no content needed with the SIPUp but the empty string must be provided.

 

               Example:

<META HTTP-EQUIV="gswbrowse_SIPUp" CONTENT="">

 

Example:  location.href = “gswac:gswbrowse_SIPUp,”;


Example: GSWBROWSE_SIPUP

 

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<META HTTP-EQUIV="gswbrowse_SIP" CONTENT="Hide">

</head>

<body>

You should not see SIP when this page loads!!!

<p>

<a href="gswac:gswbrowse_SipUp,">SIP ON</a>

</p>

<p>

<a href="gswac:gswbrowse_Sip,Hide">SIP OFF</a>

</p>

</body>

Category:  Input Panel


 

 

GSWBROWSE_MOVESIP

 

 

 

 

 

gswbrowse_MOVESIP

The GSWBROWSE_MOVESIP command moves the Soft Input Panel (SIP) to a specified location using x and y coordinates.

Command:                                         gswbrowse_MOVESIP

Parameter(content):      [x coordinate | y coordinate] |

[x coordinate  y coordinate]

    

META TAG SYNTAX

          <META HTTP-EQUIV="gswbrowse_MOVESIP” CONTENT="content">

    

NAVIGATION SYNTAX

               Properties

           Location.href = “gswac:gswbrowse_MOVESIP,content";

document.location = “gswac:gswbrowse_MOVESIP,content";

 

Methods

windows.navigate(“gswac:gswbrowse_MOVESIP,content");

 

Anchor Tag

<a href=”gswac:gswbrowse_MOVESIP,content">

Where

Content       A number specifying the x and y screen coordinates for the location of the top left corner of the Soft Input Panel (SIP). The x coordinate (the column) is specified with the syntax “x=n” where n is the x coordinate value. The y coordinate (the row) is specified with the syntax “y=n” where n is the y coordinate value. The top-left corner of the display is defined as coordinate (0,0). The range of the coordinates is dependent on the usable display size. The coordinates are specified in pixels.

 

The coordinates include the menu bar, address bar, etc. areas of  GSWBrowse . One or both coordinates can be specified per command. Usually both will be specified but specification of individual coordinates are provided for compatibility.

 

Example:

<META HTTP-EQUIV="gswbrowse_MOVESIP" CONTENT="x=0 y=0">

 

Example: 

location.href = “gswac:gswbrowse_MOVESIP,x=100 y=100”;

 

Example:

<META HTTP-EQUIV="gswbrowse_MOVESIP" CONTENT="x=0">

<META HTTP-EQUIV="gswbrowse_MOVESIP" CONTENT="y=0">

 

Example: 

location.href = “gswac:gswbrowse_MOVESIP,x=100”;

location.href = “gswac:gswbrowse_MOVESIP,y=100”;

 

Figure 50: SIPUp Coordinate Flexible Syntax Specifications

 

 

 

Example: GSWBROWSE_SIPUP

 

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<META HTTP-EQUIV="gswbrowse_SipUp" CONTENT="">

<META HTTP-EQUIV="gswbrowse_MoveSIP" CONTENT="x=0">

<META HTTP-EQUIV="gswbrowse_MoveSIP" CONTENT="y=0">

</head>

<body>

The SIP should have moved to (0,0)

</body>
Time and Date

 

Category: Setting Time and Date


 

 

GSWBROWSE_SETTIME

 

gswbrowse_SETTIME

 

The GSWBROWSE_SETTIME command is used to set  the System Time on the device.  

 

Command:                                      gswbrowse_SETTIME

Parameter(Content):     hh:mm|hh.mm

    

META TAG SYNTAX

          <META HTTP-EQUIV="gswbrowse_SETTIME" CONTENT="content">

    

NAVIGATION SYNTAX

               Properties

          Location.href = “gswac:gswbrowse_SETTIME,content";

document.location = “gswac:gswbrowse_SETTIME,content";

 

Methods

windows.navigate(“gswac:gswbrowse_SETTIME,content");

 

Anchor Tag

<a href=”gswac:gswbrowse_SETTIME,content">

 

Where

Content      The time where hh is the hour and the mm is the minutes. Use leading zero if  hour and/or minutes are less than 10.

 

            Example: Meta Tag Syntax

 

<META HTTP-EQUIV="gswbrowse_SETTIME" CONTENT="19:20">

           

Example: Navigation Syntax

 

document.location = “gswac:gswbrowse_SETTIME,”09:20";

document.location = “gswac:gswbrowse_SETTIME,”19:05";

 

See example on page  94


 

Category: Setting Time and Date


 

 

GSWBROWSE_SETDATE

 

gswbrowse_SETDATE

 

The GSWBROWSE_SETDATE command is used to set  the System Date on the device.  

 

Command:                                      gswbrowse_SETDATE

Parameter(Content):     mm/dd/yyyy|mm,dd,yyyy|mm-dd-yyyy

    

META TAG SYNTAX

          <META HTTP-EQUIV="gswbrowse_SETDATE" CONTENT="content">

    

NAVIGATION SYNTAX

               Properties

          Location.href = “gswac:gswbrowse_SETDATE,content";

document.location = “gswac:gswbrowse_SETDATE,content";

 

Methods

windows.navigate(“gswac:gswbrowse_SETDATE,content");

 

Anchor Tag

<a href=”gswac:gswbrowse_SETDATE,content">

 

Where

Content      The date where mm is the month and the dd is the day and yyyy is the year. Use leading zero for month and/or day if  less than 10.

 

            Example: Meta Tag Syntax

 

<META HTTP-EQUIV="gswbrowse_SETDATE" CONTENT="09/13/2011">

           

Example: Navigation Syntax

 

document.location = “gswac:gswbrowse_SETDATE,09-13-2011”;

 


 

Example: GSWBROWSE_SETDATE

Example: GSWBROWSE_SETTIME

 

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<META HTTP-EQUIV="gswbrowse_SetDate" CONTENT="09/13/2011">

<META HTTP-EQUIV="gswbrowse_SetTime" CONTENT="19:20">

</head>

<body>

You should see date and time set to 09/13/2011 19:20 (GMT)

</body>
Font Size Control

 

Category: Font Size Control


 

 

GSWBROWSE_FONTSIZE

 

gswbrowse_FONTSIZE

 

The GSWBROWSE_FONTSIZE changes the Font Size relative to the size specified in the HTML content. 

 

Command:                                         gswbrowse_HomeKey

Parameter(Content):       Smallest|Smaller|Medium|Larger|Largest

    

META TAG SYNTAX

          <META HTTP-EQUIV="gswbrowse_FontSize" CONTENT="content">

    

NAVIGATION SYNTAX

               Properties

          Location.href = "gswac:gswbrowse_FontSize,content";

document.location = “gswac:gswbrowse_FontSize,content";

 

Methods

windows.navigate(“gswac:gswbrowse_FontSize,content");

 

Anchor Tag

<a href=”gswac:gswbrowse_FontSize,content">

 

Where

Content      Specifies the size of the font relative to the size specified in the HTML content..

 

 

            Example: Meta Tag Syntax

 

<META HTTP-EQUIV="gswbrowse_FontSize" CONTENT="Smallest">

           

Example: Navigation Syntax

 

document.location = "gswac:gswbrowse_FontSize,Smallest";

 


 

Example: GSWBROWSE_FONTSIZE

 

Example 1. Modify to the largest font size

 

 

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<META HTTP-EQUIV="gswbrowse_FontSize" CONTENT="largest">

</head>

<body>

You should see this in the largest font.

<p>

<a href="font_min.htm">Use smallest font</a>

</p>

</body>

 

Example 2. Modify to the smallest font size

 

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<META HTTP-EQUIV="gswbrowse_FontSize" CONTENT="smallest">

</head>

<body>

You should see this in the smallest font.

<p>

<a href="font_max.htm">Use largest font</a>

</p>

</body>>

 


Cursor Positioning

 

Category: Cursor Position


 

 

GSWBROWSE_CURSORPOS

 

gswbrowse_CURSORPOS

 

The GSWBROWSE_CURSORPOS command moves the cursor position  specified location using x and y coordinates.

 

Command:                                       gswbrowse_CursorPos

Parameter(Content):      [x coordinate | y coordinate] |

[x coordinate  y coordinate]

    

META TAG SYNTAX

          <META HTTP-EQUIV="gswbrowse_CursorPos" CONTENT="content">

    

NAVIGATION SYNTAX

               Properties

          Location.href = "gswac:gswbrowse_CursorPos,content";

document.location = "gswac:gswbrowse_CursorPos,content";

 

Methods

windows.navigate("gswac:gswbrowse_CursorPos,content");

 

Anchor Tag

<a href="gswac:gswbrowse_CursorPos,content">

 

Where

Content      A number specifying the x and/or y screen coordinate where to place the cursor. The x coordinate (the column) is specified with the syntax “x=n” where n is the x coordinate value. The y coordinate (the row) is specified with the syntax “y=n” where n is the y coordinate value.

 

The top-left corner of the display is coordinate (0,0). The range of the coordinates is dependent on the usable display size. One or both coordinates can be specified per command. Usually both will be specified but specification of individual coordinates is provided for compatibility. The coordinates are specified in pixels.

 

 

 

 

 

               Example:

<META HTTP-EQUIV="gswbrowse_CursorPos" CONTENT="x=0 y=0">

 

Examplelocation.href = "gswac:gswbrowse_CursorPos,x=0 y=0";

 

Example:

<META HTTP-EQUIV="gswbrowse_CursorPos" CONTENT="x=0">

<META HTTP-EQUIV="gswbrowse_CursorPos" CONTENT="y=0">

 

Example:              location.href = "gswac:gswbrowse_CursorPos,x=0";

location.href = "gswac:gswbrowse_CursorPos,y=0";

 

Figure 51: CURSORPOS Coordinate Flexible Syntax Specification

Example: GSWBROWSE_CURSORPOS

 

 

<<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<META HTTP-EQUIV="gswbrowse_CursorPos" CONTENT="x=100">

<META HTTP-EQUIV="gswbrowse_CursorPos" CONTENT="y=100">

</head>

<body>

You should see cursor at (100,100)

</body>>

 

 

 


Rebooting Device – Warm/Soft

 

Category: Reboot Device


 

 

GSWBROWSE_REBOOT

 

gswbrowse_REBOOT

 

The GSWBROWSE_REBOOT command  forces the device to reboot. 

 

Command:                                      gswbrowse_CursorPos

Parameter(Content):      cold | warm

    

META TAG SYNTAX

          <META HTTP-EQUIV="gswbrowse_Reboot" CONTENT="content">

    

NAVIGATION SYNTAX

               Properties

          Location.href = "gswac:gswbrowse_Reboot,content";

document.location = "gswac:gswbrowse_Reboot,content";

 

Methods

windows.navigate("gswac:gswbrowse_Reboot,content");

 

Anchor Tag

<a href="gswac:gswbrowse_Reboot,content">

 

Where

Content      Warm boot restarts the operating system. Any unsaved data will be lost.

                                     

Cold Boot will restore device to vendor defaults. Special programming is needed for third party applications to survive and be restored after a cold boot.

Specific behavior with respect to what is lost and what is not is vendor dependent. You may lose registry settings and your data. Be sure you know what you are doing before initiating a cold boot. Consult vendor documentation.

 

Both Cold and Warm Reboots will not preserve contents of the volatile memory. For example  - Context of running application when the reboot was initiated, this includes any user data.

 

               Example:

<META HTTP-EQUIV="gswbrowse_Reboot" CONTENT="cold">

Example: 

location.href = "gswac:gswbrowse_Reboot,cold";

 

Example: GSWBROWSE_REBOOT

 

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<META HTTP-EQUIV="gswbrowse_Reboot" CONTENT="warm">

</head>

<body>

You should see warm reboot. You will not see this page

<p>

</p>

</body>

Send Menu Commands

                                                           

Category: APP


 

 

SENDMENUCOMMAND

 

 

 

              

window.external.app.sendmenucommand

 

SendMenu is a method  of the  window.external.app  object.  Programmatically execute  any GSWBrowse menu option.  The command is interpreted in the context of the active session, exactly as if the user entered the command from the device.

 

 

Method:                                               SendMenuCommand

Data Type:                    NUMBER

                             

Return                   There is no return value

 

Action:                                                           The menu option selected executes.

 

      EXTERNAL SYNTAX

               window.external.app.SendMenuCommand(content)

    

IDL DEFINITION

[id(9), helpstring("method SendMenuCommand")]

HRESULT SendMenuCommand(long CommandId)

 

 

Where

Content                   is the numeric identifier of the menu command to execute. The identifier can be the explicit literal (number) or the symbolic name constant for that menu command. If you use symbolic names, the file GSWBrowse.js should be included or the relevant contents copied to your program. See page  104 for the symbolic textual name constants.

 

 

 

 

 

 

Example: SENDMENUCOMMAND 1

 

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<script language="javascript">

function SendCommand(value)

{

      window.external.app.SendMenuCommand(value);

}

</script>

</head>

<body>

<center>

<table border=5 bordercolor=black  cellspacing=8>

<form name="Commander">

<th>

The Command Center

</th>

<tr align="center"><td>

      <input type="text" name="input" maxlength=10 size=24>

</td></tr>

<tr align=center><td>

        <input type="button" value="  Send Command  " onclick="SendCommand(input.value)">

</td</tr>

<tr align="center"><td>

      <input type="button" value="  BR1  " onclick="SendCommand(32846)">

      <input type="button" value="  BR2  " onclick="SendCommand(32847)">

      <input type="button" value="  BR3  " onclick="SendCommand(32848)">

      <input type="button" value="  BR4  " onclick="SendCommand(32849)">

</td></tr>

</form>

</table>

</body>


 

Example: SENDMENUCOMMAND 2

 

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<script src="../scripts/GSWBrowse.js"></script>

<script language="javascript">

function SendCommand(value)

{

      window.external.app.SendMenuCommand(value);

}

</script>

</head>

<body>

<center>

<table border=5 bordercolor=black  cellspacing=8>

<form name="Commander">

<th>

The Command Center

</th>

<tr align="center"><td>

      <input type="text" name="input" maxlength=10 size=24>

</td></tr>

<tr align=center><td>

        <input type="button" value="  Send Command  " onclick="SendCommand(input.value)">

</td</tr>

<tr align="center"><td>

      <input type="button" value="  BR1  " onclick="SendCommand(GSW.GSWBrowse.Menus.ID_VIEW_BROWSER_1)">

      <input type="button" value="  BR2  " onclick="SendCommand(GSW.GSWBrowse.Menus.ID_VIEW_BROWSER_2)">

      <input type="button" value="  BR3  " onclick="SendCommand(GSW.GSWBrowse.Menus.ID_VIEW_BROWSER_3)">

      <input type="button" value="  BR4  " onclick="SendCommand(GSW.GSWBrowse.Menus.ID_VIEW_BROWSER_4)">

      <input type="button" value="  BR5  " onclick="SendCommand(GSW.GSWBrowse.Menus.ID_VIEW_BROWSER_5)">

</td></tr>

</form>

</table>

 

</body>

Send Menu Symbolic Names and Literals

 

FILE MENU

Explicit Number

 

ID_FILE_OPEN

32783

GSW.GSWBrowse.Menus.ID_FILE_OPEN

ID_FILE_SAVEAS

32796

GSW.GSWBrowse.Menus.ID_FILE_SAVEAS

ID_FILE_PRINT

32770

GSW.GSWBrowse.Menus.ID_FILE_PRINT

ID_FILE_SECURITY

32853

GSW.GSWBrowse.Menus.ID_FILE_SECURITY

ID_FILE_CLOSE

32769

GSW.GSWBrowse.Menus.ID_FILE_CLOSE

Table 2: Send Menu Command – File

            EDIT MENU

 

 

ID_EDIT_SELECT_ALL

32794

GSW.GSWBrowse.Menus.ID_EDIT_SELECT_ALL

ID_EDIT_FIND

32771

GSW.GSWBrowse.Menus.ID_EDIT_FIND

Table 3: Send Menu Command – Edit

 

            VIEW MENU

 

 

ID_VIEW_OPTIONS

32773

GSW.GSWBrowse.Menus.ID_VIEW_OPTIONS

ID_VIEW_REGISTRATION

32854

GSW.GSWBrowse.Menus.ID_VIEW_REGISTRATION

ID_VIEW_SET_AS_HOME

32855

GSW.GSWBrowse.Menus.ID_VIEW_SET_AS_HOME

ID_VIEW_RESET_HOME

32859

GSW.GSWBrowse.Menus.ID_VIEW_RESET_HOME

ID_VIEW_ENABLE_BROWSER

32860

GSW.GSWBrowse.Menus.ID_VIEW_ENABLE_BROWSER

ID_VIEW_MULTIPLE_BROWSERS

32858

GSW.GSWBrowse.Menus.ID_VIEW_MULTIPLE_BROWSERS

 

 

 

Table 4: Send Menu Command - View

 

VIEW MENU – Bars

 

 

ID_VIEW_STATUSBAR

32815

GSW.GSWBrowse.Menus.ID_VIEW_STATUSBAR

ID_VIEW_RESET_BARS

32861

GSW.GSWBrowse.Menus.ID_VIEW_RESET_BARS

ID_VIEW_CAPTION

32827

GSW.GSWBrowse.Menus.ID_VIEW_CAPTION

ID_VIEW_TOOLBAR

32830

GSW.GSWBrowse.Menus.ID_VIEW_TOOLBAR

ID_VIEW_ADDRESSBAR

32828

GSW.GSWBrowse.Menus.ID_VIEW_ADDRESSBAR

ID_VIEW_MENUBAR

32831

GSW.GSWBrowse.Menus.ID_VIEW_MENUBAR

ID_VIEW_TASKBAR

32857

GSW.GSWBrowse.Menus.ID_VIEW_TASKBAR

Table 5: Send Menu Command - View Bars


 

 

VIEW MENU – Browsers

 

 

ID_VIEW_BROWSER_1

32846

GSW.GSWBrowse.Menus.ID_VIEW_BROWSER_1

ID_VIEW_BROWSER_2

32847

GSW.GSWBrowse.Menus.ID_VIEW_BROWSER_2

ID_VIEW_BROWSER_3

32848

GSW.GSWBrowse.Menus.ID_VIEW_BROWSER_3

ID_VIEW_BROWSER_4

32849

GSW.GSWBrowse.Menus.ID_VIEW_BROWSER_4

ID_VIEW_BROWSER_5

32850

GSW.GSWBrowse.Menus.ID_VIEW_BROWSER_5

Table 6: Send Menu Command - View Browsers

                       

VIEW MENU – UI Control

Comments

ID_UICONTROL_CTXMENUS

32797

GSW.GSWBrowse.Menus.ID_UICONTROL_CTXMENUS

ID_CONTEXT_MENU_DEFAULT ID_VIEW_SET_AS_HOME FILE_SAVEAS

32836

GSW.GSWBrowse.Menus.ID_CONTEXT_MENU_DEFAULT

ID_CONTEXT_MENU_IMAGE

32837

GSW.GSWBrowse.Menus.ID_CONTEXT_MENU_IMAGE

ID_CONTEXT_MENU_CONTROL

32838

GSW.GSWBrowse.Menus.ID_CONTEXT_MENU_CONTROL

ID_CONTEXT_MENU_TABLE

32839

GSW.GSWBrowse.Menus.ID_CONTEXT_MENU_TABLE

ID_CONTEXT_MENU_TEXTSELECT

32840

GSW.GSWBrowse.Menus.ID_CONTEXT_MENU_TEXTSELECT

ID_CONTEXT_MENU_ANCHOR

32842

GSW.GSWBrowse.Menus.ID_CONTEXT_MENU_ANCHOR

ID_CONTEXT_MENU_UNKNOWN

32843

GSW.GSWBrowse.Menus.ID_CONTEXT_MENU_UNKNOWN

 

 

 

ID_UICONTROL_DIALOG

32806

GSW.GSWBrowse.Menus.ID_UICONTROL_DIALOG

ID_UICONTROL_3DBORDER ID_VIEW_SET_AS_HOME FILE_SAVEAS

32807

GSW.GSWBrowse.Menus.ID_UICONTROL_3DBORDER

ID_UICONTROL_SCROLLBARS

32808

GSW.GSWBrowse.Menus.ID_UICONTROL_SCROLLBARS

Table 7: Send Menu Command - View UI Control

           

             VIEW MENU – Dld Control

Comments

ID_DLCTL_DLIMAGES

32800

GSW.GSWBrowse.Menus.ID_DLCTL_DLIMAGES

ID_DLCTL_VIDEOS

32801

GSW.GSWBrowse.Menus.ID_DLCTL_VIDEOS

ID_DLCTL_BGSOUNDS

32802

GSW.GSWBrowse.Menus.ID_DLCTL_BGSOUNDS

ID_DLCTL_NO_SCRIPTS

32803

GSW.GSWBrowse.Menus.ID_DLCTL_NO_SCRIPTS

ID_DLCTL_NO_JAVA

32804

GSW.GSWBrowse.Menus.ID_DLCTL_NO_JAVA

ID_DLCTL_NO_RUNACTIVEX

32813

GSW.GSWBrowse.Menus.ID_DLCTL_NO_RUNACTIVEX

ID_DLCTL_NO_CLIENTPULL

32833

GSW.GSWBrowse.Menus.ID_DLCTL_NO_CLIENTPULL

ID_DLCTL_NO_FRAMEDOWNLOAD

32834

GSW.GSWBrowse.Menus.ID_DLCTL_NO_FRAMEDOWNLOAD

ID_DLCTL_FORCEOFFLINE

32835

GSW.GSWBrowse.Menus.ID_DLCTL_FORCEOFFLINE

Table 8: Send Menu Command - View Dld Control

                       


GO MENU

 

 

ID_GO_BACK

32774

GSW.GSWBrowse.Menus.ID_GO_BACK

ID_GO_FORWARD

32775

GSW.GSWBrowse.Menus.ID_GO_FORWARD

ID_GO_HOME

32776

GSW.GSWBrowse.Menus.ID_GO_HOM

ID_VIEW_STOP

32780

GSW.GSWBrowse.Menus.ID_VIEW_STO

ID_VIEW_REFRESH

32782

GSW.GSWBrowse.Menus.ID_VIEW_REFRESH

Table 9: Send Menu Command - GO

HELP MENU

 

 

ID_HELP_ABOUT

32778

GSW.GSWBrowse.Menus.ID_HELP_ABOUT

Table 10: Send Menu Command - Help

                                               

                                                           

                                               

           


Printing

 

Category: Printing


 

 

GSWBROWSE_ZEBRALABEL_PRINT

 

 

gswbrowse_ZEBRALABEL_PRINT

 

The GSWBROWSE_ZEBRALABEL_PRINT command sends data to the printer. Up to 100,000 bytes of data can be sent to a printer.  This includes serial, Bluetooth, IrDA printers and network printers. The completion status can be obtained using the gswbrowse_ZEBRALABEL_COMPLETE tag.

 

Command:                                         gswbrowse_ZEBRALABEL_PRINT

Parameter(Content):       Databytes to print

    

META TAG SYNTAX

<META HTTP-EQUIV="gswbrowse_ZebraLabel_Print" CONTENT="content">

    

NAVIGATION SYNTAX

               Properties

Location.href = "gswac:gswbrowse_ZebraLabel_Print,content";

document.location = "gswac:gswbrowse_ZebraLabel_Print,content";

 

Methods

windows.navigate("gswac:gswbrowse_ZebraLabel_Print,content");

 

Anchor Tag

<a href="gswac:gswbrowse_ZebraLabel_Print,content">

 

Where

Content      Data bytes to send to the printer.  Unique to GSWBrowse, up to 100,000 bytes can be sent to the printer.

                        The text must follow your printer's raw data format, for example CPCL.
The following C/C++ style escape sequences are allowed:

\f - formfeed
\t - tab
\n - new line
\r - carriage return
\ooo - octal number
\xHH - hex number (one byte)
\\ - backslash
\0 - zero (one byte)

               Example:

<META HTTP-EQUIV="gswbrowse_ZebraLabel_Print" CONTENT="! 0 200 200 210 1\r\nTEXT 4 0 30 40 Hello World\r\nFORM\r\nPRINT\r\n">

 

Example: 

location.href = "gswac:gswbrowse_ZebraLabel_Print, ! 0 200 200 210 1\r\nTEXT 4 0 30 40 Hello World\r\nFORM\r\nPRINT\r\n”;

 

Example: GSWBROWSE_ZEBRALABEL_PRINT

 

<html>
<head>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<meta http-equiv="gswbrowse_ZebraLabel_Complete" content=
"http://www.yourserver.com/printresult.htm?status=%ld">
<meta http-equiv="gswbrowse_ZebraLabel_Print"
content="! 0 200 200 210 1\r\nTEXT 4 0 30 40 Hello
World\r\nFORM\r\nPRINT\r\n">

</head>
<body>
<p>ZebraLabel_Print test</p>
<p><a href="default.htm">Return to main print test menu</a></p>
</body>
</html>

 

Category: Printing


 

 

GSWBROWSE_ZEBRALABEL_COMPLETE

 

 

gswbrowse_ZEBRALABEL_COMPLETE

 

The GSWBROWSE_ZEBRALABEL_COMPLETE meta tag allows natigation or JavaScript call to occur based on the completion status of the gswbrowse_ZebraLablel_Print meta tag.

 

Command:                                         gswbrowse_ZEBRALABEL_COMPLETE

Parameter(content):      JavaScript Function | URL

       

META TAG SYNTAX

          <META HTTP-EQUIV="gswbrowse_ZebraLabel_Complete" CONTENT="content">

    

NAVIGATION SYNTAX

Note: Make sure that the navigational syntax below is executed before printing through gswbrowse_ZebraLabel_Print  is initiated.

 

               Properties

           Location.href = “gswac:gswbrowse_ZebraLabel_Complete,content";

document.location =      “gswac:gswbrowse_ZebraLabel_Complete,content";

 

Methods

windows.navigate(“gswac:gswbrowse_ZebraLabelComplete,content");

 

Anchor Tag

<a href=”gswac:gswbrowse_ZebraLabel_Complete,content">

 

Where

Content      is a JavaScript Pseudo-URL function

Example: content= "javascript:OnPrint(%ld);">

OR      a URL

Example:  content= "http://192.168.1.102/print.htm?status=%ld">

 

Where %ld is a placeholder for the printing result. When the call of navigation occurs it will be replaced with ‘0’ or ‘1’.

 


 

Category: Printing


 

 

PRINTSTRING

 

 

 

              

window.external.app.session(idx).printer.PrintString

 

PrintString  is a method of the  window.external.app.session.printer object.  Send data to the printer

 

Parameters:                                       data

Syntax of the data to be sent is described in the gswbrowse_ZebraLabel_print section.

 

                                                           

                             

    

EXTERNAL SYNTAX

     window.external.app.session(idx).printer.printerstring

    

IDL DEFINITION

 

[id(1), helpstring(“method PrintString”)]

HRESULT PrintString(BSTR Data);

 

 

EXAMPLE - Segment

var idx = window.external.ThisSessionIndex;
      var Printer = window.external.app.session(idx).Printer;
      Printer.PrintString(document.Commander.info.value);

 


 

Browser and  Session Data

 

                                                           

Category: APP


 

 

SESSION

 

 

 

 

window.external.app.Session

 

Session is a property of the  window.external.app object.  It returns the session object corresponding to the provided index of  the browser instance.

 

Property:                                           Session

Input Parameter:              Index of the Browser Instance (1-5)

                             

Return                                                            The Return value is a session object which contains its properties and methods.

 

                                         

EXTERNAL SYNTAX

               window.external.app.Session(Index)

    

IDL DEFINITION

[propget, id(5)]

HRESULT Session(long Index, [out, retval] IDispatch* *pVal); (GSW only)

 

 

 

 

 

 

 

 

 

 

 

Example: WINDOW.EXTERNAL.APP.SESSION

 

<html>

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

</head>

<body onload="javascript:fetchvalues();">

<form id="form1" name="form1">

Test of GSWBrowse Object Model<br>

idx=window.external.ThisSessionIndex<input type="text" name="thisidx" size="40"><br>

window.external.app.session(idx).host<input type="text" name="host" size="40"><br>

window.external.app.session(idx).port<input type="text" name="port" size="40"><br>

window.external.app.session(idx).type<input type="text" name="type" size="40"><br>

window.external.app.session(idx).path<input type="text" name="path" size="40"><br>

window.external.app.session(idx).homepage<input type="text" name="homepage" size="60"><br>

</form>

function fetchvalues()

{

var app = window.external.app;

var idx = window.external.ThisSessionIndex;

document.form1.thisidx.value = idx;

var mysession = app.session(idx);

document.form1.host.value = mysession.host;

document.form1.port.value = mysession.port;

document.form1.type.value = mysession.type;

document.form1.path.value = mysession.path;

document.form1.homepage.value = mysession.homepage;

}

</script>

</body>

</html>


 

Category: APP


 

 

THISSESSIONINDEX

 

 

 

 

window.external.ThisSessionIndex

 

ThisSessionIndex is a property of the  window.external object.  It provides a number that represents the index of the session containing your execution context.  Note: This may or may not be the active browser. This allows a script to find out in which browser instance it is running.

 

Property:                                           ThisSessionIndex

Data Type:                    Number

                             

Return                                                            The Return value is a NUMBER which represents the Browser Instance Number

 

                                    Possible Values: 1,2,3,4,5                           

 

                                   

    

EXTERNAL SYNTAX

               window.external.ThisSessionIndex

    

IDL DEFINITION

 

[propget, id(DISPID_THIS_SESSION_INDEX), helpstring("property ThisSessionIndex")]

HRESULT ThisSessionIndex([out, retval] long *pVal);

 

 

 

 

 

 

 

                                                           

Category: APP


 

 

ACTIVESESSIONINDEX

 

 

 

              

window.external.app.ActiveSessionIndex

 

ActiveSessionIndex is a property of the window.external.app object.  Get/Set the Active Browser.

 

Property:                                           ActiveSessionIndex

Data Type:                    Number

                             

Return                                                            The Return value is a NUMBER which represents the Active Session.

 

                                    Possible Values: 1,2,3,4,5                           

                             

    

EXTERNAL SYNTAX

               window.external.app.ActiveSessionIndex

    

IDL DEFINITION

 

[propget, id(7)]

HRESULT ActiveSessionIndex([out, retval] long *pVal);

 

[propput, id(7)]

HRESULT ActiveSessionIndex([in] long newVal);

 

 

 

 

 

 

 

 

Example: WINDOW.EXTERNAL.APP.ACTIVESESSIONINDEX

 

<html>

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

</head>

<body onload="javascript:fetchvalues();">

<form id="form1" name="form1">

Test of GSWBrowse Object Model<br>

idx=window.external.app.ActiveSessionIndex<input type="text" name="activesessionidx" size="40"><br>

window.external.app.session(idx).host<input type="text" name="host" size="40"><br>

window.external.app.session(idx).port<input type="text" name="port" size="40"><br>

window.external.app.session(idx).type<input type="text" name="type" size="40"><br>

window.external.app.session(idx).path<input type="text" name="path" size="40"><br>

window.external.app.session(idx).homepage<input type="text" name="homepage" size="60"><br>

</form>

function fetchvalues()

{

       var app = window.external.app;

      var idx = window.external.app.ActiveSessionIndex;

      document.form1.activesessionidx.value = idx;

      var activesession = app.session(idx);

      document.form1.host.value = activesession.host;

      document.form1.port.value = activesession.port;

      document.form1.type.value = activesession.type;

      document.form1.path.value = activesession.path;

      document.form1.homepage.value = activesession.homepage;

 

     

}

</script>

</body>

</html>


 

Category: APP


 

 

SESSION(IDX).HOST

 

 

 

              

window.external.app.session(idx).host

 

Host is a property of the session object.  Get the host part of the URL for the specified session.

 

Property:                                           session.host

Data Type:                    String

                             

Return                                                            The return value is a String which contains the Host part of the URL for the session.

           

    

EXTERNAL SYNTAX

               window.external.app.Session(idx).host

               window.external.app.ActiveSession.host

 

    

IDL DEFINITION

 

[propget, id(1), helpstring("property Host")]

HRESULT Host([out, retval] BSTR *pVal);

 

Where

idx               is the index of the GSWBrowse session.

 

Figure 52: Host part of URL

 

Example: WINDOW.EXTERNAL.APP.SESSION(IDX).HOST

 

<html>

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

</head>

<body onload="javascript:fetchvalues();">

<form id="form1" name="form1">

Test of GSWBrowse Object Model<br>

idx=window.external.app.ActiveSessionIndex<input type="text" name="activesessionidx" size="40"><br>

window.external.app.session(idx).host<input type="text" name="host" size="40"><br>

window.external.app.session(idx).port<input type="text" name="port" size="40"><br>

window.external.app.session(idx).type<input type="text" name="type" size="40"><br>

window.external.app.session(idx).path<input type="text" name="path" size="40"><br>

window.external.app.session(idx).homepage<input type="text" name="homepage" size="60"><br>

</form>

function fetchvalues()

{

      var app = window.external.app;

      var idx = window.external.app.ActiveSessionIndex;

      document.form1.activesessionidx.value = idx;

      var activesession = app.session(idx);

      document.form1.host.value = activesession.host;

      document.form1.port.value = activesession.port;

      document.form1.type.value = activesession.type;

      document.form1.path.value = activesession.path;

      document.form1.homepage.value = activesession.homepage;

 

     

}

</script>

</body>

</html>


 

Category: APP


 

 

SESSION(IDX).PORT

 

 

 

              

window.external.app.session(idx).port

 

Port is a property of the session object.  Get the port number for the specified session.

 

Property:                                           Session.port

Data Type:                    String

                             

Return                                                            The return value is a String which contains the port number for the session.

 

                                                                 

                             

    

EXTERNAL SYNTAX

               window.external.app.Session(idx).port

               window.external.app.Active.port

 

    

IDL DEFINITION

 

[propget, id(1), helpstring("property Host")]

HRESULT Host([out, retval] BSTR *pVal);

 

 

Where

idx               is the index of the GSWBrowse session.

 

 

 

 

 

 

 

 

 

Example: WINDOW.EXTERNAL.APP.SESSION(INDEX).PORT

 

<html>

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

</head>

<body onload="javascript:fetchvalues();">

<form id="form1" name="form1">

Test of GSWBrowse Object Model<br>

idx=window.external.app.ActiveSessionIndex<input type="text" name="activesessionidx" size="40"><br>

window.external.app.session(idx).host<input type="text" name="host" size="40"><br>

window.external.app.session(idx).port<input type="text" name="port" size="40"><br>

window.external.app.session(idx).type<input type="text" name="type" size="40"><br>

window.external.app.session(idx).path<input type="text" name="path" size="40"><br>

window.external.app.session(idx).homepage<input type="text" name="homepage" size="60"><br>

</form>

function fetchvalues()

{

var app = window.external.app;

      var idx = window.external.app.ActiveSessionIndex;

      document.form1.activesessionidx.value = idx;

      var activesession = app.session(idx);

      document.form1.host.value = activesession.host;

      document.form1.port.value = activesession.port;

      document.form1.type.value = activesession.type;

      document.form1.path.value = activesession.path;

      document.form1.homepage.value = activesession.homepage;    

}

</script>

</body>

</html>


 

Category: APP


 

 

SESSION(IDX).TYPE

 

 

 

              

window.external.app.session(idx).type

 

Type is a property of the session object.  Get the scheme type of the specified session. Based on the executing content the type will likely be http or https.

 

Property:                                           session.type

Data Type:                    String

                             

Return                                                            The return value is a string which contains the scheme type for the session.                           

     EXTERNAL SYNTAX

               window.external.app.Session(idx).type

               window.external.app.ActiveSession.type

 

    

IDL DEFINITION

 

[propget, id(1), helpstring("property Host")]

HRESULT Host([out, retval] BSTR *pVal);

 

Where

Idx               is the index of the GSWBrowse session.

Figure 53: Type part of URL

 

 

Example: WINDOW.EXTERNAL.APP.SESSION(IDX).TYPE

 

<html>

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

</head>

<body onload="javascript:fetchvalues();">

<form id="form1" name="form1">

Test of GSWBrowse Object Model<br>

idx=window.external.app.ActiveSessionIndex<input type="text" name="activesessionidx" size="40"><br>

window.external.app.session(idx).host<input type="text" name="host" size="40"><br>

window.external.app.session(idx).port<input type="text" name="port" size="40"><br>

window.external.app.session(idx).type<input type="text" name="type" size="40"><br>

window.external.app.session(idx).path<input type="text" name="path" size="40"><br>

window.external.app.session(idx).homepage<input type="text" name="homepage" size="60"><br>

</form>

function fetchvalues()

{

var app = window.external.app;

      var idx = window.external.app.ActiveSessionIndex;

      document.form1.activesessionidx.value = idx;

      var activesession = app.session(idx);

      document.form1.host.value = activesession.host;

      document.form1.port.value = activesession.port;

      document.form1.type.value = activesession.type;

      document.form1.path.value = activesession.path;

      document.form1.homepage.value = activesession.homepage;    

}

</script>

</body>

</html>


 

Category: APP


 

 

SESSION(IDX).PATH

 

 

 

              

window.external.app.session(idx).path

 

Path is a property of the session object.  Get the path part of the URL of the specified session.

 

Property:                                           Session.path

Data Type:                    String

                             

Return                                                            The return value is a string which contains the path for the session.                         

EXTERNAL SYNTAX

               window.external.app.Session(idx).path

               window.external.app.ActiveSession.path

    

IDL DEFINITION

 

[[propget, id(4), helpstring("property Path")]

HRESULT Path([out, retval] BSTR *pVal);

Where

idx               is the index of the GSWBrowse session.

 

Figure 54: Path part of URL

 

 

Example: WINDOW.EXTERNAL.APP.SESSION(IDX).PATH

 

<html>

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

</head>

<body onload="javascript:fetchvalues();">

<form id="form1" name="form1">

Test of GSWBrowse Object Model<br>

idx=window.external.app.ActiveSessionIndex<input type="text" name="activesessionidx" size="40"><br>

window.external.app.session(idx).host<input type="text" name="host" size="40"><br>

window.external.app.session(idx).port<input type="text" name="port" size="40"><br>

window.external.app.session(idx).type<input type="text" name="type" size="40"><br>

window.external.app.session(idx).path<input type="text" name="path" size="40"><br>

window.external.app.session(idx).homepage<input type="text" name="homepage" size="60"><br>

</form>

function fetchvalues()

{

var app = window.external.app;

      var idx = window.external.app.ActiveSessionIndex;

      document.form1.activesessionidx.value = idx;

      var activesession = app.session(idx);

      document.form1.host.value = activesession.host;

      document.form1.port.value = activesession.port;

      document.form1.type.value = activesession.type;

      document.form1.path.value = activesession.path;

      document.form1.homepage.value = activesession.homepage;    

}

</script>

</body>

</html>


 

Category: APP


 

 

SESSION(IDX).HOMEPAGE

 

 

 

              

window.external.app.session(idx).homepage

 

Homepage is a property of the session object.  Get/Set the home page for the specified GSWBrowse instance(tab).  Each GSWBrowse session may have different homepages.

 

Property:                                           session.homepage

Input Parameter:              When configuring the homepage this is a String that specified the entire homepage page.

                              Example: http://10.0.0.131/gsbrowse/meta/external.htm

                                                                                                                                      

Data Type:                    String

                             

Return                                                            The return value is a string which contains the home page for this GSWBrowse session.                             

    

EXTERNAL SYNTAX

               window.external.app.Session(idx).homepage

               window.external.app.ActiveSession.homepage

 

    

IDL DEFINITION

 

[propget, id(5), helpstring("property HomePage")]

HRESULT HomePage([out, retval] BSTR *pVal);

 

[propput, id(5), helpstring("property HomePage")]

HRESULT HomePage([in] BSTR newVal);

 

Where

Idx               is the index of the GSWBrowse session.

 

 

 

Example: WINDOW.EXTERNAL.APP.SESSION(IDX).HOMEPAGE

 

<html>

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

</head>

<body onload="javascript:fetchvalues();">

<form id="form1" name="form1">

Test of GSWBrowse Object Model<br>

idx=window.external.app.ActiveSessionIndex<input type="text" name="activesessionidx" size="40"><br>

window.external.app.session(idx).host<input type="text" name="host" size="40"><br>

window.external.app.session(idx).port<input type="text" name="port" size="40"><br>

window.external.app.session(idx).type<input type="text" name="type" size="40"><br>

window.external.app.session(idx).path<input type="text" name="path" size="40"><br>

window.external.app.session(idx).homepage<input type="text" name="homepage" size="60"><br>

</form>

function fetchvalues()

{

var app = window.external.app;

      var idx = window.external.app.ActiveSessionIndex;

      document.form1.activesessionidx.value = idx;

      var activesession = app.session(idx);

      document.form1.host.value = activesession.host;

      document.form1.port.value = activesession.port;

      document.form1.type.value = activesession.type;

      document.form1.path.value = activesession.path;

      document.form1.homepage.value = activesession.homepage;    

}

</script>

</body>

</html>

 

 


 

 

Category: GSWBrowse Information


 

 

VERSION

 

 

 

              

window.external.app.version

 

Version is a property of the  window.external.app object.  It provides access to the GSWBrowse  release version number.

 

 

Property:                                           Version

Data Type:                    String

                             

Return                                                            The return value is a String which contains the Release Version number of GSWBrowse.

 

                                    The Version Number is of the format

                                    x.yy.zzzz

      Where

            X     is the major release number

            YY    is the minor release number

            ZZZZ  is the update number                     

 

                                   

    

EXTERNAL SYNTAX

               window.external.app.version

    

IDL DEFINITION

 

[propget, id(1), helpstring("property Version")]

HRESULT Version([out, retval] BSTR *pVal);

 

EXAMPLE – segment from External.htm (page 218)

 

var app = window.external.app;

document.form1.version.value = app.version;

 

 

 

 

Category: APP


 

 

BUILDID

 

 

 

              

window.external.app.buildid

 

BuildId is a property of the  window.external.app object.  It provides access to the GSWBrowse  Build Id which is a unique identifier for each software build.

 

 

Property:                                           BuildId

Data Type:                    String

                             

Return                                                            The return value is a String which contains the Release Version number of GSWBrowse.

 

                                    Unique identifier for each version build.

                             

    

EXTERNAL SYNTAX

               window.external.app.buildid

    

IDL DEFINITION

[propget, id(2), helpstring("property BuildId")]

HRESULT BuildId([out, retval] BSTR *pVal);

 

EXAMPLE – segment from External.htm (page 218)

var app = window.external.app;

document.form1.buildid.value = app.buildid;

 

 

 

 

 

 

 

 

 

 

 


Category: APP


 

 

NAME

 

 

 

              

window.external.app.name

 

Name is a property of the  window.external.app object.  It provides the name of the current application running (GSWBrowse) .

 

 

Property:                                           Name

Data Type:                    String

                             

Return                                                            The return value is a String which contains the name of the application.

 

                                                                                         

                                   

    

EXTERNAL SYNTAX

               window.external.app.name

 

IDL DEFINITION

[propget, id(4), helpstring("property UserText")]

HRESULT UserText(long Index, [out, retval] BSTR *pVal);

 

EXAMPLE – segment from External.htm (page 218)

 

var app = window.external.app;

document.form1.name.value = app.name;

 

 

 

 

 

 

 

 

 

 

 


 

Category: APP


 

 

COPYRIGHT

 

 

 

              

window.external.app.copyright

 

CopyRight  is a property of the  window.external.app object.  It provides the copyright text for GSWBrowse.

 

 

Property:                                           Copyright

Data Type:                    String

                             

Return                                                            The return value is a String which contains copyright text for GSWBrowse.

 

                                                                 

    

EXTERNAL SYNTAX

               window.external.app.copyright

    

IDL DEFINITION

 

[propget, id(6)]

HRESULT Copyright([out, retval] BSTR *pVal);

 

 

EXAMPLE – segment from External.htm (page 218)

 

 

var app = window.external.app;

document.form1.name.value = app.copyright;

 

 

 

 

 

 


 

Persistent Storage

                                                           

Category: Persistent Storage


 

 

USERTEXT

 

 

 

              

window.external.app.usertext

 

UserText  is a property of the  window.external.app object.  UserText  is an indexed property that stores user data strings in persistent storage  (as defined by the device) shared by all sessions.  This can be used for a variety of purposes including  passing data between browser sessions. 

 

 

Property:                                           UserText(index)

Data Type:                    String

                             

 

Return                                                            Return value is a String which contains the stored user data.

 

Set                           Stores the string in persistent storage. The text is stored in GSWBrowse.txt (page 236), so it can be copied to different devices as needed.

                                   

Where                         Index is the numeric identifier of the UserText string to read/write.  UserText persistent area is limited only by available file storage area.

EXTERNAL SYNTAX

               window.external.app.usertext(index)

    

IDL DEFINITION

 

[propget, id(4), helpstring("property UserText")]

HRESULT UserText(long Index, [out, retval] BSTR *pVal);

 

[propput, id(4), helpstring("property UserText")]

HRESULT UserText(long Index, [in] BSTR newVal);

 

EXAMPLE – segment from External.htm (page 218)

 

var app = window.external.app;

app.usertext(15) = “Text 15”;

document.form1.usertext15.value = app.usertext(15);

Category: APP


 

 

ACTIVESESSION

 

 

 

              

window.external.app.activesession

 

ActiveSession  is a property of the  window.external.app object.  It returns the session object associated with the currently visible GSWBrowse instance .

 

 

Property:                                           ActiveSession

Data Type:                    Pointer to the Session Object

                             

Return                                                            The return value is the Session Object associated with the active session.

 

Figure 55: Session Object

EXTERNAL SYNTAX

               window.external.app.activesession

    

IDL DEFINITION

 

[propget, id(8), helpstring("property ActiveSession")]

HRESULT ActiveSession([out, retval] IDispatch* *pVal);

 

 


Example: WINDOW.EXTERNAL.APP.ACTIVESESSION

 

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

</head>

<script type="text/javascript">

<body onload="javascript:fetchvalues();">

<form id="form1" name="form1">

Test of GSWBrowse Object Model<br>

window.external.app.activesession.host<input type="text" name="host" size="40"><br>

window.external.app.activesession.port<input type="text" name="port" size="40"><br>

window.external.app.activesession.type<input type="text" name="type" size="40"><br>

window.external.app.activesession.path<input type="text" name="path" size="40"><br>

window.external.app.activesession.homepage<input type="text" name="homepage" size="60"><br>

</form>

function fetchvalues()

{

       var app = window.external.app;

      var activesession = app.activesession;

      document.form1.host.value = activesession.host;

      document.form1.port.value = activesession.port;

      document.form1.type.value = activesession).type;

      document.form1.path.value = activesession.path;

      document.form1.homepage.value = activesession.homepage;

 

     

}

</script>

</body>


Device Information

 

                                                           

Category: DEVICE


 

 

DEVICEID

 

 

 

              

window.external.device.deviceid

 

DeviceId  is a property of the  window.external.device object.  Read the Device Identification String.

 

Property:                                                      Device

 

Data Type:                    String

                               

Return                                                            The return value is a String which contains Device Identification. Device Dependent as specified by Microsoft.

 

                                                     

                                   

EXTERNAL SYNTAX

               window.external.device.deviceid

    

IDL DEFINITION

 

[propget, id(2), helpstring("property DeviceId")]

HRESULT DeviceId([out, retval] BSTR *pVal);

       

 

 

EXAMPLE – segment from External.htm (page 218)

 

var device = window.external.device;

document.form1.deviceid.value = device.deviceid;

 

 

 

 

 

 

 

 

 

 

Category: DEVICE


 

 

IPADDRESS

 

 

 

              

window.external.device.ipaddress

 

IPAddress  is a property of the  window.external.device object.  Read the Device IP Address.

 

 

Property:                                           Ipaddress

Data Type:                    String

                             

Return                                                            The return value is a String which contains Device IP Address. Returned in dotted decimal notation format.

                                   

                                   

    

EXTERNAL SYNTAX

               window.external.device.ipaddress

    

IDL DEFINITION

 

[propget, id(3), helpstring("property IPAddress")]

HRESULT IPAddress([out, retval] BSTR *pVal);

 

 

 

EXAMPLE – segment from External.htm (page 218)

 

var device = window.external.device;

document.form1.ipaddress.value = device.ipaddress;

 

 

 

 

 

 

 

              

 


 

Category: DEVICE


 

 

MACADDRESS

 

 

 

              

window.external.device.macaddress

 

MACAddress  is a property of the  window.external.device object.  Read the Device Media Access Control (MAC) Address.

 

 

Property:                                           MACAddress

Data Type:                    String

                             

Return                                                            The return value is a String which contains Device MAC Address. Hyphenated format.

 

 

                                   

     

                 

                                   

EXTERNAL SYNTAX

               window.external.device.macaddress

    

IDL DEFINITION

 

[propget, id(4), helpstring("property MACAddress")]

HRESULT MACAddress([out, retval] BSTR *pVal);

 

 

 

EXAMPLE – segment from External.htm (page 218)

 

var device = window.external.device;

document.form1.macaddress.value = device.macaddress;

 

 

 

 

 

 

 


 

Category: DEVICE


 

 

PLATFORMID

 

 

 

              

window.external.device.platformid

 

PLATFORMID  is a property of the  window.external.device object.  Read the Windows CE Platform Identification.

 

 

Property:                                           PlatformID

Data Type:                    String

                             

Return                                                            The return value is a String which contains Windows CE Platform Id. Device Dependent as specified by Microsoft.

 

 

                             

                       

EXTERNAL SYNTAX

               window.external.device.platformid

    

IDL DEFINITION

 

[[propget, id(5), helpstring("property PlatformId")]

HRESULT PlatformId([out, retval] BSTR *pVal);

 

 

 

EXAMPLE – segment from External.htm (page 218)

 

var device = window.external.device;

document.form1.platformid.value = device.platformid;

 

 

 

 

 

 

 

 


 

Category: DEVICE


 

 

PRESETID

 

 

 

              

window.external.device.presetid

 

PRESETID  is a property of the  window.external.device object.  Read the Windows CE Preset Identification.

 

 

Property:                                           PresetID

Data Type:                    String

                             

Return                                                            The return value is a String which contains Windows CE Preset Id. Device Dependent as specified by Microsoft.

                                   

                 

                       

EXTERNAL SYNTAX

               window.external.device.presetid

    

IDL DEFINITION

 

[propget, id(6), helpstring("property PresetId")]

HRESULT PresetId([out, retval] BSTR *pVal);

 

 

EXAMPLE – segment from External.htm (page 218)

 

var device = window.external.device;

document.form1.presetid.value = device.presetid;

 

 

 

 

 

 

 

 

 

 


 

Category: DEVICE


 

 

SERIALNUMBER

 

 

 

              

window.external.device.serialnumber

 

SERIALNUMBER  is a property of the  window.external.device object.  Read the GSW Product Id  which is used for software registration (see page  4).

 

 

Property:                                           SerialNumber

Data Type:                    String

                             

Return                                                            The return value is a String which contains Georgia SoftWorks Product ID.

 

                                   

     

                 

 

                             

EXTERNAL SYNTAX

               window.external.device.serialnumber

    

IDL DEFINITION

 

[propget, id(7), helpstring("property SerialNumber")]

HRESULT SerialNumber([out, retval] BSTR *pVal);

 

 

EXAMPLE – segment from External.htm (page 218)

 

var device = window.external.device;

document.form1.serialnumber.value = device.serialnumber;

 

 

 

 

 

 

 

 

 

 


Category: DEVICE


 

 

UUID

 

 

 

              

window.external.device.uuid

 

UUID  is a property of the  window.external.device object.  Read the Universally Unique Identifier (UUID).

 

 

Property:                                           UUID

Data Type:                    String

                             

Return                                                            The return value is a String which contains UUID. Device Dependent as specified by Microsoft.

 

                                   

     

                                   

EXTERNAL SYNTAX

               window.external.device.uuid

    

IDL DEFINITION

 

[propget, id(10), helpstring("property UUID")]

HRESULT UUID([out, retval] BSTR *pVal);

 

 

EXAMPLE – segment from External.htm (page 218)

 

var device = window.external.device;

document.form1.uuid.value = device.uuid;

 

 

 

 

 

 

 

 

 


Network Adapter

                                            

Category: Network Adapter


 

 

NETWORKADAPTERNAME

 

 

 

              

window.external.device.networkadaptername

 

NetworkAdapterName  is a property of the  window.external.device object.  Read the network adapter name as returned from the operating system.

 

 

Property:                                           UUID

Data Type:                    String

                             

Return                                                            The return value is a String which contains the Network Adapter Name.

 

                                   

 

                 

                 

EXTERNAL SYNTAX

               window.external.device.netowrkadaptername

    

IDL DEFINITION

 

[propget, id(11)]

HRESULT NetworkAdapterName([out, retval] BSTR *pVal); (GSW only)

 

EXAMPLE – segment from External.htm (page 218)

 

var device = window.external.device;

document.form1.networkadaptername.value = device.networkadaptername;

 

 

 

 

 

 


Vibrating the Device

                             

Category: Vibrating The Device


 

 

VIBRATE

 

 

 

              

window.external.device.vibrate

 

Vibrate  is a method of the  window.external.device object.  Cause the device to vibrate for a specified duration of time.

 

 

Method:                                               Vibrate

Data Type:                    Number

                             

Where                         The number value specifies the number of milliseconds to vibrate the device.

 

                                   

     

                 

                                   

EXTERNAL SYNTAX

               window.external.device.vibrate

    

IDL DEFINITION

 

[id(14)] HRESULT Vibrate(LONG DurationMS); (GSW only)

 

EXAMPLE – Vibrate

function Vibrate()

{

            window.external.device.vibrate(1000);

}

 

 

 

 

 

 


Taskbar Control

              

Category: Controlling the Taskbar


 

 

SETTASKBARENABLED

 

 

 

              

window.external.device.settaskbarenabled

 

SetTaskBarEnabled  is a method of the  window.external.device object.  Enable/Disable  the taskbar. When disabled the taskbar is not selectable.  When disabled, if the taskbar is clicked a beep will be sounded.

 

 

Method:                                               SetTaskBarEnabled

Data Type:                    Number

Where                         1 Enables, 0 Disables.

 

                                   

     

           

                                   

EXTERNAL SYNTAX

          window.external.device.settaskbarenabled

    

IDL DEFINITION

 

[id(15)] HRESULT SetTaskBarEnabled(LONG bEnable);

 

 

EXAMPLE

 

var TaskBarEnabled = 1;

 

function ToggleTaskBarEnabled()

{

var dev = window.external.device;

if (TaskBarEnabled == 1)

dev.SetTaskBarEnabled(0);

else

dev.SetTaskBarEnabled(1);

TaskBarEnabled = !TaskBarEnabled; 

}

 

 

 


Category: Controlling the Taskbar


 

 

SETTASKBARVISIBLE

 

 

 

         

window.external.device.settaskbarvisible

 

SetTaskBarVisible  is a method of the  window.external.device object.  This hides/shows the taskbar. When hidden, ctrl-esc  will not show the taskbar.

 

 

Method:                                               SetTaskBarVisible

Data Type:                    Number

Where                         1 Makes Taskbar Visible,

0 Makes Taskbar Invisible

                             

                                   

EXTERNAL SYNTAX

          window.external.device.settaskbarvisible

    

IDL DEFINITION

 

[id(16)] HRESULT SetTaskBarVisible(LONG bEnable);

 

 

EXAMPLE

 

//TaskBar will disappear and ctrl-esc will not show it. GSWBrowse will //use all of the screen area.

 

var TaskBarVisible = 1;

 

function ToggleTaskBar()

{

      var dev = window.external.device;

      if (TaskBarVisible == 1)

            dev.SetTaskBarVisible(0);

      else

            dev.SetTaskBarVisible(1);

      TaskBarVisible = !TaskBarVisible; 

}

 

 

 

 

Category: Controlling the Taskbar


 

 

SETSTARTBUTTONVISIBLE

 

 

 

              

window.external.device.setstartbuttonvisible

 

SetStartButtonVisible  is a method of the  window.external.device object.  This hides/shows the start  button.

 

 

Method:                                               SetStartButtonVisible

Data Type:                    Number                             

Where                         1 Makes start button visible,

0 Makes start button invisible

                             

                                   

EXTERNAL SYNTAX

          window.external.device.SetStartButtonVisible

    

IDL DEFINITION

 

[id(17)] HRESULT SetStartButtonVisible(LONG bEnable);

 

EXAMPLE

 

//the Start button will not disappear ... but the whole TaskBar becomes //disabled and visible, no error beep when clicked

 

var StartBtnVisible = 1;

 

function ToggleStartBtn()

{

var dev = window.external.device;

if (StartBtnVisible == 1)

                dev.SetStartButtonVisible(0);

else

                dev.SetStartButtonVisible(1);

StartBtnVisible = !StartBtnVisible; 

}

 

 

 

Category: Controlling the Taskbar


 

 

SETSIPBUTTONVISIBLE

 

 

 

              

window.external.device.setsipbuttonvisible

 

SetSipButtonVisible  is a method of the  window.external.device object.  This hides/shows the Soft Input Panel (SIP)  Button.

 

 

Method:                                               SetSipButtonVisible

Data Type:                    Number                             

Where                         1 Makes SIP Button Visible

0 Makes SIP Button Invisible

                                   

                                   

EXTERNAL SYNTAX

          window.external.device.SetSipButtonVisible

    

IDL DEFINITION

 

[id(18)] HRESULT SetSIPButtonVisible(LONG bEnable);

 

EXAMPLE

 

//this call uses SHFS_SHOWSIPBUTTON and does not do ANYTHING under Windows // CE 4.2 and 5.0 one day may start working...

 

var SIPBtnVisible = 1;

 

function ToggleSIPBtn()

{

      var dev = window.external.device;

        if (SIPBtnVisible == 1)

                dev.SetSIPButtonVisible(0);

        else

                dev.SetSIPButtonVisible(1);

        SIPBtnVisible = !SIPBtnVisible;

}  

 

 


Vendor API Version

              

Category: Reading Vendor’s API Version Number


 

 

APIVERSION

 

 

 

              

window.external.device.apiversion

 

APIVersion  is a property of the  window.external.device object.  It returns the Version Number of the Vendors Application Programming Interface (API).

 

 

Property:                                           APIVersion

Data Type:                    String

                               

Where                         The Return value is a string that contains the API Version Number.                           

                 

                                   

EXTERNAL SYNTAX

               window.external.device.APIVersion

    

IDL DEFINITION

 

[propget, id(19)] HRESULT APIVersion([out, retval] BSTR *pVal);

 

 

EXAMPLE – segment from External.htm (page 218)

 

 

var device = window.external.device;

document.form1.apiversion.value = device.APIVersion;

 

 

 

 

 

 

 


LXE Device API’s

Georgia SoftWorks is provides specialized interfaces to LXE device API’s further extending the programming power of GSWBrowse.  With these specialized interfaces the developer gains access to extra device features while maintaining a consistent development style and enjoying the benefits of GSWBrowse.

NOTE: Please see the LXE documentation (provided by LXE) for complete and the most current information.

A technical hurdle is that JavaScript is unable to pass parameters by reference to methods of COM objects[9].  The native LXE API’s (provided by LXE in the file lxeapi.dll) use pointers and pass parameters by reference, which makes it impossible to create window.external methods with the same synopsis. 

To work around this technical problem GSWBrowse has created a “GSW Helper” COM object which provides functionality analogous to passing parameters by reference with the native LXE API COM object. 

GSWBrowse Helper Object provides an area that is used for data exchange with the COM object. The Helper Object is passed to the COM object rather than individual data.  After the call, individual data is retrieved from the Helper Object.

Figure 56: GSWBrowse Helper Object

See page 209 details about the GSW Helper Object and page 220 for an example.

Figure 57: LXE Scanner Object / Methods

Category: LXE Device API’s


 

 

LXEHASINTSCANNER

 

 

 

 

         

window.external.device.scanner.lxescanner.LXEHASINTSCANNER

 

LXEHasIntScanner is a method of the lxescanner object. Determine if the device has an internal scanner.

Parameters                    oHelperObject -

GSWBrowse Helper Object (See page 226)

 

Return Value                  1 Device has Internal Scanner

0 No Internal Scanner

 

OS Error                      OS Error (if any) is available in the LastError member of the GSW Helper Object after the call returns.

                             

                                   

 

EXTERNAL SYNTAX

          window.external.device.scanner.lxescanner.LXEHasIntScanner(oHelperObject)

    

IDL DEFINITION

 

[id(1), helpstring("method LXEHasIntScanner")]

HRESULT LXEHasIntScanner(IDispatch *pDisp, [out, retval]LONG *pnResult);

 

 

EXAMPLE - Segment

 

      var oHelperObject = window.external.interface.CreateParameterBlock();

var lxe = window.external.device.scanner.lxescanner;

nResult = lxe.LXEHasIntScanner(oHelperObject);

var nOSError = oHelperObject.LastError;

 

 

 

 

 

 

 

 

 

                             

Category: LXE Device API’s


 

 

LXEHASINTRFID

 

 

 

 

         

window.external.device.scanner.lxescanner.LXEHASINTRFID

 

LXEHasIntRFID is a method of the lxescanner object. Determine if the device has an internal RFID reader.

Parameters                    oHelperObject -

GSWBrowse Helper Object (See page 226)

 

Return Value                  1 Device has Internal RFID Reader

0 No Internal RFID Reader

 

OS Error                      OS Error (if any) is available in the LastError member of the GSW Helper Object after the call returns.

                             

 

EXTERNAL SYNTAX

     window.external.device.scanner.lxescanner.LXEHasIntRFID(oHelperObject)

    

IDL DEFINITION

 

[id(2), helpstring("method LXEHasIntRFID")]

HRESULT LXEHasIntRFID(IDispatch *pDisp, [out, retval]LONG *pnResult);

 

 

EXAMPLE - Segment

 

      var oHelperObject = window.external.interface.CreateParameterBlock();

var lxe = window.external.device.scanner.lxescanner;

nResult = lxe.LXEHasIntRFID(oHelperObject);

var nOSError = oHelperObject.LastError;

 

 

 

 

 

 

 

 

 

 


Category: LXE Device API’s


 

 

LXESCANNERDISABLE

 

 

 

 

         

window.external.device.scanner.lxescanner.LXESCANNERDISABLE

 

LXEScannerDisable is a method of the lxescanner object. This method causes the scanner driver to disable operation.

Parameters                    oHelperObject -

GSWBrowse Helper Object (See page 226)

 

Return Value                  Returns same numeric value as returned by corresponding native LXE API

See LXE documentation for details.

 

 

OS Error                      OS Error (if any) is available in the LastError member of the GSW Helper Object after the call returns.

                             

                                   

 

EXTERNAL SYNTAX

     window.external.device.scanner.lxescanner.LXEScannerDisable(oHelperObject)