libsidplayfp 2.15.0
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
33class SID_EXTERN SidInfo
34{
35public:
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
73private:
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
97protected:
98 ~SidInfo() {}
99};
100
101#endif /* SIDINFO_H */
Definition SidInfo.h:34