| OpenTTD
    | 
Base for all driver factories. More...
#include <driver.h>
 
  
 | Public Member Functions | |
| const char * | GetDescription () const | 
| Get a nice description of the driver-class. | |
| virtual Driver * | CreateInstance () const =0 | 
| Create an instance of this driver-class. | |
| Static Public Member Functions | |
| static void | ShutdownDrivers () | 
| Shuts down all active drivers. | |
| static void | SelectDriver (const char *name, Driver::Type type) | 
| Find the requested driver and return its class. | |
| static char * | GetDriversInfo (char *p, const char *last) | 
| Build a human readable list of available drivers, grouped by type. | |
| Protected Member Functions | |
| DriverFactoryBase (Driver::Type type, int priority, const char *name, const char *description) | |
| Construct a new DriverFactory. | |
| virtual | ~DriverFactoryBase () | 
| Frees memory used for this->name. | |
| Private Types | |
| typedef std::map< const char *, DriverFactoryBase *, StringCompare > | Drivers | 
| Type for a map of drivers. | |
| Static Private Member Functions | |
| static Drivers & | GetDrivers () | 
| Get the map with drivers. | |
| static Driver ** | GetActiveDriver (Driver::Type type) | 
| Get the active driver for the given type. | |
| static const char * | GetDriverTypeName (Driver::Type type) | 
| Get the driver type name. | |
| static bool | SelectDriverImpl (const char *name, Driver::Type type) | 
| Find the requested driver and return its class. | |
| Private Attributes | |
| Driver::Type | type | 
| The type of driver. | |
| int | priority | 
| The priority of this factory. | |
| const char * | name | 
| The name of the drivers of this factory. | |
| const char * | description | 
| The description of this driver. | |
| Friends | |
| class | MusicDriver | 
| class | SoundDriver | 
| class | VideoDriver | 
| 
 | protected | 
Construct a new DriverFactory.
| type | The type of driver. | 
| priority | The priority within the driver class. | 
| name | The name of the driver. | 
| description | A long-ish description of the driver. | 
Definition at line 219 of file driver.cpp.
References GetDrivers(), GetDriverTypeName(), lastof, strecpy(), and stredup().
| 
 | pure virtual | 
Create an instance of this driver-class.
Implemented in FVideoDriver_Cocoa, FVideoDriver_SDL, FVideoDriver_Win32, FMusicDriver_Allegro, FVideoDriver_Dedicated, FMusicDriver_ExtMidi, FVideoDriver_Allegro, FVideoDriver_Null, FMusicDriver_DMusic, FMusicDriver_BeMidi, FMusicDriver_LibTimidity, FMusicDriver_Null, FMusicDriver_OS2, FMusicDriver_Win32, FMusicDriver_Cocoa, FMusicDriver_QtMidi, FSoundDriver_Allegro, FSoundDriver_Null, FSoundDriver_SDL, FSoundDriver_Win32, and FSoundDriver_Cocoa.
Referenced by SelectDriverImpl().
| 
 | inlinestaticprivate | 
Get the active driver for the given type.
| type | The type to get the driver for. | 
Definition at line 87 of file driver.h.
Referenced by SoundDriver::GetInstance(), MusicDriver::GetInstance(), VideoDriver::GetInstance(), and SelectDriverImpl().
| 
 | inline | 
Get a nice description of the driver-class.
Definition at line 130 of file driver.h.
Referenced by GetDriversInfo().
| 
 | static | 
Build a human readable list of available drivers, grouped by type.
| p | The buffer to write to. | 
| last | The last element in the buffer. | 
Definition at line 191 of file driver.cpp.
References Driver::DT_BEGIN, Driver::DT_END, GetDescription(), GetDrivers(), GetDriverTypeName(), name, priority, seprintf(), and type.
Referenced by ShowHelp().
| 
 | inlinestaticprivate | 
Get the driver type name.
| type | The type of driver to get the name of. | 
Definition at line 98 of file driver.h.
Referenced by DriverFactoryBase(), GetDriversInfo(), SelectDriver(), SelectDriverImpl(), and ~DriverFactoryBase().
| 
 | static | 
Find the requested driver and return its class.
| name | the driver to select. | 
| type | the type of driver to select | 
Definition at line 88 of file driver.cpp.
References GetDriverTypeName(), SelectDriverImpl(), StrEmpty(), and usererror().
Referenced by openttd_main().
| 
 | staticprivate | 
Find the requested driver and return its class.
| name | the driver to select. | 
| type | the type of driver to select | 
Definition at line 104 of file driver.cpp.
References CreateInstance(), DEBUG, GetActiveDriver(), GetDrivers(), GetDriverTypeName(), lastof, lengthof, name, priority, Driver::Start(), strecpy(), StrEmpty(), type, and usererror().
Referenced by SelectDriver().
 1.8.1.2
 1.8.1.2