summaryrefslogtreecommitdiff
path: root/common/distrio_helper.h
diff options
context:
space:
mode:
authorManuel Traut <manut@mecka.net>2012-06-03 14:01:02 +0200
committerManuel Traut <manut@mecka.net>2012-06-03 14:01:02 +0200
commitdb9dc73fb458638973a458ba76a2d7f159c96c4d (patch)
tree02c13cf2fd972ca3f5fd0f88a82149a6d8f5863b /common/distrio_helper.h
parent0354d89c2aa2c8934dc3a3c41f904bf5b713cb85 (diff)
libdistrio_common: rename common -> helper
- include 'common.h' in other components sounds bad Signed-off-by: Manuel Traut <manut@mecka.net>
Diffstat (limited to 'common/distrio_helper.h')
-rw-r--r--common/distrio_helper.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/common/distrio_helper.h b/common/distrio_helper.h
new file mode 100644
index 0000000..8070544
--- /dev/null
+++ b/common/distrio_helper.h
@@ -0,0 +1,40 @@
+/**
+ * CORBA helpers
+ *
+ * - init orb
+ * - get reference to name service
+ * - register objects @ name service
+ *
+ * @author Manuel Traut <manut@mecka.net>
+ * @licence GPLv2
+ */
+
+#include <distrio_ioI.h>
+#include <distrio_ioC.h>
+#include <distrio_ioS.h>
+
+#include <orbsvcs/CosNamingC.h>
+
+/**
+ * handle to corba objects needed for registration of new objects and running
+ * the ORB
+ */
+typedef struct _corba_ref {
+ /** init > 0 if orb is initialized */
+ int init;
+ CORBA::ORB_var orb;
+ PortableServer::POA_var poa;
+ PortableServer::POAManager_var poa_mgr;
+ CosNaming::NamingContext_var nc;
+} corba_ref;
+
+static corba_ref ref = {
+ .init = 0,
+};
+
+/** initialize corba orb - argc, argv as passed to main() */
+int init_corba (int argc, char **argv);
+/** register a digital io with a common name at the naming service */
+int register_digital (char *_name, Distrio_Digital_i *digital);
+/** run the orb - function blocks until orb shutdown */
+int run_orb (void);