ReXGlue SDK
Toggle main menu visibility
Loading...
Searching...
No Matches
driver_module.h
Go to the documentation of this file.
1
10
11
#pragma once
12
13
#include <memory>
14
#include <span>
15
#include <string>
16
#include <string_view>
17
#include <vector>
18
19
#include <
rex/driver.h
>
20
#include <
rex/driver_registration.h
>
21
#include <
rex/module.h
>
22
#include <
rex/result.h
>
23
24
namespace
rex
{
25
26
class
IDriverContext
;
27
32
REX_DECLARE_INTERFACE
(
IDriverModule
, 1)
33
virtual std::span<const
DriverRegistration
> GetDrivers() const = 0;
34
};
35
44
[[nodiscard]]
REX_API
std::vector<std::
string
>
GetDriverModules
(
45
DriverType
type, std::string_view names,
GraphicsFamily
family =
GraphicsFamily
::kNone,
46
IInterfaceFactory
* connected =
nullptr
);
47
57
[[nodiscard]]
REX_API
Result
<std::vector<std::unique_ptr<
IDriver
>>>
SelectDrivers
(
58
IInterfaceFactory
& factory,
DriverType
type, std::string_view names,
IDriverContext
& context);
59
60
}
// namespace rex
rex::IDriverContext
Definition
driver_context.h:23
rex::IDriverModule
Definition
driver_module.h:32
rex::IDriver
Definition
driver.h:41
rex::IInterfaceFactory
Definition
module.h:131
driver.h
driver_registration.h
module.h
Interfaces, factory and module declaration.
REX_DECLARE_INTERFACE
#define REX_DECLARE_INTERFACE(Name, version)
Definition
module.h:114
rex
Definition
app.h:36
rex::DriverType
DriverType
Definition
driver.h:33
rex::SelectDrivers
Result< std::vector< std::unique_ptr< IDriver > > > SelectDrivers(IInterfaceFactory &factory, DriverType type, std::string_view names, IDriverContext &context)
rex::GraphicsFamily
GraphicsFamily
Definition
driver.h:25
rex::GetDriverModules
std::vector< std::string > GetDriverModules(DriverType type, std::string_view names, GraphicsFamily family=GraphicsFamily::kNone, IInterfaceFactory *connected=nullptr)
rex::Result
std::expected< T, Error > Result
Definition
result.h:98
REX_API
#define REX_API
Definition
platform.h:177
result.h
rex::DriverRegistration
Definition
driver_registration.h:20
rex
driver_module.h
Generated by
1.18.0