Xmarc Fire  5.2
Kernel Release Notes

 
fxnetsvc

In the Fire 5 release, the external program fxnetsvc which was distributed with Fire 4, has been replaced by functionality within the Fire 5 executable. No change to application code is required.

Channel Enhancements

channel.query() is now available as an alternative to channel.session for single hit trips to remote services. The writefile command may now direct output to text as well as binary channels.

A new switch (-req) has been added to the channel command to enable connection to network services. A similar switch has been added to the database command. The connection utility fxnetsvc is no longer used to connect to such services, Fire now connects directly to them.

SSL (Secure Socket Layer) service URL's, e.g. https://... are now fully supported in the Win32 versions of Fire. SSL is not supported on Unix versions.

Channel Limit

There was a limit of 32 available channels in Version 4. This has been extended to 255, although on some operating systems there is a limit to the number of open file descriptors, which may restrict the maximum.

Database Attribute

A database.service_url command has been added to record the url of a remove database service.

The attribute database.timeout is now available.

New Server Methods

Some new methods have been added to the database and channel commands:

The new methods are functionally unchanged from their synonyms.

Database Connection Encoding

To enable database connect strings to be hidden from prying eyes, connect string encoding has been added. A global Fire command parameter -fxenc may be used to ensure that all connect strings are encoded before being passed to a database interface (e.g. fx8i).
Alternatively, there is a new -enc switch on the database command.
A third way is to use the new external utility fxencode to encode the string.
Database interfaces (e.g. fx8i, fxodbc etc.) will recognise an encoded connect string and decode it on the fly.

Window Enhancements

A window.move() callback is available to catch an event when a window is interactively moved.

Panel and tab windows have an additional switch -ent. When present, push buttons within the window may be invoked via the Enter/Return key as well as the spacebar. This is currently available on Win32 systems only.

Interactive panning and zooming graphic windows may be invoked by different methods (i.e. mouse-dragging) by a new -im switch on the pan & blow commands. Interactive pans are available on all systems, but zooming facilities are restricted to Win32 systems.

Image output of graphic windows via the rasdump command may now be scaled via a new -dim switch.

A -tb switch on the monitor command may be used to suppress the inclusion of the Fire icon in the Win32 icon tray on the taskbar.

Identifier Listing

Previously static structure members where omitted from listings produced by the list command. A new -sta switch will now include them in the listing.

Printing

When producing graphic windows on Win32 system, two new switches -syn and -bit enable attributes of the output spool file to be controlled, enabling smaller spool files to be produced.

Monitor and Error Log Output

A new -ch switch on the monitor and errlog commands enables monitor and/or error log output to be directed to an output channel.

Graphic Windows

Graphic windows now have an additional level of control available for the suppression of lug display on entities. The attribute is window.lug_display and has a default value of 1. Setting this to 0 will suppress lug display within the window, while still enabling lug "picking" via the luglock function even though the lugs are not visible.

The pan command now has an "image pan" switch (-im) which enables an interactive pan to drag the window with the mouse button pressed.

A new attribute window.fragments[] has been added. This array allows the visibility of fragment numbers to be set. Entities with fragment numbers current invisible will not be drawn.

Graphic windows can now have a background image. This image is drawn instead of a background color fill. The image will be tiled across the window from the top-left corner.

Such an image may be defined at window creation time, e.g.

wgraphic -im=<image_file>

or later by a window attribute assignment

gwin.background_image=<image_file>

Angled Images

Display windows may have images displayed at 90 degree angles via a new -ang switch on the wdisplay command.

Similarly, cell entity and cloth file images may be angled via a new -ang switch on the relevant commands.

Atables

Quite often the following sequence was used to create a new atable with full access permissions for all:

atable newatab
newatab.access ='g:rwx,w:rwx'
newatab.def_access ='g:rwx,w:rwx'

This may now be achieved with one command:

atable newatab,-full

Atable Limit

There was a limit of 255 atables in Version 4. This has been extended to 4080.

System Identifiers

A new string identifier host_ip has been added. Its value is the IP address of the current machine.

A read-only string identifier deployment has been added to record Fire's current deployment, possible values are:

standard for standard deployment
browser when deployed within a web browser
activex when deployed as an ole server
service when deployed as a FireRender service

A new procedure identifier icontray_exec has been added to enable customisation of the activation of the Fire icon in the icon tray.

A new string identifier icontray_image permits the icon tray image to be customized, and another, icontray_tooltip, permits its tooltip to be redefined.

Entity

A new entity type polynode has been added. This is essentially a multi-point node entity with the same markerstyle symbology for all points.

A polynode entity is created by a new polynode command.

Function Extensions

The config function has been extended. An optional second parameter may now be added to specify exact keyword matching. Previously, matching enabled a longer keyword to be accepted as a match.

A new string function nowhite removes white-space (spaces and tabs) from a string.

Image Support

xwd file support has been added to Win32 versions. pcx, cur, ico support has been added to Unix versions. Full support for wbmp files has been added. In Version 4 only the creation of wbmp was supported.

Various switches have been added for png output to control metrics and pixel depth.

Symbology Extensions

Markerstyles now have a "fixed fill" attribute to allow their fill color to be fixed, i.e. unaffected by entity color changes.

Fill styles may now have their tile defined by an image instead of via a tile identifier. This just removes an unnecessary level of indirection. Tile display is not affected.

Directory Listing Extension

The dir command may now request that only directories be listed (the -dir switch), or that directories are to be ignored (the -no_dir switch).

Dynamic Libraries

Support for float and float* parameters to dynamic library calls has been added, also support for float return values.

Window Cursors

Earlier Win32 versions of Fire did not permit colored cursors to be created from monochrome images. This limitation has been removed.

UI Enhancement

A -ent switch has been added to the wpanel command to enable the activation of push button panels by pressing the return/enter key. The spacebar is the default activation key. This enhancement is on Win32 systems only

Win32 Registry Access

A register command has been added to enable entries to be added to the Win32 registry. This facility, available on Win32 versions only enables string entries to be added, with single or multiple values.

A companion function registry has been added to read string entries from the Win32 registry.

Projections

The project command may now be used to project point identifiers as well as entities.

A new projection ellipsoid gda94 has been added to represent the Geocentric Datum of Australia 1994.

Window Polling

A new -sub switch on the poll command enables a window's subwindows to be polled for events. Previously, subwindows had to be specified individually.

New windows created during a poll are now immediately pollable. Previously they were not.

EIM

The eim protocol used for exporting/importing entities has been enhanced, with particular emphasis on reducing network traffic, and to enable Fire to call the Xmarc WIISE services. The new protocol level is 5.

FireRender

Fire has been integrated with the Service Manager. This enables FireRender services to be launched and administered like other fx services. In previous versions FireRender services had to be kicked off via a shell script (.bat or .sh). When launched by the Service Manager the -url option, which registers fire as a service, is derived automatically.

The Service Manager uses a service agent to lauch fire, and Fire has access to agent logs via a new svclog command. See the firerender_* identifiers in the new Reference Manual for more details.