All methods in the GX API require the user to have been granted the right to access that method in the way it is being used by your program. The entitlements of the end-user are checked when a GX (or external program) calls a GX function. Each function will fall under one of the license classes below:
Type | Description |
---|---|
Public | Available with the free Viewer, and the GX Developer redistributable libraries. No entitlements are needed to access these classes and methods. Note, that some of the methods that are public may have reduced functionality. For example, any size database can be read, but there are restrictions in the size of data that can be written to a Public license user. |
Controlled | These methods require Oasis montaj to be installed with the Geosoft license installed for the end-user use the method. The GX_GEOSOFT_BIN_PATH environment variable, if defined, must point to the ' |
Extended | These methods require specific licenses to execute. Since the license structure that enables these methods is dynamic it is recommended that GX Developers not use Extended methods. |
A user that runs a GX or program that includes calls to method calls for which she is not entitled will receive an error like:
Code Block |
---|
geosoft.GX.Error: Unable to bind the "?rGet_PG@@YANPAUh_gxx@@PBJ11@Z" wrapper function. The DLL may not be present or a license may be missing. |
Well written programs or GXs should catch this error and report the problem to the user with a recommended course of action.
Malicious Code Protection
To protect against malicious code and viruses, Geosoft has instituted a Signed GX system. All GX’s compiled by Geosoft are signed and will only execute if they have been licensed for execution on your system. If a signed compiled GX is modified in any way it will not longer be considered safe code and will not execute.
All GX's you compile, or which are compiled and supplied by a third party are considerd un-signed. Oasis montaj users can still execute unsigned GX’s but a warning will appear indicating that this GX was not signed and asking the user to:
Run Once (Run the GX but only this time)
Run Always (Store the GX’s signature and always allow that GX to run)
Deny (Do not execute this GX at all)
...
.
VIEWGX - Entitlement/License Analysis
To help GX developers determine the entitlement requirements for their GX to execute, the VIEWGX program can provide a license analysis of a GX. To view this analysis run:
...