diff options
| author | Manuel Traut <manut@mecka.net> | 2012-06-03 20:12:26 +0200 |
|---|---|---|
| committer | Manuel Traut <manut@mecka.net> | 2012-06-03 20:12:26 +0200 |
| commit | f79ee1d59423488c3de89e97e3648515a9143b36 (patch) | |
| tree | 93e4922283a5d03c1c559f48970317b8f50056f1 /manager/bin/distrio_manager.cpp | |
| parent | 796c97ef8d5a437fff1edb5679b82db49806e576 (diff) | |
add simple_dev example
- registers device at the manager
- fixup manager to enable device registration
- extend distrio_helper to support device registration
Signed-off-by: Manuel Traut <manut@mecka.net>
Diffstat (limited to 'manager/bin/distrio_manager.cpp')
| -rw-r--r-- | manager/bin/distrio_manager.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/manager/bin/distrio_manager.cpp b/manager/bin/distrio_manager.cpp index b808d89..345eff6 100644 --- a/manager/bin/distrio_manager.cpp +++ b/manager/bin/distrio_manager.cpp @@ -55,7 +55,7 @@ Distrio_Manager_i::~Distrio_Manager_i (void) dig = Distrio::Digital::_narrow (io_digi); dig->id (new_id ()); } catch (::CORBA::Exception *exc) { - std::cerr << "register io failed" << std::endl; + std::cerr << "register digital io failed" << std::endl; } digital_list.length (digital_list.length () + 1); digital_list [digital_list.length () - 1] = dig; @@ -74,9 +74,18 @@ Distrio_Manager_i::~Distrio_Manager_i (void) ::Distrio::Error * Distrio_Manager_i::register_io_device ( ::Distrio::Device_ptr & io_dev) { - io_dev->id (new_id ()); + Distrio::Device_var dev; + + try { + dev = Distrio::Device::_narrow (io_dev); + dev->id (new_id ()); + } catch (::CORBA::Exception *exc) { + std::cerr << "register device failed" << std::endl; + } device_list.length (device_list.length () + 1); - device_list [device_list.length () - 1] = io_dev; + device_list [device_list.length () - 1] = dev; + + return distrio_success (); } ::Distrio::Error * Distrio_Manager_i::unregister_io_digital ( |
