summaryrefslogtreecommitdiff
path: root/manager/distrio_manager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'manager/distrio_manager.cpp')
-rw-r--r--manager/distrio_manager.cpp28
1 files changed, 18 insertions, 10 deletions
diff --git a/manager/distrio_manager.cpp b/manager/distrio_manager.cpp
index de707e9..b7671fb 100644
--- a/manager/distrio_manager.cpp
+++ b/manager/distrio_manager.cpp
@@ -8,7 +8,7 @@
* @licence GPLv2
*/
-#include "distrio_managerI.h"
+#include "distrio_manager.h"
#include <orbsvcs/CosNamingC.h>
@@ -27,37 +27,45 @@ Distrio_Manager_i::~Distrio_Manager_i (void)
::Distrio::Error * Distrio_Manager_i::digital (
::Distrio::Digital_list_out io_list)
{
- // Add your implementation here
+ io_list = &digital_list;
}
::Distrio::Error * Distrio_Manager_i::analog (
::Distrio::Analog_list_out io_list)
{
- // Add your implementation here
+ io_list = &analog_list;
}
::Distrio::Error * Distrio_Manager_i::device (
::Distrio::Device_list_out dev_list)
{
- // Add your implementation here
+ dev_list = &device_list;
}
+/* TODO: think about locking!!! */
+
::Distrio::Error * Distrio_Manager_i::register_io_digital (
- ::Distrio::Analog_ptr io_ana)
+ ::Distrio::Digital_ptr & io_digi)
{
- // Add your implementation here
+ io_digi->id (new_id ());
+ digital_list.length (digital_list.length () + 1);
+ digital_list [digital_list.length () - 1] = io_digi;
}
::Distrio::Error * Distrio_Manager_i::register_io_analog (
- ::Distrio::Digital_ptr io_dig)
+ ::Distrio::Analog_ptr & io_ana)
{
- // Add your implementation here
+ io_ana->id (new_id ());
+ analog_list.length (digital_list.length () + 1);
+ analog_list [analog_list.length () - 1] = io_ana;
}
::Distrio::Error * Distrio_Manager_i::register_io_device (
- ::Distrio::Device_ptr io_dev)
+ ::Distrio::Device_ptr & io_dev)
{
- // Add your implementation here
+ io_dev->id (new_id ());
+ device_list.length (device_list.length () + 1);
+ device_list [device_list.length () - 1] = io_dev;
}
::Distrio::Error * Distrio_Manager_i::unregister_io_digital (