foobar2000 SDK
2015-01-14
Main Page
Related Pages
Namespaces
Data Structures
Files
File List
Globals
foobar2000
SDK
coreversion.h
Go to the documentation of this file.
1
class
NOVTABLE
core_version_info
:
public
service_base
{
2
public
:
3
virtual
const
char
* get_version_string() = 0;
4
static
const
char
*
g_get_version_string
() {
return
static_api_ptr_t<core_version_info>
()->get_version_string();}
5
FB2K_MAKE_SERVICE_INTERFACE_ENTRYPOINT(
core_version_info
);
6
};
7
8
struct
t_core_version_data
{
9
t_uint32
m_major
,
m_minor1
,
m_minor2
,
m_minor3
;
10
};
11
13
class
NOVTABLE
core_version_info_v2
:
public
core_version_info
{
14
public
:
15
virtual
const
char
* get_name() = 0;
//"foobar2000"
16
virtual
const
char
* get_version_as_text() = 0;
//"N.N.N.N"
17
virtual
t_core_version_data
get_version() = 0;
18
20
bool
test_version
(
t_uint32
major,
t_uint32
minor1,
t_uint32
minor2,
t_uint32
minor3) {
21
const
t_core_version_data
v = get_version();
22
if
(v.
m_major
< major)
return
false
;
23
else
if
(v.
m_major
> major)
return
true
;
24
// major version matches
25
else
if
(v.
m_minor1
< minor1)
return
false
;
26
else
if
(v.
m_minor1
> minor1)
return
true
;
27
// minor1 version matches
28
else
if
(v.
m_minor2
< minor2)
return
false
;
29
else
if
(v.
m_minor2
> minor2)
return
true
;
30
// minor2 version matches
31
else
if
(v.
m_minor3
< minor3)
return
false
;
32
else
return
true
;
33
}
34
35
FB2K_MAKE_SERVICE_INTERFACE(
core_version_info_v2
,
core_version_info
);
36
};
core_version_info_v2
New (0.9.4.2)
Definition:
coreversion.h:13
core_version_info::g_get_version_string
static const char * g_get_version_string()
Definition:
coreversion.h:4
core_version_info_v2::test_version
bool test_version(t_uint32 major, t_uint32 minor1, t_uint32 minor2, t_uint32 minor3)
Determine whether running foobar2000 version is newer or equal to the specified version, eg. test_version(0,9,5,0) for 0.9.5.
Definition:
coreversion.h:20
core_version_info
Definition:
coreversion.h:1
t_core_version_data
Definition:
coreversion.h:8
service_base
Base class for all service classes. Provides interfaces for reference counter and querying for differ...
Definition:
service.h:333
t_core_version_data::m_minor3
t_uint32 m_minor3
Definition:
coreversion.h:9
t_core_version_data::m_minor2
t_uint32 m_minor2
Definition:
coreversion.h:9
t_core_version_data::m_major
t_uint32 m_major
Definition:
coreversion.h:9
t_core_version_data::m_minor1
t_uint32 m_minor1
Definition:
coreversion.h:9
static_api_ptr_t
Helper template used to easily access core services. Usage: static_api_ptr_t
api; api->doso...
Definition:
service.h:533
t_uint32
uint32_t t_uint32
Definition:
int_types.h:5
Generated by
1.8.9.1