summaryrefslogtreecommitdiff
path: root/wrapper/wrapper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'wrapper/wrapper.cpp')
-rw-r--r--wrapper/wrapper.cpp21
1 files changed, 18 insertions, 3 deletions
diff --git a/wrapper/wrapper.cpp b/wrapper/wrapper.cpp
index 83804a2..6561fd2 100644
--- a/wrapper/wrapper.cpp
+++ b/wrapper/wrapper.cpp
@@ -695,19 +695,34 @@ public:
return cfg;
}
- static DriverConfig^ GetDefault()
+ static DriverConfig^ FromProfile(Profile^ prof)
{
auto cfg = gcnew DriverConfig();
cfg->profiles = gcnew List<Profile^>();
cfg->accels = gcnew List<ManagedAccel^>();
cfg->devices = gcnew List<DeviceSettings^>();
- cfg->profiles->Add(gcnew Profile());
- cfg->accels->Add(gcnew ManagedAccel(default_driver_settings));
+ cfg->profiles->Add(prof);
+ cfg->accels->Add(gcnew ManagedAccel(prof));
cfg->defaultDeviceConfig.Init(default_device_settings.config);
return cfg;
}
+ static DriverConfig^ GetDefault()
+ {
+ return FromProfile(gcnew Profile());
+ }
+
+ static void Deactivate()
+ {
+ try {
+ ra::reset();
+ }
+ catch (const std::exception& e) {
+ throw gcnew InteropException(e);
+ }
+ }
+
private:
DriverConfig() {}
};