| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- /*
- *
- * NMEA library
- * URL: http://nmea.sourceforge.net
- * Author: Tim (xtimor@gmail.com)
- * Licence: http://www.gnu.org/licenses/lgpl.html
- * $Id: generator.h 4 2007-08-27 13:11:03Z xtimor $
- *
- */
- #ifndef __NMEA_GENERATOR_H__
- #define __NMEA_GENERATOR_H__
- #include "info.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- /*
- * high level
- */
- struct _nmeaGENERATOR;
- enum nmeaGENTYPE
- {
- NMEA_GEN_NOISE = 0,
- NMEA_GEN_STATIC,
- NMEA_GEN_ROTATE,
- NMEA_GEN_SAT_STATIC,
- NMEA_GEN_SAT_ROTATE,
- NMEA_GEN_POS_RANDMOVE,
- NMEA_GEN_LAST
- };
- struct _nmeaGENERATOR * nmea_create_generator(int type, nmeaINFO *info);
- void nmea_destroy_generator(struct _nmeaGENERATOR *gen);
- int nmea_generate_from(
- char *buff, int buff_sz, /* buffer */
- nmeaINFO *info, /* source info */
- struct _nmeaGENERATOR *gen, /* generator */
- int generate_mask /* mask of sentence`s (e.g. GPGGA | GPGSA) */
- );
- /*
- * low level
- */
- typedef int (*nmeaNMEA_GEN_INIT)(struct _nmeaGENERATOR *gen, nmeaINFO *info);
- typedef int (*nmeaNMEA_GEN_LOOP)(struct _nmeaGENERATOR *gen, nmeaINFO *info);
- typedef int (*nmeaNMEA_GEN_RESET)(struct _nmeaGENERATOR *gen, nmeaINFO *info);
- typedef int (*nmeaNMEA_GEN_DESTROY)(struct _nmeaGENERATOR *gen);
- typedef struct _nmeaGENERATOR
- {
- void *gen_data;
- nmeaNMEA_GEN_INIT init_call;
- nmeaNMEA_GEN_LOOP loop_call;
- nmeaNMEA_GEN_RESET reset_call;
- nmeaNMEA_GEN_DESTROY destroy_call;
- struct _nmeaGENERATOR *next;
- } nmeaGENERATOR;
- int nmea_gen_init(nmeaGENERATOR *gen, nmeaINFO *info);
- int nmea_gen_loop(nmeaGENERATOR *gen, nmeaINFO *info);
- int nmea_gen_reset(nmeaGENERATOR *gen, nmeaINFO *info);
- void nmea_gen_destroy(nmeaGENERATOR *gen);
- void nmea_gen_add(nmeaGENERATOR *to, nmeaGENERATOR *gen);
- #ifdef __cplusplus
- }
- #endif
- #endif /* __NMEA_GENERATOR_H__ */
|