]> rtime.felk.cvut.cz Git - frescor/forb.git/commitdiff
Modified to achieve C++ compatibility
authorMichal Sojka <sojkam1@fel.cvut.cz>
Tue, 10 Feb 2009 14:12:04 +0000 (15:12 +0100)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Tue, 10 Feb 2009 14:12:04 +0000 (15:12 +0100)
src/forb-internal.h
src/forb.h
src/object.c
src/object.h
src/object_type.h
src/uuid.h

index 938b6ca9cbf8d833504ad47be1d35fd24614c9c2..074d65e4f0778dc61f80beda6efa24ce1cce2b5a 100644 (file)
@@ -114,7 +114,7 @@ typedef struct forb {
 
 typedef void (*forb_skel_func)(FORB_CDR_Codec *cin,
                               FORB_CDR_Codec *cout,
-                              struct forb_object *obj,
+                              struct _forb_object *obj,
                               struct forb_env *env);
 
 
index 52a6cbd364fe183d93f4a04108821bf726ffd1a8..1de3e350cd062489d270551e030df2fa3ce7f3bf 100644 (file)
@@ -146,6 +146,9 @@ errors to achieve more readable code.
 #include <forb/executor.h>
 #include <forb/object_type.h>
 
+#ifdef __cplusplus
+extern "C" {
+#endif
 
 /* Incomplete types - declared in forb-internal.h */
 struct forb_interface;
@@ -213,4 +216,8 @@ forb_get_req_source(const forb_object obj, forb_server_id *req_source);
 const char *
 forb_strerror(CORBA_Environment *env);
 
+#ifdef __cplusplus
+} /* extern "C"*/
+#endif
+
 #endif
index ec170e48747169bb0d504892d23570f479393fdd..8b9fedf8e5c7500cbb5b65d2b303342b12ca2127 100644 (file)
@@ -63,7 +63,7 @@
 
 GAVL_CUST_NODE_INT_IMP(forb_objects_nolock /* cust_prefix */,
                       forb_t /* cust_root_t */,
-                      struct forb_object /* cust_item_t */,
+                      struct _forb_object /* cust_item_t */,
                       forb_object_key /* cust_key_t */,
                       objects /* cust_root_node */,
                       node /* cust_item_node */,
@@ -133,7 +133,7 @@ forb_object_new(forb_orb orb,
 static void
 forb_object_release_real(forb_ref_t *ref)
 {
-       forb_object obj = container_of(ref, struct forb_object, ref);
+       forb_object obj = container_of(ref, struct _forb_object, ref);
        
        if (obj->orb) {
                forb_t *forb = forb_object_to_forb(obj);
index 3d09aa94999b7b2ac637f4803abf9b59830508f1..aaf630bb8d1a7f84bda8409771b3c21154aef3dc 100644 (file)
@@ -84,7 +84,7 @@
  * - if the method needs to store the object reference, it must call
  *   forb_object_duplicate() and store the duplicate.
  */
-struct forb_object {
+struct _forb_object {
        /** @name Fields valid for both local and remote object references */
        /*@{*/
        
@@ -184,7 +184,7 @@ forb_object_new(forb_orb orb,
  * ordered by object keys. */
 GAVL_CUST_NODE_INT_DEC(forb_objects_nolock /* cust_prefix */,
                       forb_t /* cust_root_t */,
-                      struct forb_object /* cust_item_t */,
+                      struct _forb_object /* cust_item_t */,
                       forb_object_key /* cust_key_t */,
                       objects /* cust_root_node */,
                       node /* cust_item_node */,
index 441a5d0764a4a86c6d075bd92c547b03771a5ce9..59b81403f852868a51330a445c11bb8b2c4800d9 100644 (file)
 #include <stdlib.h>
 #include <forb/types.h>
 
-struct forb_object;
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+struct _forb_object;
 
 /** Opaque object reference type. */
-typedef struct forb_object *forb_object;
+typedef struct _forb_object *forb_object;
 typedef forb_object CORBA_Object;
 
 #if !defined(_forb_orb_defined)
@@ -123,5 +127,8 @@ static inline CORBA_boolean forb_exception_occurred(CORBA_Environment *env)
 #define CORBA_malloc(size) forb_malloc(size)
 #define CORBA_free(ptr) forb_free(ptr)
 
+#ifdef __cplusplus
+} /* extern "C"*/
+#endif
 
 #endif
index 61c46d02f315f48b21900c498f3da3ff82d26cf4..7279ed8ef3698258294bb43d2f77d1ad49c46f8f 100644 (file)
 
 #include <string.h>
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /**
  * Universally unique ID type.
  */
@@ -65,4 +69,8 @@ forb_uuid_t *forb_uuid_generate(forb_uuid_t *dest);
 char *forb_uuid_to_string(char *dest, const forb_uuid_t *uuid, size_t n);
 forb_uuid_t *forb_uuid_from_string(forb_uuid_t *dest, const char *string);
 
+#ifdef __cplusplus
+} /* extern "C"*/
+#endif
+
 #endif