diff options
| author | Manuel Traut <manut@mecka.net> | 2012-06-07 23:56:05 +0200 |
|---|---|---|
| committer | Manuel Traut <manut@mecka.net> | 2012-06-07 23:56:05 +0200 |
| commit | 297e389057b702bbeb99139a8c248cfccfc0724e (patch) | |
| tree | 20c6e79d452ef505084712becf5093c105c0f9a4 /common/distrio_helper.cpp | |
| parent | e3f225cd4fb60437d94288849f7af03179d56f6b (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.cpp | 28 |
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) |
