aboutsummaryrefslogtreecommitdiff
path: root/devel/orbitcpp
diff options
context:
space:
mode:
Diffstat (limited to 'devel/orbitcpp')
-rw-r--r--devel/orbitcpp/Makefile2
-rw-r--r--devel/orbitcpp/files/patch-orbitcpp::idl-compiller::types::IDLTypeCode.cpp17
-rw-r--r--devel/orbitcpp/files/patch-orbitcpp::idl-compiller::types::IDLTypeCode.h15
-rw-r--r--devel/orbitcpp/files/patch-orbitcpp::orb-cpp::orbitcpp_typecode.h27
4 files changed, 60 insertions, 1 deletions
diff --git a/devel/orbitcpp/Makefile b/devel/orbitcpp/Makefile
index 25f05e9dc354..068b6d517c75 100644
--- a/devel/orbitcpp/Makefile
+++ b/devel/orbitcpp/Makefile
@@ -7,7 +7,7 @@
PORTNAME= orbitcpp
PORTVERSION= 1.3.8
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_GNOME}
MASTER_SITE_SUBDIR= sources/${PORTNAME}/${PORTVERSION:R}
diff --git a/devel/orbitcpp/files/patch-orbitcpp::idl-compiller::types::IDLTypeCode.cpp b/devel/orbitcpp/files/patch-orbitcpp::idl-compiller::types::IDLTypeCode.cpp
new file mode 100644
index 000000000000..8921bfffd103
--- /dev/null
+++ b/devel/orbitcpp/files/patch-orbitcpp::idl-compiller::types::IDLTypeCode.cpp
@@ -0,0 +1,17 @@
+--- orbitcpp/idl-compiler/types/IDLTypeCode.cc 14 Sep 2002 13:13:10 -0000 1.1
++++ orbitcpp/idl-compiler/types/IDLTypeCode.cc 15 Mar 2004 01:01:28 -0000 1.2
+@@ -54,3 +54,14 @@
+ {
+ return get_cpp_typename ();
+ }
++
++void
++IDLTypeCode::member_pack_to_c (ostream &ostr,
++ Indent &indent,
++ const string &cpp_id,
++ const string &c_id,
++ const IDLTypedef *active_typedef) const
++{
++ ostr << indent << c_id << " = ((" << cpp_id << ".in() != 0) ? ::_orbitcpp::duplicate_guarded("
++ << cpp_id << ".in()->_orbitcpp_cobj ()) : CORBA_OBJECT_NIL)" << ';' << endl;
++}
diff --git a/devel/orbitcpp/files/patch-orbitcpp::idl-compiller::types::IDLTypeCode.h b/devel/orbitcpp/files/patch-orbitcpp::idl-compiller::types::IDLTypeCode.h
new file mode 100644
index 000000000000..9a9ccaa26fa4
--- /dev/null
+++ b/devel/orbitcpp/files/patch-orbitcpp::idl-compiller::types::IDLTypeCode.h
@@ -0,0 +1,15 @@
+--- orbitcpp/idl-compiler/types/IDLTypeCode.h 14 Sep 2002 13:13:10 -0000 1.1
++++ orbitcpp/idl-compiler/types/IDLTypeCode.h 15 Mar 2004 01:01:28 -0000 1.2
+@@ -40,6 +40,12 @@
+ string get_cpp_typename () const;
+
+ string get_cpp_stub_typename () const;
++
++ void member_pack_to_c (ostream &ostr,
++ Indent &indent,
++ const string &cpp_id,
++ const string &c_id,
++ const IDLTypedef *active_typedef = 0) const;
+ };
+
+ #endif //ORBITCPP_TYPES_IDLTYPECODE
diff --git a/devel/orbitcpp/files/patch-orbitcpp::orb-cpp::orbitcpp_typecode.h b/devel/orbitcpp/files/patch-orbitcpp::orb-cpp::orbitcpp_typecode.h
new file mode 100644
index 000000000000..8465fe4dd7ea
--- /dev/null
+++ b/devel/orbitcpp/files/patch-orbitcpp::orb-cpp::orbitcpp_typecode.h
@@ -0,0 +1,27 @@
+--- orbitcpp/orb-cpp/orbitcpp_typecode.h 2 Jul 2003 23:47:23 -0000 1.7
++++ orbitcpp/orb-cpp/orbitcpp_typecode.h 15 Mar 2004 00:58:59 -0000 1.9
+@@ -137,6 +137,7 @@
+ typedef TypeCode *TypeCode_ptr;
+ typedef ::_orbitcpp::ObjectPtr_var<TypeCode>
+ TypeCode_var;
++ typedef TypeCode_var TypeCode_mgr;
+
+ class TypeCode
+ {
+@@ -207,6 +208,16 @@
+ }
+
+ static TypeCode_ptr _orbitcpp_wrap (CORBA_TypeCode tc, bool take_copy = false);
++ static void unpack_elem(TypeCode_mgr& cpp_elem, CORBA_TypeCode c_elem)
++ {
++ cpp_elem = _orbitcpp_wrap(c_elem, true);
++ }
++
++ static void pack_elem(TypeCode_mgr const& cpp_elem, CORBA_TypeCode& c_elem)
++ {
++ c_elem = _orbitcpp::duplicate_guarded(cpp_elem->_orbitcpp_cobj ());
++
++ }
+ };
+
+ inline void release(TypeCode_ptr o) {