Etterna
0.74.4
Loading...
Searching...
No Matches
src
arch
RageDriver.h
1
#ifndef RAGE_DRIVER_H
2
#define RAGE_DRIVER_H
3
4
#include "RageUtil/Utils/RageUtil.h"
5
6
class
RageDriver
7
{
8
public
:
9
virtual
~RageDriver
() =
default
;
10
};
11
12
using
CreateRageDriverFn =
RageDriver
* (*)();
13
14
/* This is created and accessed during C++ static initialization; it must be a
15
* POD. */
16
struct
DriverList
17
{
18
void
Add(
const
istring& sName, CreateRageDriverFn pfn);
19
RageDriver
* Create(
const
std::string& sDriverName);
20
std::map<istring, CreateRageDriverFn>* m_pRegistrees;
21
};
22
23
struct
RegisterRageDriver
24
{
25
RegisterRageDriver
(
DriverList
* pDriverList,
26
const
istring& sName,
27
CreateRageDriverFn pfn);
28
};
29
30
#endif
RageDriver
Definition
RageDriver.h:7
DriverList
Definition
RageDriver.h:17
RegisterRageDriver
Definition
RageDriver.h:24
Generated by
1.9.8