|
Defines |
#define | TQSL_LOCATION_FIELD_TEXT 1 |
#define | TQSL_LOCATION_FIELD_DDLIST 2 |
#define | TQSL_LOCATION_FIELD_LIST 3 |
#define | TQSL_LOCATION_FIELD_CHAR 1 |
#define | TQSL_LOCATION_FIELD_INT 2 |
Functions |
DLLEXPORT int | tqsl_initStationLocationCapture (tQSL_Location *locp) |
DLLEXPORT int | tqsl_endStationLocationCapture (tQSL_Location *locp) |
DLLEXPORT int | tqsl_updateStationLocationCapture (tQSL_Location loc) |
DLLEXPORT int | tqsl_getStationLocationCapturePage (tQSL_Location loc, int *page) |
DLLEXPORT int | tqsl_setStationLocationCapturePage (tQSL_Location loc, int page) |
DLLEXPORT int | tqsl_nextStationLocationCapture (tQSL_Location loc) |
DLLEXPORT int | tqsl_prevStationLocationCapture (tQSL_Location loc) |
DLLEXPORT int | tqsl_hasNextStationLocationCapture (tQSL_Location loc, int *rval) |
DLLEXPORT int | tqsl_hasPrevStationLocationCapture (tQSL_Location loc, int *rval) |
DLLEXPORT int | tqsl_saveStationLocationCapture (tQSL_Location loc, int overwrite) |
DLLEXPORT int | tqsl_getStationLocationCaptureName (tQSL_Location loc, char *namebuf, int bufsiz) |
DLLEXPORT int | tqsl_setStationLocationCaptureName (tQSL_Location loc, const char *name) |
DLLEXPORT int | tqsl_getNumStationLocations (tQSL_Location loc, int *nloc) |
DLLEXPORT int | tqsl_getStationLocationName (tQSL_Location loc, int idx, char *buf, int bufsiz) |
DLLEXPORT int | tqsl_getStationLocationCallSign (tQSL_Location loc, int idx, char *buf, int bufsiz) |
DLLEXPORT int | tqsl_getStationLocation (tQSL_Location *loc, const char *name) |
DLLEXPORT int | tqsl_deleteStationLocation (const char *name) |
DLLEXPORT int | tqsl_getNumLocationField (tQSL_Location loc, int *numf) |
DLLEXPORT int | tqsl_getLocationFieldDataLabelSize (tQSL_Location loc, int field_num, int *rval) |
DLLEXPORT int | tqsl_getLocationFieldDataLabel (tQSL_Location loc, int field_num, char *buf, int bufsiz) |
DLLEXPORT int | tqsl_getLocationFieldDataGABBISize (tQSL_Location loc, int field_num, int *rval) |
DLLEXPORT int | tqsl_getLocationFieldDataGABBI (tQSL_Location loc, int field_num, char *buf, int bufsiz) |
DLLEXPORT int | tqsl_getLocationFieldInputType (tQSL_Location loc, int field_num, int *type) |
DLLEXPORT int | tqsl_getLocationFieldDataType (tQSL_Location loc, int field_num, int *type) |
DLLEXPORT int | tqsl_getLocationFieldDataLength (tQSL_Location loc, int field_num, int *rval) |
DLLEXPORT int | tqsl_getLocationFieldCharData (tQSL_Location loc, int field_num, char *buf, int bufsiz) |
DLLEXPORT int | tqsl_getLocationFieldIntData (tQSL_Location loc, int field_num, int *dat) |
DLLEXPORT int | tqsl_getLocationFieldIndex (tQSL_Location loc, int field_num, int *dat) |
DLLEXPORT int | tqsl_getNumLocationFieldListItems (tQSL_Location loc, int field_num, int *rval) |
DLLEXPORT int | tqsl_getLocationFieldListItem (tQSL_Location loc, int field_num, int item_idx, char *buf, int bufsiz) |
DLLEXPORT int | tqsl_setLocationFieldCharData (tQSL_Location loc, int field_num, const char *buf) |
DLLEXPORT int | tqsl_setLocationFieldIntData (tQSL_Location loc, int field_num, int dat) |
DLLEXPORT int | tqsl_setLocationFieldIndex (tQSL_Location loc, int field_num, int dat) |
DLLEXPORT int | tqsl_getLocationFieldChanged (tQSL_Location loc, int field_num, int *changed) |
DLLEXPORT int | tqsl_getLocationCallSign (tQSL_Location loc, char *buf, int bufsiz) |
DLLEXPORT int | tqsl_getLocationDXCCEntity (tQSL_Location loc, int *dxcc) |
DLLEXPORT int | tqsl_getNumDXCCEntity (int *number) |
DLLEXPORT int | tqsl_getDXCCEntity (int index, int *number, const char **name) |
DLLEXPORT int | tqsl_getDXCCEntityName (int number, const char **name) |
DLLEXPORT int | tqsl_getNumBand (int *number) |
DLLEXPORT int | tqsl_getBand (int index, const char **name, const char **spectrum, int *low, int *high) |
DLLEXPORT int | tqsl_getNumMode (int *number) |
DLLEXPORT int | tqsl_getMode (int index, const char **mode, const char **group) |
DLLEXPORT int | tqsl_getNumPropagationMode (int *number) |
DLLEXPORT int | tqsl_getPropagationMode (int index, const char **name, const char **descrip) |
DLLEXPORT int | tqsl_getNumSatellite (int *number) |
DLLEXPORT int | tqsl_getSatellite (int index, const char **name, const char **descrip, tQSL_Date *start, tQSL_Date *end) |
DLLEXPORT int | tqsl_clearCabrilloMap () |
DLLEXPORT int | tqsl_setCabrilloMapEntry (const char *contest, int field, int contest_type) |
DLLEXPORT int | tqsl_getCabrilloMapEntry (const char *contest, int *fieldnum, int *contest_type) |
DLLEXPORT int | tqsl_clearADIFModes () |
DLLEXPORT int | tqsl_setADIFMode (const char *adif_item, const char *mode) |
DLLEXPORT int | tqsl_getADIFMode (const char *adif_item, char *mode, int nmode) |
DLLEXPORT const char * | tqsl_getGABBItCERT (tQSL_Cert cert, int uid) |
DLLEXPORT const char * | tqsl_getGABBItSTATION (tQSL_Location loc, int uid, int certuid) |
DLLEXPORT const char * | tqsl_getGABBItCONTACT (tQSL_Cert cert, tQSL_Location loc, TQSL_QSO_RECORD *qso, int stationuid) |
The station record contains the callsign and geographic location of the station submitting the QSO record. The library manages the station records. The tqsl_xxxStationLocationCapture functions are used to generate and save a station record. The intent is to provide an interface that makes a step-by-step system (such as a GUI "wizard") easily implemented.
With the necessary station location available, a signed GABBI output file can be generated using the tqsl_getGABBIxxxxx functions:
The station-location generation process involves determining the values for a number of station-location parameters. Normally this will be done by prompting the user for the values. The responses given by the user may determine which later fields are required. For example, if the user indicates that the DXCC entity is UNITED STATES, a later field would ask for the US state. This field would not be required if the DXCC entity were not in the US.
To accommodate the dynamic nature of the field requirements, the fields are ordered such that dependent fields are queried after the field(s) on which they depend. To make this process acceptable in a GUI system, the fields are grouped into pages, where multiple fields may be displayed on the same page. The grouping is such that which fields are within the page is not dependent on any of the values of the fields within the page. That is, a page of fields contains the same fields no matter what value any of the fields contains. (However, the values of fields within the page can depend on the values of fields that precede them in the page.)
Here is a brief overview of the sequence of events involved in generating a station location interactively, one field at a time:
In the case of a GUI system, you'll probably want to display the fields in pages. The sequence of events is a bit different:
N.B. The first two fields in the station-location capture process are always call sign and DXCC entity, in that order. As a practical matter, these two fields must match the corresponding fields in the available certificates. The library will therefore constrain the values of these fields to match what's available in the certificate store. See Certificate Handling API.