From 9732e0c744e45a67094fc6ce08bdadb1f9a08d4a Mon Sep 17 00:00:00 2001 From: Hugo Lima Date: Mon, 17 Aug 2009 17:32:08 -0300 Subject: The genesis... --- apiextractor.h | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 apiextractor.h (limited to 'apiextractor.h') diff --git a/apiextractor.h b/apiextractor.h new file mode 100644 index 000000000..301e8cdd3 --- /dev/null +++ b/apiextractor.h @@ -0,0 +1,63 @@ +/* + * This file is part of the API Extractor project. + * + * Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + * + * Contact: PySide team + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * version 2 as published by the Free Software Foundation. + * + * 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., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + */ + +#ifndef APIEXTRACTOR_H +#define APIEXTRACTOR_H + +#include +#include +#include + +class Generator; + +class ApiExtractor +{ +public: + ApiExtractor(int argc, char** argv); + ~ApiExtractor(); + + void addGenerator(Generator* generator); + void setVersionHandler(void (*versionHandler)(const char*)) + { + m_versionHandler = versionHandler; + } + + int exec(); + +private: + QLinkedList m_generators; + QMap m_args; + QString m_typeSystemFileName; + QString m_globalHeaderFileName; + const char* m_programName; + void (*m_versionHandler)(const char*); + + bool parseGeneralArgs(); + void printUsage(); + + // disable copy + ApiExtractor(const ApiExtractor&); + ApiExtractor& operator=(const ApiExtractor&); +}; + +#endif // APIEXTRACTOR_H -- cgit v1.2.3