diff options
| author | Slávek Banko <slavek.banko@axis.cz> | 2014-03-03 13:46:44 +0100 | 
|---|---|---|
| committer | Slávek Banko <slavek.banko@axis.cz> | 2014-03-03 13:46:44 +0100 | 
| commit | 2e02da046d3e56cdf4744f644af35ad07424f48b (patch) | |
| tree | f2dcf353aa2338eae1c2ff2c41af971c580c2762 /src/translators/xmlstatehandler.h | |
| parent | 3c13229d98167ae4ae0710d5eeef23fef5005bf0 (diff) | |
| download | tellico-2e02da046d3e56cdf4744f644af35ad07424f48b.tar.gz tellico-2e02da046d3e56cdf4744f644af35ad07424f48b.zip | |
Update to upstream version 1.3.6
Diffstat (limited to 'src/translators/xmlstatehandler.h')
| -rw-r--r-- | src/translators/xmlstatehandler.h | 345 | 
1 files changed, 345 insertions, 0 deletions
| diff --git a/src/translators/xmlstatehandler.h b/src/translators/xmlstatehandler.h new file mode 100644 index 0000000..8b5c137 --- /dev/null +++ b/src/translators/xmlstatehandler.h @@ -0,0 +1,345 @@ +/*************************************************************************** +    copyright            : (C) 2008 by Robby Stephenson +    email                : robby@periapsis.org + ***************************************************************************/ + +/*************************************************************************** + *                                                                         * + *   This program is free software; you can redistribute it and/or modify  * + *   it under the terms of version 2 of the GNU General Public License as  * + *   published by the Free Software Foundation;                            * + *                                                                         * + ***************************************************************************/ + +#ifndef TELLICO_IMPORT_XMLSTATEHANDLER_H +#define TELLICO_IMPORT_XMLSTATEHANDLER_H + +#ifdef QT_NO_CAST_ASCII +#define HAD_QT_NO_CAST_ASCII +#undef QT_NO_CAST_ASCII +#endif + +#include <tqxml.h> + +#ifdef HAD_QT_NO_CAST_ASCII +#define QT_NO_CAST_ASCII +#undef HAD_QT_NO_CAST_ASCII +#endif + +#include "../datavectors.h" + +namespace Tellico { +  namespace Import { +    namespace SAX { + +class StateData { +public: +  TQString text; +  TQString error; +  TQString ns; // namespace +  TQString textBuffer; +  uint syntaxVersion; +  TQString collTitle; +  int collType; +  TQString entryName; +  Data::CollPtr coll; +  Data::FieldVec fields; +  Data::FieldPtr currentField; +  Data::EntryVec entries; +  FilterPtr filter; +  Data::BorrowerPtr borrower; +  bool defaultFields; +  bool loadImages; +  bool hasImages; +}; + +class StateHandler { +public: +  StateHandler(StateData* data) : d(data) {} +  virtual ~StateHandler() {} + +  virtual bool start(const TQString&, const TQString&, const TQString&, const TQXmlAttributes&) = 0; +  virtual bool   end(const TQString&, const TQString&, const TQString&) = 0; + +  StateHandler* nextHandler(const TQString&, const TQString&, const TQString&); +protected: +  StateData* d; +private: +  virtual StateHandler* nextHandlerImpl(const TQString&, const TQString&, const TQString&)  { return 0; } +}; + +class NullHandler : public StateHandler { +public: +  NullHandler(StateData* data) : StateHandler(data) {} +  virtual ~NullHandler() {} + +  virtual bool start(const TQString&, const TQString&, const TQString&, const TQXmlAttributes&) { return true; } +  virtual bool   end(const TQString&, const TQString&, const TQString&) { return true; } +}; + +class RootHandler : public StateHandler { +public: +  RootHandler(StateData* data) : StateHandler(data) {} +  virtual ~RootHandler() {} + +  virtual bool start(const TQString&, const TQString&, const TQString&, const TQXmlAttributes&) { return true; } +  virtual bool   end(const TQString&, const TQString&, const TQString&) { return true; } + +private: +  virtual StateHandler* nextHandlerImpl(const TQString&, const TQString&, const TQString&); +}; + +class DocumentHandler : public StateHandler { +public: +  DocumentHandler(StateData* data) : StateHandler(data) {} +  virtual ~DocumentHandler() {} + +  virtual bool start(const TQString&, const TQString&, const TQString&, const TQXmlAttributes&); +  virtual bool   end(const TQString&, const TQString&, const TQString&); + +private: +  virtual StateHandler* nextHandlerImpl(const TQString&, const TQString&, const TQString&); +}; + +class CollectionHandler : public StateHandler { +public: +  CollectionHandler(StateData* data) : StateHandler(data) {} +  virtual ~CollectionHandler() {} + +  virtual bool start(const TQString&, const TQString&, const TQString&, const TQXmlAttributes&); +  virtual bool   end(const TQString&, const TQString&, const TQString&); + +private: +  virtual StateHandler* nextHandlerImpl(const TQString&, const TQString&, const TQString&); +}; + +class FieldsHandler : public StateHandler { +public: +  FieldsHandler(StateData* data) : StateHandler(data) {} +  virtual ~FieldsHandler() {} + +  virtual bool start(const TQString&, const TQString&, const TQString&, const TQXmlAttributes&); +  virtual bool   end(const TQString&, const TQString&, const TQString&); + +private: +  virtual StateHandler* nextHandlerImpl(const TQString&, const TQString&, const TQString&); +}; + +class FieldHandler : public StateHandler { +public: +  FieldHandler(StateData* data) : StateHandler(data) {} +  virtual ~FieldHandler() {} + +  virtual bool start(const TQString&, const TQString&, const TQString&, const TQXmlAttributes&); +  virtual bool   end(const TQString&, const TQString&, const TQString&); + +private: +  virtual StateHandler* nextHandlerImpl(const TQString&, const TQString&, const TQString&); +}; + +class FieldPropertyHandler : public StateHandler { +public: +  FieldPropertyHandler(StateData* data) : StateHandler(data) {} +  virtual ~FieldPropertyHandler() {} + +  virtual bool start(const TQString&, const TQString&, const TQString&, const TQXmlAttributes&); +  virtual bool   end(const TQString&, const TQString&, const TQString&); + +private: +  TQString m_propertyName; +}; + +class BibtexPreambleHandler : public StateHandler { +public: +  BibtexPreambleHandler(StateData* data) : StateHandler(data) {} +  virtual ~BibtexPreambleHandler() {} + +  virtual bool start(const TQString&, const TQString&, const TQString&, const TQXmlAttributes&); +  virtual bool   end(const TQString&, const TQString&, const TQString&); +}; + +class BibtexMacrosHandler : public StateHandler { +public: +  BibtexMacrosHandler(StateData* data) : StateHandler(data) {} +  virtual ~BibtexMacrosHandler() {} + +  virtual bool start(const TQString&, const TQString&, const TQString&, const TQXmlAttributes&); +  virtual bool   end(const TQString&, const TQString&, const TQString&); + +private: +  virtual StateHandler* nextHandlerImpl(const TQString&, const TQString&, const TQString&); +}; + +class BibtexMacroHandler : public StateHandler { +public: +  BibtexMacroHandler(StateData* data) : StateHandler(data) {} +  virtual ~BibtexMacroHandler() {} + +  virtual bool start(const TQString&, const TQString&, const TQString&, const TQXmlAttributes&); +  virtual bool   end(const TQString&, const TQString&, const TQString&); + +private: +  TQString m_macroName; +}; + +class EntryHandler : public StateHandler { +public: +  EntryHandler(StateData* data) : StateHandler(data) {} +  virtual ~EntryHandler() {} + +  virtual bool start(const TQString&, const TQString&, const TQString&, const TQXmlAttributes&); +  virtual bool   end(const TQString&, const TQString&, const TQString&); + +private: +  virtual StateHandler* nextHandlerImpl(const TQString&, const TQString&, const TQString&); +}; + +class FieldValueContainerHandler : public StateHandler { +public: +  FieldValueContainerHandler(StateData* data) : StateHandler(data) {} +  virtual ~FieldValueContainerHandler() {} + +  virtual bool start(const TQString&, const TQString&, const TQString&, const TQXmlAttributes&); +  virtual bool   end(const TQString&, const TQString&, const TQString&); + +private: +  virtual StateHandler* nextHandlerImpl(const TQString&, const TQString&, const TQString&); +}; + +class FieldValueHandler : public StateHandler { +public: +  FieldValueHandler(StateData* data) : StateHandler(data) {} +  virtual ~FieldValueHandler() {} + +  virtual bool start(const TQString&, const TQString&, const TQString&, const TQXmlAttributes&); +  virtual bool   end(const TQString&, const TQString&, const TQString&); + +private: +  virtual StateHandler* nextHandlerImpl(const TQString&, const TQString&, const TQString&); +  bool m_i18n; +  bool m_validateISBN; +}; + +class DateValueHandler : public StateHandler { +public: +  DateValueHandler(StateData* data) : StateHandler(data) {} +  virtual ~DateValueHandler() {} + +  virtual bool start(const TQString&, const TQString&, const TQString&, const TQXmlAttributes&); +  virtual bool   end(const TQString&, const TQString&, const TQString&); +}; + +class TableColumnHandler : public StateHandler { +public: +  TableColumnHandler(StateData* data) : StateHandler(data) {} +  virtual ~TableColumnHandler() {} + +  virtual bool start(const TQString&, const TQString&, const TQString&, const TQXmlAttributes&); +  virtual bool   end(const TQString&, const TQString&, const TQString&); +}; + +class ImagesHandler : public StateHandler { +public: +  ImagesHandler(StateData* data) : StateHandler(data) {} +  virtual ~ImagesHandler() {} + +  virtual bool start(const TQString&, const TQString&, const TQString&, const TQXmlAttributes&); +  virtual bool   end(const TQString&, const TQString&, const TQString&); + +private: +  virtual StateHandler* nextHandlerImpl(const TQString&, const TQString&, const TQString&); +}; + +class ImageHandler : public StateHandler { +public: +  ImageHandler(StateData* data) : StateHandler(data) {} +  virtual ~ImageHandler() {} + +  virtual bool start(const TQString&, const TQString&, const TQString&, const TQXmlAttributes&); +  virtual bool   end(const TQString&, const TQString&, const TQString&); + +private: +  TQString m_format; +  bool m_link; +  TQString m_imageId; +  int m_width; +  int m_height; +}; + +class FiltersHandler : public StateHandler { +public: +  FiltersHandler(StateData* data) : StateHandler(data) {} +  virtual ~FiltersHandler() {} + +  virtual bool start(const TQString&, const TQString&, const TQString&, const TQXmlAttributes&); +  virtual bool   end(const TQString&, const TQString&, const TQString&); + +private: +  virtual StateHandler* nextHandlerImpl(const TQString&, const TQString&, const TQString&); +}; + +class FilterHandler : public StateHandler { +public: +  FilterHandler(StateData* data) : StateHandler(data) {} +  virtual ~FilterHandler() {} + +  virtual bool start(const TQString&, const TQString&, const TQString&, const TQXmlAttributes&); +  virtual bool   end(const TQString&, const TQString&, const TQString&); + +private: +  virtual StateHandler* nextHandlerImpl(const TQString&, const TQString&, const TQString&); +}; + +class FilterRuleHandler : public StateHandler { +public: +  FilterRuleHandler(StateData* data) : StateHandler(data) {} +  virtual ~FilterRuleHandler() {} + +  virtual bool start(const TQString&, const TQString&, const TQString&, const TQXmlAttributes&); +  virtual bool   end(const TQString&, const TQString&, const TQString&); +}; + +class BorrowersHandler : public StateHandler { +public: +  BorrowersHandler(StateData* data) : StateHandler(data) {} +  virtual ~BorrowersHandler() {} + +  virtual bool start(const TQString&, const TQString&, const TQString&, const TQXmlAttributes&); +  virtual bool   end(const TQString&, const TQString&, const TQString&); + +private: +  virtual StateHandler* nextHandlerImpl(const TQString&, const TQString&, const TQString&); +}; + +class BorrowerHandler : public StateHandler { +public: +  BorrowerHandler(StateData* data) : StateHandler(data) {} +  virtual ~BorrowerHandler() {} + +  virtual bool start(const TQString&, const TQString&, const TQString&, const TQXmlAttributes&); +  virtual bool   end(const TQString&, const TQString&, const TQString&); + +private: +  virtual StateHandler* nextHandlerImpl(const TQString&, const TQString&, const TQString&); +}; + +class LoanHandler : public StateHandler { +public: +  LoanHandler(StateData* data) : StateHandler(data) {} +  virtual ~LoanHandler() {} + +  virtual bool start(const TQString&, const TQString&, const TQString&, const TQXmlAttributes&); +  virtual bool   end(const TQString&, const TQString&, const TQString&); + +private: +  int m_id; +  TQString m_uid; +  TQString m_loanDate; +  TQString m_dueDate; +  bool m_inCalendar; +}; + +    } +  } +} +#endif | 
