File indexing completed on 2024-09-08 08:10:16
0001 /*************************************************************************** 0002 * Copyright (C) 2003-2004 by David Saxton * 0003 * david@bluehaze.org * 0004 * * 0005 * This program is free software; you can redistribute it and/or modify * 0006 * it under the terms of the GNU General Public License as published by * 0007 * the Free Software Foundation; either version 2 of the License, or * 0008 * (at your option) any later version. * 0009 ***************************************************************************/ 0010 0011 #ifndef MICROINFO_H 0012 #define MICROINFO_H 0013 0014 #include <QStringList> 0015 0016 class AsmInfo; 0017 class MicroPackage; 0018 0019 /** 0020 @author David Saxton 0021 */ 0022 class MicroInfo 0023 { 0024 public: 0025 enum Support { FullSupport = 1 << 0, PartialSupport = 1 << 1, NoSupport = 1 << 2 }; 0026 enum { AllSupport = FullSupport | PartialSupport | NoSupport }; 0027 0028 MicroInfo(); 0029 virtual ~MicroInfo(); 0030 0031 virtual AsmInfo *instructionSet() = 0; 0032 /** 0033 * Returns the gpsim emulator support status 0034 */ 0035 virtual Support gpsimSupport() const 0036 { 0037 return NoSupport; 0038 } 0039 /** 0040 * Returns the FlowCode support (i.e. constructing flowcode for the PIC) 0041 */ 0042 virtual Support flowcodeSupport() const 0043 { 0044 return NoSupport; 0045 } 0046 /** 0047 * Returns the Microbe support (i.e. compiling) 0048 */ 0049 virtual Support microbeSupport() const 0050 { 0051 return NoSupport; 0052 } 0053 /** 0054 * Returns a pointer to the Micro Package in use 0055 */ 0056 MicroPackage *package() const 0057 { 0058 return m_package; 0059 } 0060 /** 0061 * Returns an id unique to the Micro 0062 */ 0063 QString id() const 0064 { 0065 return m_id; 0066 } 0067 0068 protected: 0069 QString m_id; 0070 MicroPackage *m_package; 0071 }; 0072 0073 #endif