microlibrary.h

00001 /***************************************************************************
00002  *   Copyright (C) 2003-2005 by David Saxton                               *
00003  *   david@bluehaze.org                                                    *
00004  *                                                                         *
00005  *   This program is free software; you can redistribute it and/or modify  *
00006  *   it under the terms of the GNU General Public License as published by  *
00007  *   the Free Software Foundation; either version 2 of the License, or     *
00008  *   (at your option) any later version.                                   *
00009  ***************************************************************************/
00010 
00011 #ifndef MICRoLIBRARY_H
00012 #define PICLIBRARY_H
00013 
00014 #include "asminfo.h"
00015 #include "microinfo.h"
00016 
00017 #include <qstring.h>
00018 #include <qstringlist.h>
00019 #include <qvaluelist.h>
00020 
00021 class MicroInfo;
00022 class MicroLibrary;
00023 typedef QValueList<MicroInfo*> MicroInfoList;
00024 
00025 inline MicroLibrary *microLibrary();
00026 
00031 class MicroLibrary
00032 {
00033         public:
00034                 static MicroLibrary * self();
00035                 
00036                 ~MicroLibrary();
00037         
00038                 MicroInfo * const microInfoWithID( QString id );
00039                 void addMicroInfo( MicroInfo *microInfo );
00040                 
00045                 QStringList microIDs( unsigned asmSet = AsmInfo::AsmSetAll, unsigned gpsimSupport = MicroInfo::AllSupport, unsigned flowCodeSupport = MicroInfo::AllSupport, unsigned microbeSupport = MicroInfo::AllSupport );
00046 
00047         private:
00048                 MicroLibrary();
00049                 static MicroLibrary * m_pSelf;
00050         
00051                 MicroInfoList m_microInfoList;
00052                 friend MicroLibrary *microLibrary();
00053 };
00054 
00055 #endif

Generated on Tue May 8 17:05:31 2007 for KTechLab by  doxygen 1.5.1