libsidplayfp  2.0.2
SidInfo.h
1 /*
2  * This file is part of libsidplayfp, a SID player engine.
3  *
4  * Copyright 2011-2019 Leandro Nini
5  * Copyright 2007-2010 Antti Lankila
6  * Copyright 2000 Simon White
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21  */
22 
23 #ifndef SIDINFO_H
24 #define SIDINFO_H
25 
26 #include <stdint.h>
27 
28 #include "sidplayfp/siddefs.h"
29 
33 class SID_EXTERN SidInfo
34 {
35 public:
37  const char *name() const;
38 
40  const char *version() const;
41 
43 
44  unsigned int numberOfCredits() const;
45  const char *credits(unsigned int i) const;
47 
49  unsigned int maxsids() const;
50 
52  unsigned int channels() const;
53 
55  uint_least16_t driverAddr() const;
56 
58  uint_least16_t driverLength() const;
59 
61  uint_least16_t powerOnDelay() const;
62 
64  const char *speedString() const;
65 
67 
68  const char *kernalDesc() const;
69  const char *basicDesc() const;
70  const char *chargenDesc() const;
72 
73 private:
74  virtual const char *getName() const =0;
75 
76  virtual const char *getVersion() const =0;
77 
78  virtual unsigned int getNumberOfCredits() const =0;
79  virtual const char *getCredits(unsigned int i) const =0;
80 
81  virtual unsigned int getMaxsids() const =0;
82 
83  virtual unsigned int getChannels() const =0;
84 
85  virtual uint_least16_t getDriverAddr() const =0;
86 
87  virtual uint_least16_t getDriverLength() const =0;
88 
89  virtual uint_least16_t getPowerOnDelay() const =0;
90 
91  virtual const char *getSpeedString() const =0;
92 
93  virtual const char *getKernalDesc() const =0;
94  virtual const char *getBasicDesc() const =0;
95  virtual const char *getChargenDesc() const =0;
96 
97 protected:
98  ~SidInfo() {}
99 };
100 
101 #endif /* SIDINFO_H */
SidInfo
Definition: SidInfo.h:34