Wexus2 0.20
|
00001 00002 /* 00003 * Copyright (c) 2011 Aleksander B. Demko 00004 * This source code is distributed under the MIT license. 00005 * See the accompanying file LICENSE.MIT.txt for details. 00006 */ 00007 00008 #ifndef __INCLUDED_WEXUSHEADERMODELPARSER_H__ 00009 #define __INCLUDED_WEXUSHEADERMODELPARSER_H__ 00010 00011 #include <QString> 00012 #include <QIODevice> 00013 00014 #include <wexus/ModelTokenList.h> 00015 #include <wexus/Exception.h> 00016 00017 00018 namespace wexus 00019 { 00020 class HeaderModelParser; 00021 } 00022 00023 class wexus::HeaderModelParser 00024 { 00025 public: 00026 class Exception : public wexus::Exception 00027 { 00028 public: 00029 /// usermessage constructor 00030 Exception(const QString &_what) throw(); 00031 }; 00032 00033 public: 00034 /// ctor 00035 HeaderModelParser(void); 00036 00037 /** 00038 * Parsers the given input stream. 00039 * 00040 * @author Aleksander Demko 00041 */ 00042 virtual void parse(QIODevice &input, wexus::ModelTokenList &outlist); 00043 00044 private: 00045 static void tokenize(const QByteArray &ary, wexus::ModelTokenList &outlist); 00046 }; 00047 00048 #endif 00049