/* -*- mode: C++; c-file-style: "bsd" -*- */ #include "pomni.h" #include "server.h" #include "exttypes.h" #undef minor // AIX defines such strange macros #undef shutdown // Win32 defines such strange macros #undef rewind // Win32 defines such strange macros #ifdef HAS_PPPORT_H # include "ppport.h" #endif /* FIXME: Boot check screws up with egcs... */ #undef XS_VERSION_BOOTCHECK #define XS_VERSION_BOOTCHECK typedef CORBA::Object_ptr CORBA__Object; typedef CORBA::ORB_ptr CORBA__ORB; typedef CORBA::TypeCode_ptr CORBA__TypeCode; #ifdef HAS_LongLong typedef CORBA::LongLong CORBA__LongLong; typedef CORBA::ULongLong CORBA__ULongLong; #endif #ifdef HAS_LongDouble typedef CORBA::LongDouble CORBA__LongDouble; #endif typedef CORBA::Object_ptr PortableServer__POA; typedef CORBA::Object_ptr PortableServer__POAManager; typedef CORBA::Object_ptr PortableServer__Current; typedef PortableServer::ObjectId_var PortableServer__ObjectId; typedef PortableServer::Servant PortableServer__ServantBase; typedef CORBA::Object_ptr DynamicAny__DynAny; typedef CORBA::Object_ptr DynamicAny__DynFixed; typedef CORBA::Object_ptr DynamicAny__DynEnum; typedef CORBA::Object_ptr DynamicAny__DynStruct; typedef CORBA::Object_ptr DynamicAny__DynUnion; typedef CORBA::Object_ptr DynamicAny__DynSequence; typedef CORBA::Object_ptr DynamicAny__DynArray; #if 0 typedef CORBA::Object_ptr DynamicAny__DynValue; #endif typedef CORBA::Object_ptr DynamicAny__DynAnyFactory; CORBA::ORB_ptr pomni_orb = CORBA::ORB::_nil(); // Private per-interpreter context, containing the interpreter entry lock #define MY_CXT_KEY "CORBA::omniORB::_guts" XS_VERSION typedef struct { POmniRatchetLock *entry_lock; } my_cxt_t; START_MY_CXT // Instantiate an entry lock for the initial Perl interpreter static void pomni_init_entry_lock(pTHX) { MY_CXT_INIT; MY_CXT.entry_lock = new POmniRatchetLock; // Create an un-anchored blessed reference to the entry lock // so that it can be destroyed when the Perl interpreter is. SV *rv = newSV(0); (void) sv_setref_iv(rv, "CORBA::omniORB::EntryLock", PTR2IV((void *) MY_CXT.entry_lock)); } // Instantiate an entry lock for a cloned Perl interpreter static void pomni_clone_entry_lock(pTHX) { MY_CXT_CLONE; MY_CXT.entry_lock = new POmniRatchetLock; // Create an un-anchored blessed reference to the entry lock // so that it can be destroyed when the Perl interpreter is. SV *rv = newSV(0); (void) sv_setref_iv(rv, "CORBA::omniORB::EntryLock", PTR2IV((void *) MY_CXT.entry_lock)); } // Return a pointer to the entry lock of the current Perl interpreter POmniRatchetLock * pomni_entry_lock(pTHX) { if (PL_dirty) return 0; dMY_CXT; return MY_CXT.entry_lock; } static UV pomni_unlock(pTHX) { if (PL_dirty) return 0; dMY_CXT; return MY_CXT.entry_lock->release(); } static void pomni_relock(pTHX_ UV token) { if (PL_dirty) return; dMY_CXT; MY_CXT.entry_lock->resume(token); } // Clone the CORBA::ORB object reference. static void pomni_clone_orb(pTHX) { SV *weakref = get_sv("CORBA::omniORB::_the_orb", FALSE); if (weakref && SvROK(weakref)) { SV *iv = SvRV(weakref); CORBA::ORB_ptr orb = (CORBA::ORB_ptr) INT2PTR(void *, SvIV(iv)); sv_setiv(iv, PTR2IV((void *) CORBA::ORB::_duplicate(orb))); } } CORBA::Policy_ptr make_policy (PortableServer::POA *poa, char *key, char *value) { switch (key[0]) { case 'i': if (!strcmp(key, "id_uniqueness")) { if (!strcmp (value, "UNIQUE_ID")) return poa->create_id_uniqueness_policy (PortableServer::UNIQUE_ID); else if (!strcmp (value, "MULTIPLE_ID")) return poa->create_id_uniqueness_policy (PortableServer::MULTIPLE_ID); else croak ("IdUniquenessPolicy should be \"UNIQUE_ID\" or \"MULTIPLE_ID\""); } else if (!strcmp(key, "id_assignment")) { if (!strcmp (value, "USER_ID")) return poa->create_id_assignment_policy (PortableServer::USER_ID); else if (!strcmp (value, "SYSTEM_ID")) return poa->create_id_assignment_policy (PortableServer::SYSTEM_ID); else croak ("IdAssignmentPolicy should be \"USER_ID\" or \"SYSTEM_ID\""); } else if (!strcmp(key, "implicit_activation")) { if (!strcmp (value, "IMPLICIT_ACTIVATION")) return poa->create_implicit_activation_policy (PortableServer::IMPLICIT_ACTIVATION); else if (!strcmp (value, "NO_IMPLICIT_ACTIVATION")) return poa->create_implicit_activation_policy (PortableServer::NO_IMPLICIT_ACTIVATION); else croak ("ImplicitActivationPolicy should be \"IMPLICIT_ACTIVATION\" or \"SYSTEM_ID\""); } case 'l': if (!strcmp(key, "lifespan")) { if (!strcmp (value, "TRANSIENT")) return poa->create_lifespan_policy (PortableServer::TRANSIENT); else if (!strcmp (value, "PERSISTENT")) return poa->create_lifespan_policy (PortableServer::PERSISTENT); else croak ("LifespanPolicy should be \"TRANSIENT\" or \"PERSISTENT\""); } case 'r': if (!strcmp(key, "request_processing")) { if (!strcmp (value, "USE_ACTIVE_OBJECT_MAP_ONLY")) return poa->create_request_processing_policy (PortableServer::USE_ACTIVE_OBJECT_MAP_ONLY); else if (!strcmp (value, "USE_DEFAULT_SERVANT")) return poa->create_request_processing_policy (PortableServer::USE_DEFAULT_SERVANT); else if (!strcmp (value, "USE_SERVANT_MANAGER")) return poa->create_request_processing_policy (PortableServer::USE_SERVANT_MANAGER); else croak ("RequestProcessingPolicy should be \"USE_ACTIVE_OBJECT_MAP_ONLY\", \"USE_DEFAULT_SERVANT\", or \"USE_SERVANT_MANAGER\""); } case 's': if (!strcmp(key, "servant_retention")) { if (!strcmp (value, "RETAIN")) return poa->create_servant_retention_policy (PortableServer::RETAIN); else if (!strcmp (value, "NON_RETAIN")) return poa->create_servant_retention_policy (PortableServer::NON_RETAIN); else croak ("ServantRetentionPolicy should be \"RETAIN\" or \"NON_RETAIN\""); } break; case 't': if (!strcmp(key, "thread")) { if (!strcmp (value, "ORB_CTRL_MODEL")) return poa->create_thread_policy (PortableServer::ORB_CTRL_MODEL); else if (!strcmp (value, "SINGLE_THREAD_MODEL")) return poa->create_thread_policy (PortableServer::SINGLE_THREAD_MODEL); else if (!strcmp (value, "MAIN_THREAD_MODEL")) return poa->create_thread_policy (PortableServer::MAIN_THREAD_MODEL); else croak ("ThreadPolicyValue should be \"ORB_CTRL_MODEL\", \"SINGLE_THREAD_MODEL\", or \"MAIN_THREAD_MODEL\""); } break; } croak("Policy key should be one of \"id_uniqueness\", \"id_assignment\", \"implicit_activation\", \"lifespan\", \"request_processing\", \"servant_retention\" or \"thread\""); } MODULE = CORBA::omniORB PACKAGE = CORBA::omniORB PROTOTYPES: DISABLE BOOT: pomni_init_entry_lock(aTHX); pomni_init_exceptions(aTHX); pomni_init_typecodes(aTHX); void CLONE(...) CODE: pomni_clone_entry_lock(aTHX); pomni_clone_orb(aTHX); pomni_clone_pins(aTHX); pomni_clone_typecodes(aTHX); char * find_interface (repoid) char *repoid CODE: { CM_DEBUG(("find_interface %s\n", repoid)); POmniIfaceInfo *info = pomni_find_interface_description (aTHX_ repoid); RETVAL = info ? (char *)info->pkg.c_str() : NULL; } OUTPUT: RETVAL void clear_interface (repoid) char *repoid CODE: { #ifdef MEMCHECK pomni_clear_interface(aTHX_ repoid); #endif } char * load_interface (interface) CORBA::Object interface CODE: { CORBA::InterfaceDef_var iface = CORBA::InterfaceDef::_narrow (interface); POmniIfaceInfo *info = pomni_load_contained (aTHX_ iface, CORBA::ORB::_nil(), NULL); RETVAL = info ? (char *)info->pkg.c_str() : NULL; } OUTPUT: RETVAL void _entry_lock_hooks () PPCODE: EXTEND(SP, 2); PUSHs(sv_2mortal(newSVuv(PTR2UV(pomni_unlock)))); PUSHs(sv_2mortal(newSVuv(PTR2UV(pomni_relock)))); MODULE = CORBA::omniORB PACKAGE = CORBA SV * ORB_init (id) char *id CODE: { SV *weakref = get_sv("CORBA::omniORB::_the_orb", TRUE); if (SvROK(weakref)) { RETVAL = newSV(0); sv_setsv(RETVAL, weakref); } else { if (CORBA::is_nil(pomni_orb)) { int i; AV *ARGV = get_av("ARGV", FALSE); SV *ARGV0 = get_sv("0", FALSE); AV *ARGV_copy = newAV(); sv_2mortal((SV*)ARGV_copy); for (i = 0; i <= av_len(ARGV); i++) av_store(ARGV_copy, i, newSVsv(*av_fetch(ARGV, i, 0))); int argc = av_len(ARGV_copy) + 2; char **argv = (char **) malloc (sizeof(char *) * argc); argv[0] = SvPV (ARGV0, PL_na); for (i = 0; i <= av_len(ARGV_copy); i++ ) argv[i+1] = SvPV( *av_fetch(ARGV_copy, i, 0), PL_na ); try { pomni_orb = CORBA::ORB_init (argc, argv, id); } catch (CORBA::SystemException &ex) { if (argv) free (argv); pomni_throw (aTHX_ pomni_system_except (aTHX_ ex._rep_id(), ex.minor(), ex.completed())); } av_clear (ARGV); for (i = 1; i < argc; i++) av_store (ARGV, i - 1, newSVpv(argv[i], 0)); if (argv) free (argv); } RETVAL = newSV(0); sv_setref_pv(RETVAL, "CORBA::ORB", (void *) CORBA::ORB::_duplicate(pomni_orb)); sv_setsv(weakref, RETVAL); sv_rvweaken(weakref); } } OUTPUT: RETVAL bool is_nil (self) CORBA::Object self; CODE: RETVAL = CORBA::is_nil (self); OUTPUT: RETVAL MODULE = CORBA::omniORB PACKAGE = CORBA::Any SV * new (pkg, type, value) CORBA::TypeCode type SV *value CODE: CORBA::Any any(type, 0); if (!pomni_to_any (aTHX_ &any, value)) { croak("Error constructing Any"); } RETVAL = pomni_any_to_sv(aTHX_ any); OUTPUT: RETVAL SV * value (self) SV *self CODE: CORBA::Any any; pomni_any_from_sv(aTHX_ &any, self); RETVAL = pomni_from_any (aTHX_ &any); OUTPUT: RETVAL CORBA::TypeCode type (self) SV *self CODE: CORBA::Any any; pomni_any_from_sv(aTHX_ &any, self); RETVAL = any.type(); OUTPUT: RETVAL MODULE = CORBA::omniORB PACKAGE = CORBA::ORB char * object_to_string (self, obj) CORBA::ORB self CORBA::Object obj CODE: CORBA::String_var string = self->object_to_string (obj); RETVAL = (char *) string; OUTPUT: RETVAL AV * list_initial_services( self ) CORBA::ORB self; CODE: CORBA::ORB::ObjectIdList_var ids = self->list_initial_services(); RETVAL = newAV(); av_extend(RETVAL, ids->length()); for( CORBA::ULong i = 0; i < ids->length(); i++ ) { av_push( RETVAL, newSVpv(ids[i], 0) ); } OUTPUT: RETVAL SV * resolve_initial_references (self, id) CORBA::ORB self; char * id CODE: { CORBA::Object *obj = CORBA::Object::_nil(); try { obj = self->resolve_initial_references (id); } CATCH_POMNI_SYSTEMEXCEPTION catch (CORBA::ORB::InvalidName &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } if( strcmp( id, "DynAnyFactory" ) == 0 ) { RETVAL = pomni_local_objref_to_sv(aTHX_ obj, "DynamicAny::DynAnyFactory"); } else { // ugly hack PortableServer::POA_ptr poa = PortableServer::POA::_narrow (obj); if (!CORBA::is_nil (poa)) { CORBA::release(poa); RETVAL = pomni_local_objref_to_sv(aTHX_ obj, "PortableServer::POA"); } else { PortableServer::Current_ptr current = PortableServer::Current::_narrow (obj); if (!CORBA::is_nil (current)) { CORBA::release(current); RETVAL = pomni_local_objref_to_sv(aTHX_ obj, "PortableServer::Current"); } else RETVAL = pomni_objref_to_sv (aTHX_ obj); } } } OUTPUT: RETVAL CORBA::Object string_to_object (self, str) CORBA::ORB self; char * str; CODE: try { RETVAL = self->string_to_object (str); } CATCH_POMNI_SYSTEMEXCEPTION OUTPUT: RETVAL SV * cdr_encode (self, val, tc) CORBA::ORB self; SV *val; CORBA::TypeCode tc; CODE: { CORBA::Any a(tc, 0); if(pomni_to_any(aTHX_ &a, val)) { cdrMemoryStream s; a.NP_marshalDataOnly(s); RETVAL = newSVpvn((char *) s.bufPtr(), s.bufSize()); } else { croak("Error encoding value"); } } OUTPUT: RETVAL SV * cdr_decode (self, cdr, tc) CORBA::ORB self; SV *cdr; CORBA::TypeCode tc; CODE: { STRLEN len; char *buf = SvPV(cdr, len); cdrMemoryStream s; s.put_octet_array((CORBA::Octet *) buf, len); CORBA::Any a(tc, 0); a.NP_unmarshalDataOnly(s); RETVAL = pomni_from_any(aTHX_ &a); } OUTPUT: RETVAL bool preload (self, id) CORBA::ORB self; char * id CODE: RETVAL = (pomni_load_contained (aTHX_ CORBA::Contained::_nil(), self, id) != 0); OUTPUT: RETVAL void _define_interface (self, name, cdr) CORBA::ORB self; char * name; SV * cdr; CODE: STRLEN len; char *buf = SvPV(cdr, len); cdrMemoryStream s; s.put_octet_array((CORBA::Octet *) buf, len); CORBA::InterfaceDef::FullInterfaceDescription *desc = new CORBA::InterfaceDef::FullInterfaceDescription(); *desc <<= s; pomni_define_interface(aTHX_ name, desc); void _define_exception (self, name, id) CORBA::ORB self; char * name; char * id; CODE: pomni_define_exception(aTHX_ name, id); void run (self) CORBA::ORB self; CODE: PUTBACK; { POmniPerlEntryUnlocker ul(aTHX); self->run(); } SPAGAIN; void shutdown (self, wait_for_completion) CORBA::ORB self; SV *wait_for_completion; CODE: self->shutdown (SvTRUE (wait_for_completion)); void perform_work (self) CORBA::ORB self; CODE: PUTBACK; { POmniPerlEntryUnlocker ul(aTHX); self->perform_work (); } SPAGAIN; int work_pending (self) CORBA::ORB self; CODE: PUTBACK; { POmniPerlEntryUnlocker ul(aTHX); RETVAL = self->work_pending (); } SPAGAIN; OUTPUT: RETVAL void destroy (self) CORBA::ORB self CODE: PUTBACK; { POmniPerlEntryUnlocker ul(aTHX); self->destroy(); } SPAGAIN; #ifdef MEMCHECK pomni_clear_servants(aTHX); pomni_clear_pins(aTHX); pomni_clear_typecodes(aTHX); pomni_clear_exceptions(aTHX); pomni_clear_iface_repository(aTHX); #endif CORBA::release(pomni_orb); pomni_orb = CORBA::ORB::_nil(); CORBA::TypeCode create_alias_tc (self, id, name, original_type) CORBA::ORB self const char *id const char *name CORBA::TypeCode original_type CODE: RETVAL = self->create_alias_tc(id, name, original_type); OUTPUT: RETVAL CORBA::TypeCode create_interface_tc (self, id, name) CORBA::ORB self const char *id const char *name CODE: RETVAL = self->create_interface_tc(id, name); OUTPUT: RETVAL CORBA::TypeCode create_string_tc (self, bound) CORBA::ORB self unsigned long bound CODE: RETVAL = self->create_string_tc(bound); OUTPUT: RETVAL CORBA::TypeCode create_fixed_tc (self, digits, scale) CORBA::ORB self unsigned short digits short scale CODE: RETVAL = self->create_fixed_tc(digits, scale); OUTPUT: RETVAL CORBA::TypeCode create_sequence_tc (self, bound, element_type) CORBA::ORB self unsigned long bound CORBA::TypeCode element_type CODE: RETVAL = self->create_sequence_tc(bound, element_type); OUTPUT: RETVAL CORBA::TypeCode create_array_tc (self, length, element_type) CORBA::ORB self unsigned long length CORBA::TypeCode element_type CODE: RETVAL = self->create_array_tc(length, element_type); OUTPUT: RETVAL CORBA::TypeCode create_recursive_tc (self, id) CORBA::ORB self const char *id CODE: RETVAL = self->create_recursive_tc(id); OUTPUT: RETVAL void DESTROY (self) CORBA::ORB self CODE: CORBA::release (self); MODULE = CORBA::omniORB PACKAGE = CORBA::Object CORBA::Object _get_interface (self) CORBA::Object self; CODE: try { RETVAL = self->_get_interface(); } CATCH_POMNI_SYSTEMEXCEPTION OUTPUT: RETVAL int _non_existent (self) CORBA::Object self; CODE: try { RETVAL = self->_non_existent(); } CATCH_POMNI_SYSTEMEXCEPTION OUTPUT: RETVAL int _is_a (self, repoId) CORBA::Object self; char * repoId; CODE: try { RETVAL = self->_is_a(repoId); } CATCH_POMNI_SYSTEMEXCEPTION OUTPUT: RETVAL int _is_equivalent (self, obj) CORBA::Object self; CORBA::Object obj; CODE: try { RETVAL = self->_is_equivalent((CORBA::Object_ptr)obj); } CATCH_POMNI_SYSTEMEXCEPTION OUTPUT: RETVAL unsigned long _hash (self, maximum) CORBA::Object self; unsigned long maximum; CODE: try { RETVAL = self->_hash(maximum); } CATCH_POMNI_SYSTEMEXCEPTION OUTPUT: RETVAL char * _repoid (self) CORBA::Object self; CODE: { const char *repoid = CORBA::Object::_PD_repoId; if (!CORBA::is_nil(self)) repoid = self->_PR_getobj()->_mostDerivedRepoId(); RETVAL = (char *)repoid; } OUTPUT: RETVAL CORBA::Object _self (self) CORBA::Object self CODE: RETVAL = self; OUTPUT: RETVAL void DESTROY (self) CORBA::Object self CODE: pomni_objref_destroy (aTHX_ self); CORBA::release (self); MODULE = CORBA::omniORB PACKAGE = CORBA::TypeCode SV * new (pkg, id) char *id CODE: RETVAL = pomni_lookup_typecode (aTHX_ id); if (RETVAL == NULL) croak("Cannot find typecode for '%s'", id); OUTPUT: RETVAL char * kind (self) CORBA::TypeCode self CODE: RETVAL = (char*)TCKind_to_str( self->kind () ); OUTPUT: RETVAL bool equal (self, tc) CORBA::TypeCode self CORBA::TypeCode tc CODE: RETVAL = self->equal (tc); OUTPUT: RETVAL bool equivalent (self, tc) CORBA::TypeCode self CORBA::TypeCode tc CODE: RETVAL = self->equivalent (tc); OUTPUT: RETVAL CORBA::TypeCode get_compact_typecode (self) CORBA::TypeCode self CODE: RETVAL = self->get_compact_typecode (); OUTPUT: RETVAL char * id (self) CORBA::TypeCode self CODE: try { RETVAL = (char *)self->id (); } catch (CORBA::TypeCode::BadKind &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL char * name (self) CORBA::TypeCode self CODE: try { RETVAL = (char *)self->name (); } catch (CORBA::TypeCode::BadKind &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL unsigned long member_count (self) CORBA::TypeCode self CODE: try { RETVAL = self->member_count (); } catch (CORBA::TypeCode::BadKind &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL char * member_name (self, index) CORBA::TypeCode self unsigned long index CODE: try { RETVAL = (char *)self->member_name (index); } catch (CORBA::TypeCode::BadKind &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (CORBA::TypeCode::Bounds &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL CORBA::TypeCode member_type (self, index) CORBA::TypeCode self unsigned long index CODE: try { RETVAL = self->member_type (index); } catch (CORBA::TypeCode::BadKind &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (CORBA::TypeCode::Bounds &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL SV * member_label (self, index) CORBA::TypeCode self unsigned long index CODE: try { CORBA::Any_var label = self->member_label (index); RETVAL = pomni_any_to_sv(aTHX_ label); } catch (CORBA::TypeCode::BadKind &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (CORBA::TypeCode::Bounds &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL CORBA::TypeCode discriminator_type (self) CORBA::TypeCode self CODE: try { RETVAL = self->discriminator_type (); } catch (CORBA::TypeCode::BadKind &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL long default_index (self) CORBA::TypeCode self CODE: try { RETVAL = self->default_index (); } catch (CORBA::TypeCode::BadKind &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL unsigned long length (self) CORBA::TypeCode self CODE: try { RETVAL = self->length (); } catch (CORBA::TypeCode::BadKind &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL CORBA::TypeCode content_type (self) CORBA::TypeCode self CODE: try { RETVAL = self->content_type (); } catch (CORBA::TypeCode::BadKind &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL int fixed_digits (self) CORBA::TypeCode self CODE: try { RETVAL = self->fixed_digits (); } catch (CORBA::TypeCode::BadKind &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL int fixed_scale (self) CORBA::TypeCode self CODE: try { RETVAL = self->fixed_scale (); } catch (CORBA::TypeCode::BadKind &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL void DESTROY (self) CORBA::TypeCode self CODE: CORBA::release (self); MODULE = CORBA::omniORB PACKAGE = CORBA::LongLong #ifdef HAS_LongLong CORBA::LongLong new (Class, str) char *str CODE: RETVAL = longlong_from_string (str); OUTPUT: RETVAL SV * stringify (self, other=0, reverse=&PL_sv_undef) CORBA::LongLong self CODE: { char *result = longlong_to_string (self); RETVAL = newSVpv (result, 0); Safefree (result); } OUTPUT: RETVAL CORBA::LongLong add (self, other, reverse=&PL_sv_undef) CORBA::LongLong self CORBA::LongLong other CODE: RETVAL = self+other; OUTPUT: RETVAL CORBA::LongLong subtract (self, other, reverse=&PL_sv_undef) CORBA::LongLong self CORBA::LongLong other SV *reverse CODE: if (SvTRUE (reverse)) RETVAL = other - self; else RETVAL = self - other; OUTPUT: RETVAL CORBA::LongLong div (self, other, reverse=&PL_sv_undef) CORBA::LongLong self CORBA::LongLong other SV *reverse CODE: if (SvTRUE (reverse)) RETVAL = other / self; else RETVAL = self / other; OUTPUT: RETVAL CORBA::LongLong mul (self, other, reverse=&PL_sv_undef) CORBA::LongLong self CORBA::LongLong other CODE: RETVAL = self*other; OUTPUT: RETVAL CORBA::LongLong mod (self, other, reverse=&PL_sv_undef) CORBA::LongLong self CORBA::LongLong other SV *reverse CODE: if (SvTRUE (reverse)) RETVAL = other % self; else RETVAL = self % other; OUTPUT: RETVAL CORBA::LongLong neg (self, other=0, reverse=&PL_sv_undef) CORBA::LongLong self CODE: RETVAL = -self; OUTPUT: RETVAL CORBA::LongLong abs (self, other=0, reverse=&PL_sv_undef) CORBA::LongLong self CODE: RETVAL = (self > 0) ? self : -self; OUTPUT: RETVAL int cmp (self, other, reverse=&PL_sv_undef) CORBA::LongLong self CORBA::LongLong other SV *reverse CODE: if (SvTRUE (reverse)) RETVAL = (self == other) ? 0 : ((self > other) ? 1 : -1); else RETVAL = (other == self) ? 0 : ((other > self) ? 1 : -1); OUTPUT: RETVAL #endif MODULE = CORBA::omniORB PACKAGE = CORBA::ULongLong #ifdef HAS_LongLong CORBA::ULongLong new (Class, str) char *str CODE: RETVAL = ulonglong_from_string (str); OUTPUT: RETVAL SV * stringify (self, other=0, reverse=&PL_sv_undef) CORBA::ULongLong self CODE: { char *result = ulonglong_to_string (self); RETVAL = newSVpv (result, 0); Safefree (result); } OUTPUT: RETVAL CORBA::ULongLong add (self, other, reverse=&PL_sv_undef) CORBA::ULongLong self CORBA::ULongLong other CODE: RETVAL = self+other; OUTPUT: RETVAL CORBA::ULongLong subtract (self, other, reverse=&PL_sv_undef) CORBA::ULongLong self CORBA::ULongLong other SV *reverse CODE: if (SvTRUE (reverse)) RETVAL = other - self; else RETVAL = self - other; OUTPUT: RETVAL CORBA::ULongLong div (self, other, reverse=&PL_sv_undef) CORBA::ULongLong self CORBA::ULongLong other SV *reverse CODE: if (SvTRUE (reverse)) RETVAL = other / self; else RETVAL = self / other; OUTPUT: RETVAL CORBA::ULongLong mul (self, other, reverse=&PL_sv_undef) CORBA::ULongLong self CORBA::ULongLong other CODE: RETVAL = self*other; OUTPUT: RETVAL CORBA::ULongLong mod (self, other, reverse=&PL_sv_undef) CORBA::ULongLong self CORBA::ULongLong other SV *reverse CODE: if (SvTRUE (reverse)) RETVAL = other % self; else RETVAL = self % other; OUTPUT: RETVAL int cmp (self, other, reverse=&PL_sv_undef) CORBA::ULongLong self CORBA::ULongLong other SV *reverse CODE: if (SvTRUE (reverse)) RETVAL = (self == other) ? 0 : ((self > other) ? 1 : -1); else RETVAL = (other == self) ? 0 : ((other > self) ? 1 : -1); OUTPUT: RETVAL #endif MODULE = CORBA::omniORB PACKAGE = CORBA::LongDouble #ifdef HAS_LongDouble CORBA::LongDouble new (Class, str) char *str CODE: RETVAL = longdouble_from_string (str); OUTPUT: RETVAL SV * stringify (self, other=0, reverse=&PL_sv_undef) CORBA::LongDouble self CODE: { char *result = longdouble_to_string (self); RETVAL = newSVpv (result, 0); Safefree (result); } OUTPUT: RETVAL CORBA::LongDouble add (self, other, reverse=&PL_sv_undef) CORBA::LongDouble self CORBA::LongDouble other CODE: RETVAL = self+other; OUTPUT: RETVAL CORBA::LongDouble subtract (self, other, reverse=&PL_sv_undef) CORBA::LongDouble self CORBA::LongDouble other SV *reverse CODE: if (SvTRUE (reverse)) RETVAL = other - self; else RETVAL = self - other; OUTPUT: RETVAL CORBA::LongDouble div (self, other, reverse=&PL_sv_undef) CORBA::LongDouble self CORBA::LongDouble other SV *reverse CODE: if (SvTRUE (reverse)) RETVAL = other / self; else RETVAL = self / other; OUTPUT: RETVAL CORBA::LongDouble mul (self, other, reverse=&PL_sv_undef) CORBA::LongDouble self CORBA::LongDouble other CODE: RETVAL = self*other; OUTPUT: RETVAL CORBA::LongDouble neg (self, other=0, reverse=&PL_sv_undef) CORBA::LongDouble self CODE: RETVAL = -self; OUTPUT: RETVAL CORBA::LongDouble abs (self, other=0, reverse=&PL_sv_undef) CORBA::LongDouble self CODE: RETVAL = (self > 0) ? self : -self; OUTPUT: RETVAL int cmp (self, other, reverse=&PL_sv_undef) CORBA::LongDouble self CORBA::LongDouble other SV *reverse CODE: if (SvTRUE (reverse)) RETVAL = (self == other) ? 0 : ((self > other) ? 1 : -1); else RETVAL = (other == self) ? 0 : ((other > self) ? 1 : -1); OUTPUT: RETVAL #endif MODULE = CORBA::omniORB PACKAGE = PortableServer::POA char * _get_the_name (self) PortableServer::POA self CODE: PortableServer::POA_var THIS = PortableServer::POA::_narrow(self); RETVAL = (char *)THIS->the_name(); OUTPUT: RETVAL PortableServer::POA _get_the_parent (self) PortableServer::POA self CODE: PortableServer::POA_var THIS = PortableServer::POA::_narrow(self); RETVAL = THIS->the_parent(); OUTPUT: RETVAL PortableServer::POAManager _get_the_POAManager (self) PortableServer::POA self CODE: PortableServer::POA_var THIS = PortableServer::POA::_narrow(self); RETVAL = THIS->the_POAManager(); OUTPUT: RETVAL CORBA::Object _get_the_activator (self) PortableServer::POA self CODE: PortableServer::POA_var THIS = PortableServer::POA::_narrow(self); RETVAL = THIS->the_activator(); OUTPUT: RETVAL void _set_the_activator (self, obj) PortableServer::POA self CORBA::Object obj CODE: PortableServer::POA_var THIS = PortableServer::POA::_narrow(self); PortableServer::AdapterActivator_var activator = PortableServer::AdapterActivator::_narrow (obj); if (!activator) croak ("activator must be of type PortableServer::AdapterActivator"); THIS->the_activator (activator); PortableServer::POA create_POA (self, adapter_name, mngr_obj, ...) PortableServer::POA self char *adapter_name CORBA::Object mngr_obj CODE: PortableServer::POA_var THIS = PortableServer::POA::_narrow(self); CORBA::PolicyList_var policies; PortableServer::POAManager_var mngr = PortableServer::POAManager::_narrow(mngr_obj); CORBA::ULong npolicies; if (items % 2 != 1) croak("PortableServer::POA::create_POA requires an even number of arguments\n"); npolicies = (items - 3) / 2; policies = new CORBA::PolicyList (npolicies); policies->length (npolicies); for (CORBA::ULong i = 0 ; i < npolicies; i++) policies[i] = make_policy (THIS, SvPV(ST(3+i*2), PL_na), SvPV(ST(4+i*2), PL_na)); try { RETVAL = THIS->create_POA (adapter_name, mngr, policies); } catch (PortableServer::POA::AdapterAlreadyExists &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (PortableServer::POA::InvalidPolicy &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL void destroy (self, etherealize_objects, wait_for_completion) PortableServer::POA self SV *etherealize_objects SV *wait_for_completion CODE: PortableServer::POA_var THIS = PortableServer::POA::_narrow(self); THIS->destroy (SvTRUE (etherealize_objects), SvTRUE (wait_for_completion)); CORBA::Object get_servant_manager (self) PortableServer::POA self CODE: PortableServer::POA_var THIS = PortableServer::POA::_narrow(self); try { RETVAL = THIS->get_servant_manager (); } catch (PortableServer::POA::WrongPolicy &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL void set_servant_manager (self, obj) PortableServer::POA self CORBA::Object obj CODE: PortableServer::POA_var THIS = PortableServer::POA::_narrow(self); PortableServer::ServantManager_var manager = PortableServer::ServantManager::_narrow(obj); if (CORBA::is_nil (manager)) croak ("Servant manager must be a PortableServer::ServantManager\n"); try { THIS->set_servant_manager (manager); } catch (PortableServer::POA::WrongPolicy &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } PortableServer::ServantBase get_servant (self) PortableServer::POA self CODE: PortableServer::POA_var THIS = PortableServer::POA::_narrow(self); try { RETVAL = THIS->get_servant (); } catch (PortableServer::POA::NoServant &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (PortableServer::POA::WrongPolicy &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL void set_servant (self, servant) PortableServer::POA self PortableServer::ServantBase servant CODE: PortableServer::POA_var THIS = PortableServer::POA::_narrow(self); try { THIS->set_servant (servant); } catch (PortableServer::POA::WrongPolicy &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } PortableServer::ObjectId activate_object (self, servant) PortableServer::POA self PortableServer::ServantBase servant CODE: PortableServer::POA_var THIS = PortableServer::POA::_narrow(self); try { RETVAL = THIS->activate_object (servant); } catch (PortableServer::POA::ServantAlreadyActive &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (PortableServer::POA::WrongPolicy &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL void activate_object_with_id (self, id, servant) PortableServer::POA self PortableServer::ServantBase servant PortableServer::ObjectId id CODE: PortableServer::POA_var THIS = PortableServer::POA::_narrow(self); try { THIS->activate_object_with_id (id, servant); } catch (PortableServer::POA::ServantAlreadyActive &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (PortableServer::POA::ObjectAlreadyActive &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (PortableServer::POA::WrongPolicy &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } void deactivate_object (self, id) PortableServer::POA self PortableServer::ObjectId id CODE: PortableServer::POA_var THIS = PortableServer::POA::_narrow(self); try { THIS->deactivate_object (id); } catch (PortableServer::POA::ObjectNotActive &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (PortableServer::POA::WrongPolicy &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } CORBA::Object create_reference (self, intf) PortableServer::POA self char *intf CODE: PortableServer::POA_var THIS = PortableServer::POA::_narrow(self); try { RETVAL = THIS->create_reference (intf); } catch (PortableServer::POA::WrongPolicy &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL CORBA::Object create_reference_with_id (self, oid, intf) PortableServer::POA self PortableServer::ObjectId oid char *intf CODE: PortableServer::POA_var THIS = PortableServer::POA::_narrow(self); try { RETVAL = THIS->create_reference_with_id (oid, intf); } catch (PortableServer::POA::WrongPolicy &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL PortableServer::ObjectId servant_to_id (self, servant) PortableServer::POA self PortableServer::ServantBase servant CODE: PortableServer::POA_var THIS = PortableServer::POA::_narrow(self); try { RETVAL = THIS->servant_to_id (servant); } catch (PortableServer::POA::ServantNotActive &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (PortableServer::POA::WrongPolicy &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL CORBA::Object servant_to_reference (self, servant) PortableServer::POA self PortableServer::ServantBase servant CODE: PortableServer::POA_var THIS = PortableServer::POA::_narrow(self); try { RETVAL = THIS->servant_to_reference (servant); } catch (PortableServer::POA::ServantNotActive &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (PortableServer::POA::WrongPolicy &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL PortableServer::ServantBase reference_to_servant (self, reference) PortableServer::POA self CORBA::Object reference CODE: PortableServer::POA_var THIS = PortableServer::POA::_narrow(self); try { RETVAL = THIS->reference_to_servant (reference); } catch (PortableServer::POA::ObjectNotActive &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (PortableServer::POA::WrongAdapter &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (PortableServer::POA::WrongPolicy &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL PortableServer::ObjectId reference_to_id (self, reference) PortableServer::POA self CORBA::Object reference CODE: PortableServer::POA_var THIS = PortableServer::POA::_narrow(self); try { RETVAL = THIS->reference_to_id (reference); } catch (PortableServer::POA::WrongAdapter &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (PortableServer::POA::WrongPolicy &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL PortableServer::ServantBase id_to_servant (self, id) PortableServer::POA self PortableServer::ObjectId id CODE: PortableServer::POA_var THIS = PortableServer::POA::_narrow(self); try { RETVAL = THIS->id_to_servant (id); } catch (PortableServer::POA::ObjectNotActive &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (PortableServer::POA::WrongPolicy &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL CORBA::Object id_to_reference (self, id) PortableServer::POA self PortableServer::ObjectId id CODE: PortableServer::POA_var THIS = PortableServer::POA::_narrow(self); try { RETVAL = THIS->id_to_reference (id); } catch (PortableServer::POA::ObjectNotActive &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (PortableServer::POA::WrongPolicy &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL void DESTROY (self) PortableServer::POA self CODE: pomni_objref_destroy (aTHX_ self); CORBA::release (self); MODULE = CORBA::omniORB PACKAGE = PortableServer::POAManager void activate (self) PortableServer::POAManager self CODE: PortableServer::POAManager_var THIS = PortableServer::POAManager::_narrow(self); try { THIS->activate (); } catch (PortableServer::POAManager::AdapterInactive &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } void hold_requests (self, wait_for_completion) PortableServer::POAManager self SV *wait_for_completion CODE: PortableServer::POAManager_var THIS = PortableServer::POAManager::_narrow(self); try { THIS->hold_requests (SvTRUE (wait_for_completion)); } catch (PortableServer::POAManager::AdapterInactive &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } void discard_requests (self, wait_for_completion) PortableServer::POAManager self SV *wait_for_completion CODE: PortableServer::POAManager_var THIS = PortableServer::POAManager::_narrow(self); try { THIS->discard_requests (SvTRUE (wait_for_completion)); } catch (PortableServer::POAManager::AdapterInactive &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } void deactivate (self, etherealize_objects, wait_for_completion) PortableServer::POAManager self SV *etherealize_objects SV *wait_for_completion CODE: PortableServer::POAManager_var THIS = PortableServer::POAManager::_narrow(self); try { THIS->deactivate (SvTRUE (etherealize_objects), SvTRUE (wait_for_completion)); } catch (PortableServer::POAManager::AdapterInactive &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } char * get_state (self) PortableServer::POAManager self CODE: PortableServer::POAManager_var THIS = PortableServer::POAManager::_narrow(self); PortableServer::POAManager::State state; state = THIS->get_state(); switch (state) { case PortableServer::POAManager::HOLDING: RETVAL = "HOLDING"; break; case PortableServer::POAManager::ACTIVE: RETVAL = "ACTIVE"; break; case PortableServer::POAManager::DISCARDING: RETVAL = "DISCARDING"; break; case PortableServer::POAManager::INACTIVE: default: // compiler complains otherwise RETVAL = "INACTIVE"; break; } OUTPUT: RETVAL void DESTROY (self) PortableServer::POAManager self CODE: pomni_objref_destroy (aTHX_ self); CORBA::release (self); MODULE = CORBA::omniORB PACKAGE = PortableServer::Current PortableServer::POA get_POA (self) PortableServer::Current self CODE: PortableServer::Current_var THIS = PortableServer::Current::_narrow(self); try { RETVAL = THIS->get_POA (); } catch (PortableServer::Current::NoContext &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL PortableServer::ObjectId get_object_id (self) PortableServer::Current self CODE: PortableServer::Current_var THIS = PortableServer::Current::_narrow(self); try { RETVAL = THIS->get_object_id (); } catch (PortableServer::Current::NoContext &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL CORBA::Object get_reference (self) PortableServer::Current self CODE: PortableServer::Current_var THIS = PortableServer::Current::_narrow(self); try { RETVAL = THIS->get_reference (); } catch (PortableServer::Current::NoContext &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL void DESTROY (self) PortableServer::Current self CODE: pomni_objref_destroy (aTHX_ self); CORBA::release (self); MODULE = CORBA::omniORB PACKAGE = PortableServer::ServantBase IV _pomni_servant (self) SV *self CODE: PortableServer::Servant res = new POmniServant (self); RETVAL = PTR2IV(res); OUTPUT: RETVAL MODULE = CORBA::omniORB PACKAGE = POA_PortableServer::AdapterActivator IV _pomni_servant (self) SV *self CODE: PortableServer::Servant res = new POmniAdapterActivator (self); RETVAL = PTR2IV(res); OUTPUT: RETVAL MODULE = CORBA::omniORB PACKAGE = POA_PortableServer::ServantActivator IV _pomni_servant (self) SV *self CODE: PortableServer::Servant res = new POmniServantActivator (self); RETVAL = PTR2IV(res); OUTPUT: RETVAL MODULE = CORBA::omniORB PACKAGE = POA_PortableServer::ServantLocator IV _pomni_servant (self) SV *self CODE: PortableServer::Servant res = new POmniServantLocator (self); RETVAL = PTR2IV(res); OUTPUT: RETVAL MODULE = CORBA::omniORB PACKAGE = CORBA::omniORB::InstVars int CLONE_SKIP(...) CODE: RETVAL = 1; OUTPUT: RETVAL void DESTROY (self) SV *self; CODE: pomni_instvars_destroy (aTHX_ (POmniInstVars *)SvPVX(SvRV(self))); MODULE = CORBA::omniORB PACKAGE = CORBA::omniORB::EntryLock void DESTROY (self) SV *self; CODE: SV *sv = SvRV(self); delete INT2PTR(POmniRatchetLock *, SvIV(sv)); MODULE = CORBA::omniORB PACKAGE = DynamicAny::DynAny void DESTROY (self) DynamicAny::DynAny self CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); pomni_objref_destroy (aTHX_ self); CORBA::release (self); CORBA::TypeCode type (self) DynamicAny::DynAny self CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); RETVAL = THIS->type(); OUTPUT: RETVAL void assign (self, dyn_any_obj) DynamicAny::DynAny self DynamicAny::DynAny dyn_any_obj CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); DynamicAny::DynAny_var dyn_any = DynamicAny::DynAny::_narrow(dyn_any_obj); try { THIS->assign( dyn_any ); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } void from_any (self, any) DynamicAny::DynAny self SV *any CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { CORBA::Any a; pomni_any_from_sv(aTHX_ &a, any); THIS->from_any(a); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } SV * to_any (self) DynamicAny::DynAny self CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); CORBA::Any_var any = THIS->to_any(); RETVAL = pomni_any_to_sv(aTHX_ any); OUTPUT: RETVAL bool equal (self, dyn_any_obj) DynamicAny::DynAny self DynamicAny::DynAny dyn_any_obj CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); DynamicAny::DynAny_var dyn_any = DynamicAny::DynAny::_narrow(dyn_any_obj); RETVAL = THIS->equal(dyn_any); OUTPUT: RETVAL void destroy (self) DynamicAny::DynAny self CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); THIS->destroy(); DynamicAny::DynAny copy (self) DynamicAny::DynAny self CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); RETVAL = THIS->copy(); OUTPUT: RETVAL void insert_boolean (self, value) DynamicAny::DynAny self bool value CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { THIS->insert_boolean((CORBA::Boolean)value); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } void insert_octet (self,value) DynamicAny::DynAny self unsigned char value CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { THIS->insert_octet((CORBA::Octet)value); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } void insert_char (self,value) DynamicAny::DynAny self char value CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { THIS->insert_char((CORBA::Char)value); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } void insert_short (self,value) DynamicAny::DynAny self short value CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { THIS->insert_short((CORBA::Short)value); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } void insert_ushort (self,value) DynamicAny::DynAny self unsigned short value CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { THIS->insert_ushort((CORBA::UShort)value); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } void insert_long (self,value) DynamicAny::DynAny self long value CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { THIS->insert_long((CORBA::Long)value); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } void insert_ulong (self,value) DynamicAny::DynAny self unsigned long value CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { THIS->insert_ulong((CORBA::ULong)value); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } void insert_float (self,value) DynamicAny::DynAny self double value CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { THIS->insert_float((CORBA::Float)value); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } void insert_double (self,value) DynamicAny::DynAny self double value CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { THIS->insert_double((CORBA::Double)value); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } void insert_string (self,value) DynamicAny::DynAny self char* value CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { THIS->insert_string((const char*)value); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } void insert_reference (self,value) DynamicAny::DynAny self CORBA::Object value CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { THIS->insert_reference((CORBA::Object_ptr)value); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } void insert_typecode (self,value) DynamicAny::DynAny self CORBA::TypeCode value CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { THIS->insert_typecode((CORBA::TypeCode_ptr)value); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } #ifdef HAS_LongLong void insert_longlong (self,value) DynamicAny::DynAny self CORBA::LongLong value CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { THIS->insert_longlong(value); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } void insert_ulonglong (self,value) DynamicAny::DynAny self CORBA::ULongLong value CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { THIS->insert_ulonglong(value); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } #endif #ifdef HAS_LongDouble void insert_longdouble (self,value) DynamicAny::DynAny self CORBA::LongDouble value CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { THIS->insert_longdouble(value); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } #endif # void insert_wchar(in wchar value) # void insert_wstring(in wstring value) void insert_any (self,value) DynamicAny::DynAny self SV *value CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { CORBA::Any v; pomni_any_from_sv(aTHX_ &v, value); THIS->insert_any(v); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } void insert_dyn_any (self, value_obj) DynamicAny::DynAny self DynamicAny::DynAny value_obj CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); DynamicAny::DynAny_var value = DynamicAny::DynAny::_narrow(value_obj); try { THIS->insert_dyn_any(value); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } # void insert_val(in ValueBase value) bool get_boolean (self) DynamicAny::DynAny self CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { RETVAL = THIS->get_boolean(); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL unsigned char get_octet (self) DynamicAny::DynAny self CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { RETVAL = THIS->get_octet(); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL char get_char (self) DynamicAny::DynAny self CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { RETVAL = THIS->get_char(); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL short get_short (self) DynamicAny::DynAny self CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { RETVAL = THIS->get_short(); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL unsigned short get_ushort (self) DynamicAny::DynAny self CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { RETVAL = THIS->get_ushort(); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL long get_long (self) DynamicAny::DynAny self CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { RETVAL = THIS->get_long(); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL unsigned long get_ulong (self) DynamicAny::DynAny self CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { RETVAL = THIS->get_ulong(); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL double get_float (self) DynamicAny::DynAny self CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { RETVAL = THIS->get_float(); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL double get_double (self) DynamicAny::DynAny self CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { RETVAL = THIS->get_double(); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL SV * get_string (self) DynamicAny::DynAny self CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { CORBA::String_var string = THIS->get_string(); RETVAL = newSVpv((char *) string, 0); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL CORBA::Object get_reference (self) DynamicAny::DynAny self CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { RETVAL = THIS->get_reference(); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL CORBA::TypeCode get_typecode (self) DynamicAny::DynAny self CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { RETVAL = THIS->get_typecode(); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL #ifdef HAS_LongLong CORBA::LongLong get_longlong (self) DynamicAny::DynAny self CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { RETVAL = THIS->get_longlong(); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL CORBA::ULongLong get_ulonglong (self) DynamicAny::DynAny self CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { RETVAL = THIS->get_ulonglong(); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL #endif #ifdef HAS_LongDouble CORBA::LongDouble get_longdouble (self) DynamicAny::DynAny self CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { RETVAL = THIS->get_longdouble(); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL #endif # wchar get_wchar() # wstring get_wstring() SV * get_any (self) DynamicAny::DynAny self CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { CORBA::Any_var any = THIS->get_any(); RETVAL = pomni_any_to_sv(aTHX_ any); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL DynamicAny::DynAny get_dyn_any (self) DynamicAny::DynAny self CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); try { RETVAL = THIS->get_dyn_any(); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL # ValueBase get_val() bool seek (self,index) DynamicAny::DynAny self long index CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); RETVAL = THIS->seek(index); OUTPUT: RETVAL void rewind (self) DynamicAny::DynAny self CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); THIS->rewind(); bool next (self) DynamicAny::DynAny self CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); RETVAL = THIS->next(); OUTPUT: RETVAL unsigned long component_count (self) DynamicAny::DynAny self CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); RETVAL = THIS->component_count(); OUTPUT: RETVAL DynamicAny::DynAny current_component (self) DynamicAny::DynAny self CODE: DynamicAny::DynAny_var THIS = DynamicAny::DynAny::_narrow(self); RETVAL = THIS->current_component(); OUTPUT: RETVAL MODULE = CORBA::omniORB PACKAGE = DynamicAny::DynFixed void DESTROY (self) DynamicAny::DynFixed self CODE: pomni_objref_destroy (aTHX_ self); CORBA::release (self); char * get_value (self) DynamicAny::DynFixed self CODE: DynamicAny::DynFixed_var THIS = DynamicAny::DynFixed::_narrow(self); CORBA::String_var string = THIS->get_value(); RETVAL = (char *) string; OUTPUT: RETVAL #bool CORBA V2.3: boolean set_value(in string val) //XXX void set_value (self,val) DynamicAny::DynFixed self char* val CODE: DynamicAny::DynFixed_var THIS = DynamicAny::DynFixed::_narrow(self); try { THIS->set_value(val); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } # narrow helper SV * _narrow(dyn_any) DynamicAny::DynAny dyn_any CODE: RETVAL = pomni_local_objref_to_sv (aTHX_ DynamicAny::DynFixed::_narrow(dyn_any), "DynamicAny::DynFixed", true); OUTPUT: RETVAL MODULE = CORBA::omniORB PACKAGE = DynamicAny::DynEnum void DESTROY (self) DynamicAny::DynEnum self CODE: pomni_objref_destroy (aTHX_ self); CORBA::release (self); char* get_as_string(self) DynamicAny::DynEnum self CODE: DynamicAny::DynEnum_var THIS = DynamicAny::DynEnum::_narrow(self); CORBA::String_var string = THIS->get_as_string(); RETVAL = (char *) string; OUTPUT: RETVAL void set_as_string(self,value) DynamicAny::DynEnum self char* value CODE: DynamicAny::DynEnum_var THIS = DynamicAny::DynEnum::_narrow(self); try { THIS->set_as_string(value); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } unsigned long get_as_ulong(self) DynamicAny::DynEnum self CODE: DynamicAny::DynEnum_var THIS = DynamicAny::DynEnum::_narrow(self); RETVAL = THIS->get_as_ulong(); OUTPUT: RETVAL void set_as_ulong(self,value) DynamicAny::DynEnum self unsigned long value CODE: DynamicAny::DynEnum_var THIS = DynamicAny::DynEnum::_narrow(self); try { THIS->set_as_ulong(value); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } # narrow helper SV * _narrow(dyn_any) DynamicAny::DynAny dyn_any CODE: RETVAL = pomni_local_objref_to_sv (aTHX_ DynamicAny::DynEnum::_narrow(dyn_any), "DynamicAny::DynEnum", true); OUTPUT: RETVAL MODULE = CORBA::omniORB PACKAGE = DynamicAny::DynStruct void DESTROY (self) DynamicAny::DynStruct self CODE: pomni_objref_destroy (aTHX_ self); CORBA::release (self); SV * current_member_name(self) DynamicAny::DynStruct self CODE: DynamicAny::DynStruct_var THIS = DynamicAny::DynStruct::_narrow(self); try { CORBA::String_var string = THIS->current_member_name(); RETVAL = newSVpv((char *) string, 0); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL char* current_member_kind(self) DynamicAny::DynStruct self CODE: DynamicAny::DynStruct_var THIS = DynamicAny::DynStruct::_narrow(self); try { RETVAL = (char*) TCKind_to_str( THIS->current_member_kind() ); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL AV* get_members(self) DynamicAny::DynStruct self CODE: DynamicAny::DynStruct_var THIS = DynamicAny::DynStruct::_narrow(self); DynamicAny::NameValuePairSeq_var mbrs = THIS->get_members(); RETVAL = newAV(); av_extend(RETVAL, mbrs->length()); for( CORBA::ULong i = 0; i < mbrs->length(); i++ ) { HV* p_mbr = newHV(); sv_2mortal((SV*)p_mbr); hv_store(p_mbr, "id", 2, newSVpv(mbrs[i].id, 0), 0); hv_store(p_mbr, "value", 5, pomni_any_to_sv(aTHX_ mbrs[i].value), 0); av_push(RETVAL, newRV_inc((SV*)p_mbr)); } OUTPUT: RETVAL void set_members(self,members) DynamicAny::DynStruct self SV* members CODE: DynamicAny::DynStruct_var THIS = DynamicAny::DynStruct::_narrow(self); if( !SvROK(members) ) croak("members - must be an array reference"); members = SvRV(members); if( SvTYPE(members) != SVt_PVAV ) croak("members - must be an array reference"); DynamicAny::NameValuePairSeq_var mbrs = new DynamicAny::NameValuePairSeq; mbrs->length(av_len((AV*)members)+1); for( I32 i = 0; i <= av_len((AV*)members); i++ ) { SV* sv = *av_fetch( (AV*)members, i, 0 ); if( !SvROK(sv) || (SvTYPE(SvRV(sv)) != SVt_PVHV) ) croak("members - must be array of hashes"); HV *hv = (HV *)SvRV(sv); SV** id = hv_fetch( hv, "id", 2, 0 ); if( !id || !SvPOK(*id) ) croak("members - must contain string field 'id'"); mbrs[(unsigned long)i].id = CORBA::string_dup( SvPV(*id, PL_na) ); CORBA::Any any; SV** value = hv_fetch( hv, "value", 5, 0 ); if( !value || !pomni_any_from_sv(aTHX_ &any, *value)) croak("members - must contain CORBA::Any field 'value'"); mbrs[(unsigned long)i].value = any; } try { THIS->set_members( mbrs ); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } AV* get_members_as_dyn_any(self) DynamicAny::DynStruct self CODE: DynamicAny::DynStruct_var THIS = DynamicAny::DynStruct::_narrow(self); DynamicAny::NameDynAnyPairSeq_var mbrs = THIS->get_members_as_dyn_any(); RETVAL = newAV(); av_extend(RETVAL, mbrs->length()); for( CORBA::ULong i = 0; i < mbrs->length(); i++ ) { HV* p_mbr = newHV(); sv_2mortal((SV*)p_mbr); hv_store(p_mbr, "id", 2, newSVpv(mbrs[(unsigned long)i].id, 0), 0); hv_store(p_mbr, "value", 5, pomni_dyn_any_to_sv(aTHX_ mbrs[(unsigned long)i].value), 0); av_push(RETVAL, newRV_inc((SV*)p_mbr)); } OUTPUT: RETVAL void set_members_as_dyn_any(self,members) DynamicAny::DynStruct self SV* members CODE: DynamicAny::DynStruct_var THIS = DynamicAny::DynStruct::_narrow(self); if( !SvROK(members) ) croak("members - must be an array reference"); members = SvRV(members); if( SvTYPE(members) != SVt_PVAV ) croak("members - must be an array reference"); DynamicAny::NameDynAnyPairSeq_var mbrs = new DynamicAny::NameDynAnyPairSeq; mbrs->length(av_len((AV*)members)+1); for( I32 i = 0; i <= av_len((AV*)members); i++ ) { SV* sv = *av_fetch( (AV*)members, i, 0 ); if( !SvROK(sv) || (SvTYPE(SvRV(sv)) != SVt_PVHV) ) croak("members - must be array of hashes"); HV *hv = (HV *)SvRV(sv); SV** id = hv_fetch( hv, "id", 2, 0 ); if( !id || !SvPOK(*id) ) croak("members - must contain string field 'id'"); mbrs[(unsigned long)i].id = CORBA::string_dup( SvPV(*id, PL_na) ); SV** value = hv_fetch( hv, "value", 5, 0 ); if( !value || !sv_isa(*value, "DynamicAny::DynAny")) croak("members - must contain DynamicAny::DynAny field 'value'"); IV tmp = SvIV((SV*)SvRV(*value)); DynamicAny::DynAny *dynany = INT2PTR(DynamicAny::DynAny*,tmp); mbrs[(unsigned long)i].value = dynany->copy(); } try { THIS->set_members_as_dyn_any( mbrs ); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } # narrow helper SV * _narrow(dyn_any) DynamicAny::DynAny dyn_any CODE: RETVAL = pomni_local_objref_to_sv (aTHX_ DynamicAny::DynStruct::_narrow(dyn_any), "DynamicAny::DynStruct", true); OUTPUT: RETVAL MODULE = CORBA::omniORB PACKAGE = DynamicAny::DynUnion void DESTROY (self) DynamicAny::DynUnion self CODE: pomni_objref_destroy (aTHX_ self); CORBA::release (self); DynamicAny::DynAny get_discriminator (self) DynamicAny::DynUnion self CODE: DynamicAny::DynUnion_var THIS = DynamicAny::DynUnion::_narrow(self); RETVAL = THIS->get_discriminator(); OUTPUT: RETVAL void set_discriminator (self,d_obj) DynamicAny::DynUnion self DynamicAny::DynAny d_obj CODE: DynamicAny::DynUnion_var THIS = DynamicAny::DynUnion::_narrow(self); DynamicAny::DynUnion_var d = DynamicAny::DynUnion::_narrow(d_obj); try { THIS->set_discriminator(d); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } void set_to_default_member (self) DynamicAny::DynUnion self CODE: DynamicAny::DynUnion_var THIS = DynamicAny::DynUnion::_narrow(self); try { THIS->set_to_default_member(); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } void set_to_no_active_member (self) DynamicAny::DynUnion self CODE: DynamicAny::DynUnion_var THIS = DynamicAny::DynUnion::_narrow(self); try { THIS->set_to_no_active_member(); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } bool has_no_active_member (self) DynamicAny::DynUnion self CODE: DynamicAny::DynUnion_var THIS = DynamicAny::DynUnion::_narrow(self); RETVAL = THIS->has_no_active_member(); OUTPUT: RETVAL char * discriminator_kind (self) DynamicAny::DynUnion self CODE: DynamicAny::DynUnion_var THIS = DynamicAny::DynUnion::_narrow(self); RETVAL = (char *) TCKind_to_str( THIS->discriminator_kind() ); OUTPUT: RETVAL DynamicAny::DynAny member (self) DynamicAny::DynUnion self CODE: DynamicAny::DynUnion_var THIS = DynamicAny::DynUnion::_narrow(self); try { RETVAL = THIS->member(); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL SV * member_name (self) DynamicAny::DynUnion self CODE: DynamicAny::DynUnion_var THIS = DynamicAny::DynUnion::_narrow(self); try { CORBA::String_var string = THIS->member_name(); RETVAL = newSVpv((char *) string, 0); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL char* member_kind (self) DynamicAny::DynUnion self CODE: DynamicAny::DynUnion_var THIS = DynamicAny::DynUnion::_narrow(self); try { RETVAL = (char *) TCKind_to_str( THIS->member_kind() ); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL # narrow helper SV * _narrow(dyn_any) DynamicAny::DynAny dyn_any CODE: RETVAL = pomni_local_objref_to_sv (aTHX_ DynamicAny::DynUnion::_narrow(dyn_any), "DynamicAny::DynUnion", true); OUTPUT: RETVAL MODULE = CORBA::omniORB PACKAGE = DynamicAny::DynSequence void DESTROY (self) DynamicAny::DynSequence self CODE: pomni_objref_destroy (aTHX_ self); CORBA::release (self); unsigned long get_length (self) DynamicAny::DynSequence self CODE: DynamicAny::DynSequence_var THIS = DynamicAny::DynSequence::_narrow(self); RETVAL = THIS->get_length(); OUTPUT: RETVAL void set_length (self,len) DynamicAny::DynSequence self unsigned long len CODE: DynamicAny::DynSequence_var THIS = DynamicAny::DynSequence::_narrow(self); try { THIS->set_length(len); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } AV* get_elements (self) DynamicAny::DynSequence self CODE: DynamicAny::DynSequence_var THIS = DynamicAny::DynSequence::_narrow(self); DynamicAny::AnySeq_var els = THIS->get_elements(); RETVAL = newAV(); av_extend( RETVAL, els->length() ); for( CORBA::ULong i = 0; i < els->length(); i++ ) { av_push( RETVAL, pomni_any_to_sv(aTHX_ els[i]) ); } OUTPUT: RETVAL void set_elements(self,elements) DynamicAny::DynSequence self SV* elements CODE: DynamicAny::DynSequence_var THIS = DynamicAny::DynSequence::_narrow(self); if( !SvROK(elements) ) croak("elements - must be an array reference"); elements = SvRV(elements); if( SvTYPE(elements) != SVt_PVAV ) croak("elements - must be an array reference"); DynamicAny::AnySeq_var mbrs = new DynamicAny::AnySeq; mbrs->length(av_len((AV*)elements)+1); for( I32 i = 0; i <= av_len((AV*)elements); i++ ) { CORBA::Any any; SV* sv = *av_fetch( (AV*)elements, i, 0 ); if (!pomni_any_from_sv(aTHX_ &any, sv)) croak("elements - must contain CORBA::Any values"); mbrs[(unsigned long)i] = any; } try { THIS->set_elements( mbrs ); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } AV* get_elements_as_dyn_any(self) DynamicAny::DynSequence self CODE: DynamicAny::DynSequence_var THIS = DynamicAny::DynSequence::_narrow(self); DynamicAny::DynAnySeq_var mbrs = THIS->get_elements_as_dyn_any(); RETVAL = newAV(); av_extend(RETVAL, mbrs->length()); for( CORBA::ULong i = 0; i < mbrs->length(); i++ ) { av_push( RETVAL, pomni_dyn_any_to_sv(aTHX_ mbrs[(unsigned long)i]) ); } OUTPUT: RETVAL void set_elements_as_dyn_any(self,elements) DynamicAny::DynSequence self SV* elements CODE: DynamicAny::DynSequence_var THIS = DynamicAny::DynSequence::_narrow(self); if( !SvROK(elements) ) croak("elements - must be an array reference"); elements = SvRV(elements); if( SvTYPE(elements) != SVt_PVAV ) croak("elements - must be an array reference"); DynamicAny::DynAnySeq_var mbrs = new DynamicAny::DynAnySeq; mbrs->length(av_len((AV*)elements)+1); for( I32 i = 0; i <= av_len((AV*)elements); i++ ) { SV* sv = *av_fetch( (AV*)elements, i, 0 ); if( !sv_isa( sv, "DynamicAny::DynAny" ) ) croak("elements - must contain DynamicAny::DynAny values"); IV tmp = SvIV((SV*)SvRV(sv)); DynamicAny::DynAny *dynany = INT2PTR(DynamicAny::DynAny*,tmp); mbrs[(unsigned long)i] = dynany->copy(); } try { THIS->set_elements_as_dyn_any( mbrs ); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } # narrow helper SV * _narrow(dyn_any) DynamicAny::DynAny dyn_any CODE: RETVAL = pomni_local_objref_to_sv (aTHX_ DynamicAny::DynSequence::_narrow(dyn_any), "DynamicAny::DynSequence", true); OUTPUT: RETVAL MODULE = CORBA::omniORB PACKAGE = DynamicAny::DynArray void DESTROY (self) DynamicAny::DynArray self CODE: pomni_objref_destroy (aTHX_ self); CORBA::release (self); AV* get_elements (self) DynamicAny::DynArray self CODE: DynamicAny::DynArray_var THIS = DynamicAny::DynArray::_narrow(self); DynamicAny::AnySeq_var els = THIS->get_elements(); RETVAL = newAV(); av_extend( RETVAL, els->length() ); for( CORBA::ULong i = 0; i < els->length(); i++ ) { av_push( RETVAL, pomni_any_to_sv(aTHX_ els[i]) ); } OUTPUT: RETVAL void set_elements(self,elements) DynamicAny::DynArray self SV* elements CODE: DynamicAny::DynArray_var THIS = DynamicAny::DynArray::_narrow(self); if( !SvROK(elements) ) croak("elements - must be an array reference"); elements = SvRV(elements); if( SvTYPE(elements) != SVt_PVAV ) croak("elements - must be an array reference"); DynamicAny::AnySeq_var mbrs = new DynamicAny::AnySeq; mbrs->length(av_len((AV*)elements)+1); for( I32 i = 0; i <= av_len((AV*)elements); i++ ) { CORBA::Any any; SV *sv = *av_fetch( (AV*)elements, i, 0 ); if (pomni_any_from_sv(aTHX_ &any, sv)) croak("elements - must contain CORBA::Any values"); mbrs[(unsigned long)i] = any; } try { THIS->set_elements( mbrs ); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } AV* get_elements_as_dyn_any(self) DynamicAny::DynArray self CODE: DynamicAny::DynArray_var THIS = DynamicAny::DynArray::_narrow(self); DynamicAny::DynAnySeq_var mbrs = THIS->get_elements_as_dyn_any(); RETVAL = newAV(); av_extend(RETVAL, mbrs->length()); for( CORBA::ULong i = 0; i < mbrs->length(); i++ ) { av_push( RETVAL, pomni_dyn_any_to_sv(aTHX_ mbrs[(unsigned long)i]) ); } OUTPUT: RETVAL void set_elements_as_dyn_any(self,elements) DynamicAny::DynArray self SV* elements CODE: DynamicAny::DynArray_var THIS = DynamicAny::DynArray::_narrow(self); if( !SvROK(elements) ) croak("elements - must be an array reference"); elements = SvRV(elements); if( SvTYPE(elements) != SVt_PVAV ) croak("elements - must be an array reference"); DynamicAny::DynAnySeq_var mbrs = new DynamicAny::DynAnySeq; mbrs->length(av_len((AV*)elements)+1); for( I32 i = 0; i <= av_len((AV*)elements); i++ ) { SV* sv = *av_fetch( (AV*)elements, i, 0 ); if( !sv_isa( sv, "DynamicAny::DynAny" ) ) croak("elements - must contain DynamicAny::DynAny values"); IV tmp = SvIV((SV*)SvRV(sv)); DynamicAny::DynAny *dynany = INT2PTR(DynamicAny::DynAny*,tmp); mbrs[(unsigned long)i] = dynany->copy(); } try { THIS->set_elements_as_dyn_any( mbrs ); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } # narrow helper SV * _narrow(dyn_any) DynamicAny::DynAny dyn_any CODE: RETVAL = pomni_local_objref_to_sv (aTHX_ DynamicAny::DynArray::_narrow(dyn_any), "DynamicAny::DynArray", true); OUTPUT: RETVAL MODULE = CORBA::omniORB PACKAGE = DynamicAny::DynValue #if 0 void DESTROY (self) DynamicAny::DynValue self CODE: pomni_objref_destroy (aTHX_ self); CORBA::release (self); SV * current_member_name (self) DynamicAny::DynValue self CODE: DynamicAny::DynValue_var THIS = DynamicAny::DynValue::_narrow(self); try { CORBA::String_var string = THIS->current_member_name(); RETVAL = newSVpv((char *) string, 0); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL char* current_member_kind(self) DynamicAny::DynValue self CODE: DynamicAny::DynValue_var THIS = DynamicAny::DynValue::_narrow(self); try { RETVAL = (char*) TCKind_to_str( THIS->current_member_kind() ); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL AV* get_members(self) DynamicAny::DynStruct self CODE: DynamicAny::DynValue_var THIS = DynamicAny::DynValue::_narrow(self); DynamicAny::NameValuePairSeq_var mbrs = THIS->get_members(); RETVAL = newAV(); av_extend(RETVAL, mbrs->length()); for( CORBA::ULong i = 0; i < mbrs->length(); i++ ) { HV* p_mbr = newHV(); sv_2mortal((SV*)p_mbr); hv_store(p_mbr, "id", 2, newSVpv(mbrs[(unsigned long)i].id, 0), 0); hv_store(p_mbr, "value", 5, pomni_any_to_sv(mbrs[(unsigned long)i].value), 0); av_push(RETVAL, newRV_inc((SV*)p_mbr)); } OUTPUT: RETVAL void set_members(self,members) DynamicAny::DynStruct self SV* members CODE: DynamicAny::DynValue_var THIS = DynamicAny::DynValue::_narrow(self); if( !SvROK(members) ) croak("members - must be an array reference"); members = SvRV(members); if( SvTYPE(members) != SVt_PVAV ) croak("members - must be an array reference"); DynamicAny::NameValuePairSeq_var mbrs = new DynamicAny::NameValuePairSeq; mbrs->length(av_len((AV*)members)+1); for( I32 i = 0; i <= av_len((AV*)members); i++ ) { SV* sv = *av_fetch( (AV*)members, i, 0 ); if( !SvROK(sv) || (SvTYPE(SvRV(sv)) != SVt_PVHV) ) croak("members - must be array of hashes"); HV *hv = (HV *)SvRV(sv); SV** id = hv_fetch( hv, "id", 2, 0 ); if( !id || !SvPOK(*id) ) croak("members - must contain string field 'id'"); mbrs[(unsigned long)i].id = CORBA::string_dup( SvPV(*id, PL_na) ); CORBA::Any any; SV** value = hv_fetch( hv, "value", 5, 0 ); if (!value || !pomni_any_from_sv(aTHX_ &any, sv)) croak("members - must contain CORBA::Any field 'value'"); mbrs[(unsigned long)i].value = any; } try { THIS->set_members( mbrs ); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } AV* get_members_as_dyn_any(self) DynamicAny::DynStruct self CODE: DynamicAny::NameDynAnyPairSeq_var mbrs = self->get_members_as_dyn_any(); RETVAL = newAV(); av_extend(RETVAL, mbrs->length()); for( CORBA::ULong i = 0; i < mbrs->length(); i++ ) { HV* p_mbr = newHV(); sv_2mortal((SV*)p_mbr); hv_store(p_mbr, "id", 2, newSVpv(mbrs[(unsigned long)i].id, 0), 0); hv_store(p_mbr, "value", 5, pomni_dyn_any_to_sv(mbrs[(unsigned long)i].value), 0); av_push(RETVAL, newRV_inc((SV*)p_mbr)); } OUTPUT: RETVAL void set_members_as_dyn_any(self,members) DynamicAny::DynStruct self SV* members CODE: DynamicAny::DynValue_var THIS = DynamicAny::DynValue::_narrow(self); if( !SvROK(members) ) croak("members - must be an array reference"); members = SvRV(members); if( SvTYPE(members) != SVt_PVAV ) croak("members - must be an array reference"); DynamicAny::NameDynAnyPairSeq_var mbrs = new DynamicAny::NameDynAnyPairSeq; mbrs->length(av_len((AV*)members)+1); for( I32 i = 0; i <= av_len((AV*)members); i++ ) { SV* sv = *av_fetch( (AV*)members, i, 0 ); if( !SvROK(sv) || (SvTYPE(SvRV(sv)) != SVt_PVHV) ) croak("members - must be array of hashes"); HV *hv = (HV *)SvRV(sv); SV** id = hv_fetch( hv, "id", 2, 0 ); if( !id || !SvPOK(*id) ) croak("members - must contain string field 'id'"); mbrs[(unsigned long)i].id = CORBA::string_dup( SvPV(*id, PL_na) ); SV** value = hv_fetch( hv, "value", 5, 0 ); if( !value || !sv_isa(*value, "DynamicAny::DynAny")) croak("members - must contain DynamicAny::DynAny field 'value'"); IV tmp = SvIV((SV*)SvRV(*value)); DynamicAny::DynAny *dynany = INT2PTR(DynamicAny::DynAny*,tmp); mbrs[(unsigned long)i].value = dynany->copy(); } try { THIS->set_members_as_dyn_any( mbrs ); } catch (DynamicAny::DynAny::TypeMismatch &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } catch (DynamicAny::DynAny::InvalidValue &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } # narrow helper SV * _narrow(dyn_any) DynamicAny::DynAny dyn_any CODE: RETVAL = pomni_local_objref_to_sv (aTHX_ DynamicAny::DynValue::_narrow(dyn_any), "DynamicAny::DynValue", true); OUTPUT: RETVAL #endif MODULE = CORBA::omniORB PACKAGE = DynamicAny::DynAnyFactory void DESTROY (self) DynamicAny::DynAnyFactory self CODE: pomni_objref_destroy (aTHX_ self); CORBA::release (self); DynamicAny::DynAny create_dyn_any(self, value) DynamicAny::DynAnyFactory self SV *value CODE: DynamicAny::DynAnyFactory_var THIS = DynamicAny::DynAnyFactory::_narrow(self); try { CORBA::Any v; pomni_any_from_sv(aTHX_ &v, value); RETVAL = THIS->create_dyn_any(v); } catch (DynamicAny::DynAnyFactory::InconsistentTypeCode &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL DynamicAny::DynAny create_dyn_any_from_type_code(self, type) DynamicAny::DynAnyFactory self CORBA::TypeCode type CODE: DynamicAny::DynAnyFactory_var THIS = DynamicAny::DynAnyFactory::_narrow(self); try { RETVAL = THIS->create_dyn_any_from_type_code(type); } catch (DynamicAny::DynAnyFactory::InconsistentTypeCode &ex) { pomni_throw (aTHX_ pomni_builtin_except (aTHX_ &ex)); } OUTPUT: RETVAL