diff options
Diffstat (limited to 'devel/orbitcpp')
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) { |