libsidplayfp 1.0.3
SidInfo.h
00001 /*
00002  * This file is part of libsidplayfp, a SID player engine.
00003  *
00004  *  Copyright 2011-2012 Leandro Nini
00005  *  Copyright 2007-2010 Antti Lankila
00006  *  Copyright 2000 Simon White
00007  *
00008  *  This program is free software; you can redistribute it and/or modify
00009  *  it under the terms of the GNU General Public License as published by
00010  *  the Free Software Foundation; either version 2 of the License, or
00011  *  (at your option) any later version.
00012  *
00013  *  This program is distributed in the hope that it will be useful,
00014  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00015  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00016  *  GNU General Public License for more details.
00017  *
00018  *  You should have received a copy of the GNU General Public License
00019  *  along with this program; if not, write to the Free Software
00020  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00021  */
00022 
00023 #ifndef SIDINFO_H
00024 #define SIDINFO_H
00025 
00026 #include <stdint.h>
00027 
00031 class SidInfo
00032 {
00033 public:
00035     virtual const char *name() const =0;
00036 
00038     virtual const char *version() const =0;
00039 
00041 
00042     virtual unsigned int numberOfCredits() const =0;
00043     virtual const char *credits(unsigned int i) const =0;
00045 
00047     virtual unsigned int maxsids() const =0;
00048 
00050     virtual unsigned int channels() const =0;
00051 
00053     virtual uint_least16_t driverAddr() const =0;
00054 
00056     virtual uint_least16_t driverLength() const =0;
00057 
00059     virtual uint_least16_t powerOnDelay() const =0;
00060 
00062     virtual const char *speedString() const =0;
00063 
00065 
00066     virtual const char *kernalDesc() const =0;
00067     virtual const char *basicDesc() const =0;
00068     virtual const char *chargenDesc() const =0;
00070 
00071 protected:
00072     ~SidInfo() {}
00073 };
00074 
00075 #endif  /* SIDINFO_H */