summaryrefslogtreecommitdiff
path: root/devices/simple_dev/simple_dev.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'devices/simple_dev/simple_dev.cpp')
-rw-r--r--devices/simple_dev/simple_dev.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/devices/simple_dev/simple_dev.cpp b/devices/simple_dev/simple_dev.cpp
index 1b789b9..fc79d77 100644
--- a/devices/simple_dev/simple_dev.cpp
+++ b/devices/simple_dev/simple_dev.cpp
@@ -1,7 +1,7 @@
#include <distrio_helper.h>
#include <distrio_error.h>
-#include <distrio_ioI.h>
+#include <distrio_io.h>
#include <iostream>
@@ -38,7 +38,11 @@ class My_device : public Distrio_Device_i {
fl = new ::Distrio::Dev_function_list (function_list);
return distrio_success ();
}
-
+ ::Distrio::Error *callback_digital (::Distrio::Digital_ptr io_dig)
+ {
+ std::cout << "digital callback: " << io_dig->id () << std::endl;
+ return distrio_success ();
+ }
::Distrio::Digital_list_var digitals;
::Distrio::Dev_function_list function_list;
::Distrio::Digital_ptr huhu_pin;
@@ -73,6 +77,13 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
goto out;
}
+ try {
+ dev->huhu_pin->register_callback ( (Distrio::Device_ptr) dev,
+ Distrio::TRIGGER_FALLING_EDGE);
+ } catch (::CORBA::Exception &ex) {
+ std::cerr << "register cb failed" << std::endl;
+ }
+
dev->function_list.length (2);
dev->function_list[0].id = ::Distrio::DEV_START;