00001 /*****************************************************************************\ 00002 * * 00003 * XrttiParsed.h * 00004 * * 00005 * ------------------------------------------------------------------------- * 00006 * Copyright (C) 2007 Bryan Ischo <bryan@ischo.com> * 00007 * * 00008 * This program is free software; you can redistribute it and/or modify it * 00009 * under the terms of the GNU General Public License Version 2 as published * 00010 * by the Free Software Foundation. * 00011 * * 00012 * This program is distributed in the hope that it will be useful, but * 00013 * WITHOUT ANY WARRANTY; without even the implied warranty of * 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 00015 * Public License for more details. * 00016 * * 00017 * You should have received a copy of the GNU General Public License * 00018 * along with this program; if not, write to: * 00019 * The Free Software Foundation, Inc. * 00020 * 51 Franklin Street, Fifth Floor * 00021 * Boston, MA 02110-1301, USA. * 00022 * ------------------------------------------------------------------------- * 00023 * * 00024 \*****************************************************************************/ 00025 00026 00027 #ifndef XRTTI_PARSED_H 00028 #define XRTTI_PARSED_H 00029 00030 #include <Xrtti/Xrtti.h> 00031 00032 00037 namespace Xrtti { 00038 00039 #if 0 // This fixes indentation in emacs 00040 } 00041 #endif 00042 00043 00050 class ContextSet 00051 { 00052 public: 00053 00057 virtual ~ContextSet() { } 00058 00080 virtual bool AddHeader(const char *file, u32 includeCount, 00081 const char **pIncludes, u32 definitionCount, 00082 const char **pDefinitions, const char *tmpfile) = 0; 00083 00091 virtual const char *GetLastError() const = 0; 00092 00098 virtual u32 GetContextCount() const = 0; 00099 00108 virtual const Context *GetContext(u32 index) const = 0; 00109 00120 virtual const Context *LookupContext(const char *pFullName) const = 0; 00121 }; 00122 00123 00133 ContextSet *CreateContextSet(); 00134 00135 00136 }; // namespace Xrtti 00137 00138 00139 #endif // XRTTI_PARSED_H