summaryrefslogtreecommitdiff
path: root/wrapper/wrapper_io.cpp
diff options
context:
space:
mode:
authora1xd <[email protected]>2020-12-02 05:25:19 -0500
committera1xd <[email protected]>2020-12-02 05:25:19 -0500
commit7d14daf1d5fce4d09471a3abe2aca49cf7680816 (patch)
tree43411443aadc79d36ad1da8063208cd51fdb15fe /wrapper/wrapper_io.cpp
parentmerge common-install with common (diff)
downloadrawaccel-7d14daf1d5fce4d09471a3abe2aca49cf7680816.tar.xz
rawaccel-7d14daf1d5fce4d09471a3abe2aca49cf7680816.zip
embed version info into assemblies
check app versions against lib, lib against driver add an 'about' dialog which displays version details, accessible from menu refactor error handling + add check for negative offset
Diffstat (limited to 'wrapper/wrapper_io.cpp')
-rw-r--r--wrapper/wrapper_io.cpp34
1 files changed, 19 insertions, 15 deletions
diff --git a/wrapper/wrapper_io.cpp b/wrapper/wrapper_io.cpp
index 0f257bf..4b77174 100644
--- a/wrapper/wrapper_io.cpp
+++ b/wrapper/wrapper_io.cpp
@@ -3,11 +3,10 @@
#include <rawaccel-io.hpp>
#include "wrapper_io.hpp"
-void wrapper_io::writeToDriver(const settings& args)
-{
- try
+auto with_managed_ex = [](auto fn) {
+ try
{
- write(args);
+ fn();
}
catch (const install_error&)
{
@@ -17,20 +16,25 @@ void wrapper_io::writeToDriver(const settings& args)
{
throw gcnew DriverIOException(gcnew String(e.what()));
}
+};
+
+void wrapper_io::writeToDriver(const settings& args)
+{
+ with_managed_ex([&] {
+ write(args);
+ });
}
void wrapper_io::readFromDriver(settings& args)
{
- try
- {
+ with_managed_ex([&] {
args = read();
- }
- catch (const install_error&)
- {
- throw gcnew DriverNotInstalledException();
- }
- catch (const std::system_error& e)
- {
- throw gcnew DriverIOException(gcnew String(e.what()));
- }
+ });
+}
+
+void wrapper_io::getDriverVersion(version_t& ver)
+{
+ with_managed_ex([&] {
+ ver = get_version();
+ });
}