summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManuel Traut <manut@mecka.net>2012-06-03 18:42:11 +0200
committerManuel Traut <manut@mecka.net>2012-06-03 18:42:11 +0200
commitc5b7ade72c08a22dd0e670198831d6f936543f0a (patch)
tree153a703f68f89c55b989c8921aa56417d58060d3
parentb4438ec8043b2d803eb3c5da979ed4c9a3b1f53e (diff)
generic_gpio example - now working
- added a base class for my concret io implementation - orb needs to run during registration of objects (fixed in libcommon) Signed-off-by: Manuel Traut <manut@mecka.net>
-rw-r--r--generic_gpio/generic_gpio.cpp28
1 files changed, 24 insertions, 4 deletions
diff --git a/generic_gpio/generic_gpio.cpp b/generic_gpio/generic_gpio.cpp
index 3287578..325cb9c 100644
--- a/generic_gpio/generic_gpio.cpp
+++ b/generic_gpio/generic_gpio.cpp
@@ -1,23 +1,43 @@
#include <distrio_helper.h>
+#include <distrio_error.h>
+
#include <distrio_ioI.h>
+#include <iostream>
+
+class My_digital : public Distrio_Digital_i {
+ public:
+ ::CORBA::Long id (void)
+ {
+ return my_id;
+ }
+ void id (::CORBA::Long id)
+ {
+ my_id = id;
+ }
+ private:
+ ::CORBA::Long my_id;
+};
+
int main (int argc, char **argv)
{
int ret = 0;
- Distrio_Digital_i *digital;
+ My_digital *digital;
if (init_corba (argc, argv))
return -EINVAL;
- digital = new Distrio_Digital_i ();
+ if (run_orb ())
+ return -EINVAL;
+
+ digital = new My_digital ();
if (register_digital ("pin huhu", digital)) {
ret = -EINVAL;
goto out;
}
- if (run_orb ())
- ret = -EINVAL;
+ std::cout << "registered id: " << digital->id () << std::endl;
out:
free (digital);