Rev 232 | Blame | Compare with Previous | Last modification | View Log | RSS feed
/***************************************************************************
* Copyright (C) 2007 - 2013 by Andreas Theofilu *
* andreas@theosys.at *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation version 3 of the License. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef _IMPORT_H
#define _IMPORT_H
#include <qfile.h>
#include <qstring.h>
#include <QXmlReader>
#include "garmin.h"
#include "disassemble.h"
#include "callback.h"
#define eMax 7
#define FLD_FIRST 1
#define FLD_LAST 30
#define CON_FIRST 100
#define CON_LAST 121
#define ATT_FIRST 200
#define ATT_LAST 200
#define ERR_FIRST 500
#define ERR_LAST 507
#define ERR_OK 500
#define ERR_NOFILE 501
#define ERR_TAGS 502
#define ERR_ALLOCGMN 503
#define ERR_ALLOCLAP 504
#define ERR_ALLOCPOINT 505
#define ERR_ALLOCRUN 506
#define ERR_ALLOCLIST 507
typedef struct
{
int id;
QString name;
} KEYS;
extern KEYS keys[];
class gmn_import : public QXmlDefaultHandler
{
public:
gmn_import () { Initialize(); };
gmn_import (const QFile &qfile);
~gmn_import () { if (qfstat) file.close(); };
void Initialize ();
void setFile (const QFile &qfile);
void setFile (const QString &sfile);
void setDisassemble (disassemble *dis) { ds = dis; };
void connectCallback(CallbackInterface *cb) { m_cb = cb; }
int import ();
garmin_data *getGarminData() { if (gmn) return gmn; else return 0; };
QString getError (int err);
QString getError ();
bool startDocument ();
bool startElement (const QString&, const QString&, const QString& , const QXmlAttributes&);
bool endElement (const QString&, const QString&, const QString&);
bool characters (const QString&);
void saveImported(void *g);
protected:
unsigned int garmin_time (const QString&);
QString getKey (int pos);
private:
CallbackInterface *m_cb;
bool doCallback;
gmn_import *inst;
disassemble *ds;
QFile file;
bool qfstat, qfopen;
int __error;
int indent, tpos, lpos, oldLPos;
int tk, first_tpos;
bool history, fakeLap;
QString con, subCon;
garmin_data *gmn, *gmn_lap, *gmn_track;
garmin_list *list, *list_lap, *list_track;
D1015 lap, *plap;
D1009 run, *prun;
D304 point;
};
#endif
Generated by GNU Enscript 1.6.5.90.