summaryrefslogtreecommitdiff
path: root/common/distrio_helper.cpp
diff options
context:
space:
mode:
authorManuel Traut <manut@mecka.net>2012-06-07 23:56:05 +0200
committerManuel Traut <manut@mecka.net>2012-06-07 23:56:05 +0200
commit297e389057b702bbeb99139a8c248cfccfc0724e (patch)
tree20c6e79d452ef505084712becf5093c105c0f9a4 /common/distrio_helper.cpp
parente3f225cd4fb60437d94288849f7af03179d56f6b (diff)
digital out can now be controlled by simple_device
- extended libdistrio_common to enable easy access Signed-off-by: Manuel Traut <manut@mecka.net>
Diffstat (limited to 'common/distrio_helper.cpp')
-rw-r--r--common/distrio_helper.cpp28
1 files changed, 17 insertions, 11 deletions
diff --git a/common/distrio_helper.cpp b/common/distrio_helper.cpp
index ad0a5cd..362217d 100644
--- a/common/distrio_helper.cpp
+++ b/common/distrio_helper.cpp
@@ -97,25 +97,31 @@ int register_digital (Distrio_Digital_i *digital)
return 0;
}
-Distrio::Digital_ptr lookup_digital (std::string _name)
+void get_digital_list (Distrio::Digital_list_var *dig_list)
{
CORBA::Object_var obj;
- Distrio::Digital_var ret;
- Distrio::Digital_list_var dig_list;
Distrio::Error *e;
if (ref.init != ORB_RUNNING) {
std::cerr << "corba not initialized" << std::endl;
- return NULL;
+ return;
}
try {
- e = ref.manager->digital (dig_list);
+ e = ref.manager->digital (*dig_list);
free (e);
} catch (CORBA::Exception &_e) {
- std::cerr << "CORBA lookup digital io "<< _name <<" failed: "
+ std::cerr << "CORBA get digital list failed: "
<< _e << std::endl;
- return NULL;
+ }
+}
+
+void lookup_digital (std::string _name, Distrio::Digital_list_var dig_list,
+ Distrio::Digital **ptr)
+{
+ if (ref.init != ORB_RUNNING) {
+ std::cerr << "corba not initialized" << std::endl;
+ return;
}
for (unsigned int i = 0; i < dig_list->length (); i++) {
@@ -126,12 +132,12 @@ Distrio::Digital_ptr lookup_digital (std::string _name)
free (e);
if (! _name.compare (name.in ())) {
- Distrio::Digital_ptr ptr = dig_list[i];
- return ptr;
+ *ptr = dig_list[i];
+ (*ptr)->reset ();
+ std::cout << "yeah: " << *ptr << std::endl;
+ return;
}
}
-
- return NULL;
}
int register_device (std::string _name, Distrio_Device_i *dev)