// This file is generated by omniidl (C++ backend)- omniORB_4_3. Do not edit.

#include <omniORB4/objTracker.h>

CORBA::IRObject_ptr CORBA::IRObject_Helper::_nil() {
  return ::CORBA::IRObject::_nil();
}

::CORBA::Boolean CORBA::IRObject_Helper::is_nil(::CORBA::IRObject_ptr p) {
  return ::CORBA::is_nil(p);

}

void CORBA::IRObject_Helper::release(::CORBA::IRObject_ptr p) {
  ::CORBA::release(p);
}

void CORBA::IRObject_Helper::marshalObjRef(::CORBA::IRObject_ptr obj, cdrStream& s) {
  ::CORBA::IRObject::_marshalObjRef(obj, s);
}

CORBA::IRObject_ptr CORBA::IRObject_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CORBA::IRObject::_unmarshalObjRef(s);
}

void CORBA::IRObject_Helper::duplicate(::CORBA::IRObject_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CORBA::IRObject_ptr
CORBA::IRObject::_duplicate(::CORBA::IRObject_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CORBA::IRObject_ptr
CORBA::IRObject::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CORBA::IRObject_ptr
CORBA::IRObject::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CORBA::IRObject_ptr
CORBA::IRObject::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_IRObject _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_IRObject* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_IRObject;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CORBA::IRObject::_PD_repoId = "IDL:omg.org/CORBA/IRObject:1.0";


CORBA::_objref_IRObject::~_objref_IRObject() {
  
}


CORBA::_objref_IRObject::_objref_IRObject(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CORBA::IRObject::_PD_repoId, ior, id, 1)
   
   
{
  _PR_setobj(this);
}

void*
CORBA::_objref_IRObject::_ptrToObjRef(const char* id)
{
  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::IRObject_ptr) this;
  
  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::IRObject_ptr) this;
  
  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CORBA::IRObject::_get_def_kind

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mDefinitionKind
class _0RL_cd_7963219a43724a61_00000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_00000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  CORBA::DefinitionKind result;
};

void _0RL_cd_7963219a43724a61_00000000::marshalReturnedValues(cdrStream& _n)
{
  result >>= _n;

}

void _0RL_cd_7963219a43724a61_00000000::unmarshalReturnedValues(cdrStream& _n)
{
  (CORBA::DefinitionKind&)result <<= _n;

}

const char* const _0RL_cd_7963219a43724a61_00000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_10000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_00000000* tcd = (_0RL_cd_7963219a43724a61_00000000*)cd;
  CORBA::_impl_IRObject* impl = (CORBA::_impl_IRObject*) svnt->_ptrToInterface(CORBA::IRObject::_PD_repoId);
  tcd->result = impl->def_kind();


}

CORBA::DefinitionKind CORBA::_objref_IRObject::def_kind()
{
  _0RL_cd_7963219a43724a61_00000000 _call_desc(_0RL_lcfn_7963219a43724a61_10000000, "_get_def_kind", 14);


  _invoke(_call_desc);
  return _call_desc.result;


}


//
// Code for CORBA::IRObject::destroy

// Proxy call descriptor class. Mangled signature:
//  void
class _0RL_cd_7963219a43724a61_20000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_20000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
    
  
  static const char* const _user_exns[];

  
};

const char* const _0RL_cd_7963219a43724a61_20000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_30000000(omniCallDescriptor*, omniServant* svnt)
{
  
  CORBA::_impl_IRObject* impl = (CORBA::_impl_IRObject*) svnt->_ptrToInterface(CORBA::IRObject::_PD_repoId);
  impl->destroy();


}

void CORBA::_objref_IRObject::destroy()
{
  _0RL_cd_7963219a43724a61_20000000 _call_desc(_0RL_lcfn_7963219a43724a61_30000000, "destroy", 8);


  _invoke(_call_desc);



}

CORBA::_pof_IRObject::~_pof_IRObject() {}


omniObjRef*
CORBA::_pof_IRObject::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CORBA::_objref_IRObject(ior, id);
}


::CORBA::Boolean
CORBA::_pof_IRObject::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CORBA::IRObject::_PD_repoId))
    return 1;
  
  return 0;
}

const CORBA::_pof_IRObject _the_pof_CORBA_mIRObject;

CORBA::_impl_IRObject::~_impl_IRObject() {}


::CORBA::Boolean
CORBA::_impl_IRObject::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "_get_def_kind")) {

    _0RL_cd_7963219a43724a61_00000000 _call_desc(_0RL_lcfn_7963219a43724a61_10000000, "_get_def_kind", 14, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "destroy")) {

    _0RL_cd_7963219a43724a61_20000000 _call_desc(_0RL_lcfn_7963219a43724a61_30000000, "destroy", 8, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }


  return 0;
}

void*
CORBA::_impl_IRObject::_ptrToInterface(const char* id)
{
  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::_impl_IRObject*) this;
  
  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::_impl_IRObject*) this;
  
  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CORBA::_impl_IRObject::_mostDerivedRepoId()
{
  return ::CORBA::IRObject::_PD_repoId;
}

void
CORBA::Contained::Description::operator>>= (cdrStream &_n) const
{
  kind >>= _n;
  (const ::CORBA::Any&) value >>= _n;

}

void
CORBA::Contained::Description::operator<<= (cdrStream &_n)
{
  (DefinitionKind&)kind <<= _n;
  (::CORBA::Any&)value <<= _n;

}

CORBA::Contained_ptr CORBA::Contained_Helper::_nil() {
  return ::CORBA::Contained::_nil();
}

::CORBA::Boolean CORBA::Contained_Helper::is_nil(::CORBA::Contained_ptr p) {
  return ::CORBA::is_nil(p);

}

void CORBA::Contained_Helper::release(::CORBA::Contained_ptr p) {
  ::CORBA::release(p);
}

void CORBA::Contained_Helper::marshalObjRef(::CORBA::Contained_ptr obj, cdrStream& s) {
  ::CORBA::Contained::_marshalObjRef(obj, s);
}

CORBA::Contained_ptr CORBA::Contained_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CORBA::Contained::_unmarshalObjRef(s);
}

void CORBA::Contained_Helper::duplicate(::CORBA::Contained_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CORBA::Contained_ptr
CORBA::Contained::_duplicate(::CORBA::Contained_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CORBA::Contained_ptr
CORBA::Contained::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CORBA::Contained_ptr
CORBA::Contained::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CORBA::Contained_ptr
CORBA::Contained::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_Contained _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_Contained* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_Contained;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CORBA::Contained::_PD_repoId = "IDL:omg.org/CORBA/Contained:1.0";


CORBA::_objref_Contained::~_objref_Contained() {
  
}


CORBA::_objref_Contained::_objref_Contained(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CORBA::Contained::_PD_repoId, ior, id, 1),
   _objref_IRObject(ior, id)
   
{
  _PR_setobj(this);
}

void*
CORBA::_objref_Contained::_ptrToObjRef(const char* id)
{
  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::Contained_ptr) this;
  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::IRObject_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::Contained_ptr) this;
  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::IRObject_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CORBA::Contained::_get_id

// Proxy call descriptor class. Mangled signature:
//  _cstring
class _0RL_cd_7963219a43724a61_40000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_40000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::String_var result;
};

void _0RL_cd_7963219a43724a61_40000000::marshalReturnedValues(cdrStream& _n)
{
  _n.marshalString(result,0);

}

void _0RL_cd_7963219a43724a61_40000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = _n.unmarshalString(0);

}

const char* const _0RL_cd_7963219a43724a61_40000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_50000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_40000000* tcd = (_0RL_cd_7963219a43724a61_40000000*)cd;
  CORBA::_impl_Contained* impl = (CORBA::_impl_Contained*) svnt->_ptrToInterface(CORBA::Contained::_PD_repoId);
  tcd->result = impl->id();


}

char* CORBA::_objref_Contained::id()
{
  _0RL_cd_7963219a43724a61_40000000 _call_desc(_0RL_lcfn_7963219a43724a61_50000000, "_get_id", 8);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Contained::_set_id

// Proxy call descriptor class. Mangled signature:
//  void_i_cstring
class _0RL_cd_7963219a43724a61_60000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_60000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

    
  
  static const char* const _user_exns[];

  ::CORBA::String_var arg_0_;
  const char* arg_0;
};

void _0RL_cd_7963219a43724a61_60000000::marshalArguments(cdrStream& _n)
{
  _n.marshalString(arg_0,0);

}

void _0RL_cd_7963219a43724a61_60000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = _n.unmarshalString(0);
  arg_0 = arg_0_.in();

}

const char* const _0RL_cd_7963219a43724a61_60000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_70000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_60000000* tcd = (_0RL_cd_7963219a43724a61_60000000*)cd;
  CORBA::_impl_Contained* impl = (CORBA::_impl_Contained*) svnt->_ptrToInterface(CORBA::Contained::_PD_repoId);
  impl->id(tcd->arg_0);


}

void CORBA::_objref_Contained::id(const char* _v)
{
  _0RL_cd_7963219a43724a61_60000000 _call_desc(_0RL_lcfn_7963219a43724a61_70000000, "_set_id", 8);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}


//
// Code for CORBA::Contained::_get_name

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_80000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_40000000* tcd = (_0RL_cd_7963219a43724a61_40000000*)cd;
  CORBA::_impl_Contained* impl = (CORBA::_impl_Contained*) svnt->_ptrToInterface(CORBA::Contained::_PD_repoId);
  tcd->result = impl->name();


}

char* CORBA::_objref_Contained::name()
{
  _0RL_cd_7963219a43724a61_40000000 _call_desc(_0RL_lcfn_7963219a43724a61_80000000, "_get_name", 10);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Contained::_set_name

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_90000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_60000000* tcd = (_0RL_cd_7963219a43724a61_60000000*)cd;
  CORBA::_impl_Contained* impl = (CORBA::_impl_Contained*) svnt->_ptrToInterface(CORBA::Contained::_PD_repoId);
  impl->name(tcd->arg_0);


}

void CORBA::_objref_Contained::name(const char* _v)
{
  _0RL_cd_7963219a43724a61_60000000 _call_desc(_0RL_lcfn_7963219a43724a61_90000000, "_set_name", 10);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}


//
// Code for CORBA::Contained::_get_version

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_a0000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_40000000* tcd = (_0RL_cd_7963219a43724a61_40000000*)cd;
  CORBA::_impl_Contained* impl = (CORBA::_impl_Contained*) svnt->_ptrToInterface(CORBA::Contained::_PD_repoId);
  tcd->result = impl->version();


}

char* CORBA::_objref_Contained::version()
{
  _0RL_cd_7963219a43724a61_40000000 _call_desc(_0RL_lcfn_7963219a43724a61_a0000000, "_get_version", 13);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Contained::_set_version

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_b0000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_60000000* tcd = (_0RL_cd_7963219a43724a61_60000000*)cd;
  CORBA::_impl_Contained* impl = (CORBA::_impl_Contained*) svnt->_ptrToInterface(CORBA::Contained::_PD_repoId);
  impl->version(tcd->arg_0);


}

void CORBA::_objref_Contained::version(const char* _v)
{
  _0RL_cd_7963219a43724a61_60000000 _call_desc(_0RL_lcfn_7963219a43724a61_b0000000, "_set_version", 13);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}


//
// Code for CORBA::Contained::_get_defined_in

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mContainer
class _0RL_cd_7963219a43724a61_c0000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_c0000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  CORBA::Container_var result;
};

void _0RL_cd_7963219a43724a61_c0000000::marshalReturnedValues(cdrStream& _n)
{
  CORBA::Container_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_7963219a43724a61_c0000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CORBA::Container_Helper::unmarshalObjRef(_n);

}

const char* const _0RL_cd_7963219a43724a61_c0000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_d0000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_c0000000* tcd = (_0RL_cd_7963219a43724a61_c0000000*)cd;
  CORBA::_impl_Contained* impl = (CORBA::_impl_Contained*) svnt->_ptrToInterface(CORBA::Contained::_PD_repoId);
  tcd->result = impl->defined_in();


}

CORBA::Container_ptr CORBA::_objref_Contained::defined_in()
{
  _0RL_cd_7963219a43724a61_c0000000 _call_desc(_0RL_lcfn_7963219a43724a61_d0000000, "_get_defined_in", 16);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Contained::_get_absolute_name

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_e0000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_40000000* tcd = (_0RL_cd_7963219a43724a61_40000000*)cd;
  CORBA::_impl_Contained* impl = (CORBA::_impl_Contained*) svnt->_ptrToInterface(CORBA::Contained::_PD_repoId);
  tcd->result = impl->absolute_name();


}

char* CORBA::_objref_Contained::absolute_name()
{
  _0RL_cd_7963219a43724a61_40000000 _call_desc(_0RL_lcfn_7963219a43724a61_e0000000, "_get_absolute_name", 19);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Contained::_get_containing_repository

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mRepository
class _0RL_cd_7963219a43724a61_f0000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_f0000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  CORBA::Repository_var result;
};

void _0RL_cd_7963219a43724a61_f0000000::marshalReturnedValues(cdrStream& _n)
{
  CORBA::Repository_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_7963219a43724a61_f0000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CORBA::Repository_Helper::unmarshalObjRef(_n);

}

const char* const _0RL_cd_7963219a43724a61_f0000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_01000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_f0000000* tcd = (_0RL_cd_7963219a43724a61_f0000000*)cd;
  CORBA::_impl_Contained* impl = (CORBA::_impl_Contained*) svnt->_ptrToInterface(CORBA::Contained::_PD_repoId);
  tcd->result = impl->containing_repository();


}

CORBA::Repository_ptr CORBA::_objref_Contained::containing_repository()
{
  _0RL_cd_7963219a43724a61_f0000000 _call_desc(_0RL_lcfn_7963219a43724a61_01000000, "_get_containing_repository", 27);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Contained::describe

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mContained_mDescription
class _0RL_cd_7963219a43724a61_11000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_11000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  CORBA::Contained::Description_var result;
};

void _0RL_cd_7963219a43724a61_11000000::marshalReturnedValues(cdrStream& _n)
{
  (const CORBA::Contained::Description&) result >>= _n;

}

void _0RL_cd_7963219a43724a61_11000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = new CORBA::Contained::Description;
  (CORBA::Contained::Description&)result <<= _n;

}

const char* const _0RL_cd_7963219a43724a61_11000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_21000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_11000000* tcd = (_0RL_cd_7963219a43724a61_11000000*)cd;
  CORBA::_impl_Contained* impl = (CORBA::_impl_Contained*) svnt->_ptrToInterface(CORBA::Contained::_PD_repoId);
  tcd->result = impl->describe();


}

CORBA::Contained::Description* CORBA::_objref_Contained::describe()
{
  _0RL_cd_7963219a43724a61_11000000 _call_desc(_0RL_lcfn_7963219a43724a61_21000000, "describe", 9);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Contained::move

// Proxy call descriptor class. Mangled signature:
//  void_i_cCORBA_mContainer_i_cstring_i_cstring
class _0RL_cd_7963219a43724a61_31000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_31000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

    
  
  static const char* const _user_exns[];

  CORBA::Container_var arg_0_;
  CORBA::Container_ptr arg_0;
  ::CORBA::String_var arg_1_;
  const char* arg_1;
  ::CORBA::String_var arg_2_;
  const char* arg_2;
};

void _0RL_cd_7963219a43724a61_31000000::marshalArguments(cdrStream& _n)
{
  CORBA::Container_Helper::marshalObjRef(arg_0,_n);
  _n.marshalString(arg_1,0);
  _n.marshalString(arg_2,0);

}

void _0RL_cd_7963219a43724a61_31000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = CORBA::Container_Helper::unmarshalObjRef(_n);
  arg_0 = arg_0_.in();
  arg_1_ = _n.unmarshalString(0);
  arg_1 = arg_1_.in();
  arg_2_ = _n.unmarshalString(0);
  arg_2 = arg_2_.in();

}

const char* const _0RL_cd_7963219a43724a61_31000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_41000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_31000000* tcd = (_0RL_cd_7963219a43724a61_31000000*)cd;
  CORBA::_impl_Contained* impl = (CORBA::_impl_Contained*) svnt->_ptrToInterface(CORBA::Contained::_PD_repoId);
  impl->move(tcd->arg_0, tcd->arg_1, tcd->arg_2);


}

void CORBA::_objref_Contained::move(::CORBA::Container_ptr new_container, const char* new_name, const char* new_version)
{
  _0RL_cd_7963219a43724a61_31000000 _call_desc(_0RL_lcfn_7963219a43724a61_41000000, "move", 5);
  _call_desc.arg_0 = new_container;
  _call_desc.arg_1 = new_name;
  _call_desc.arg_2 = new_version;

  _invoke(_call_desc);



}

CORBA::_pof_Contained::~_pof_Contained() {}


omniObjRef*
CORBA::_pof_Contained::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CORBA::_objref_Contained(ior, id);
}


::CORBA::Boolean
CORBA::_pof_Contained::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CORBA::Contained::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CORBA::IRObject::_PD_repoId))
    return 1;


  return 0;
}

const CORBA::_pof_Contained _the_pof_CORBA_mContained;

CORBA::_impl_Contained::~_impl_Contained() {}


::CORBA::Boolean
CORBA::_impl_Contained::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "_get_id")) {

    _0RL_cd_7963219a43724a61_40000000 _call_desc(_0RL_lcfn_7963219a43724a61_50000000, "_get_id", 8, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_id")) {

    _0RL_cd_7963219a43724a61_60000000 _call_desc(_0RL_lcfn_7963219a43724a61_70000000, "_set_id", 8, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_name")) {

    _0RL_cd_7963219a43724a61_40000000 _call_desc(_0RL_lcfn_7963219a43724a61_80000000, "_get_name", 10, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_name")) {

    _0RL_cd_7963219a43724a61_60000000 _call_desc(_0RL_lcfn_7963219a43724a61_90000000, "_set_name", 10, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_version")) {

    _0RL_cd_7963219a43724a61_40000000 _call_desc(_0RL_lcfn_7963219a43724a61_a0000000, "_get_version", 13, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_version")) {

    _0RL_cd_7963219a43724a61_60000000 _call_desc(_0RL_lcfn_7963219a43724a61_b0000000, "_set_version", 13, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_defined_in")) {

    _0RL_cd_7963219a43724a61_c0000000 _call_desc(_0RL_lcfn_7963219a43724a61_d0000000, "_get_defined_in", 16, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_absolute_name")) {

    _0RL_cd_7963219a43724a61_40000000 _call_desc(_0RL_lcfn_7963219a43724a61_e0000000, "_get_absolute_name", 19, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_containing_repository")) {

    _0RL_cd_7963219a43724a61_f0000000 _call_desc(_0RL_lcfn_7963219a43724a61_01000000, "_get_containing_repository", 27, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "describe")) {

    _0RL_cd_7963219a43724a61_11000000 _call_desc(_0RL_lcfn_7963219a43724a61_21000000, "describe", 9, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "move")) {

    _0RL_cd_7963219a43724a61_31000000 _call_desc(_0RL_lcfn_7963219a43724a61_41000000, "move", 5, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_IRObject::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_IRObject*)this)->
      _impl_IRObject::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CORBA::_impl_Contained::_ptrToInterface(const char* id)
{
  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::_impl_Contained*) this;
  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::_impl_IRObject*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::_impl_Contained*) this;
  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::_impl_IRObject*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CORBA::_impl_Contained::_mostDerivedRepoId()
{
  return ::CORBA::Contained::_PD_repoId;
}

void
CORBA::Initializer::operator>>= (cdrStream &_n) const
{
  (const StructMemberSeq&) members >>= _n;
  _n.marshalString(name,0);

}

void
CORBA::Initializer::operator<<= (cdrStream &_n)
{
  (StructMemberSeq&)members <<= _n;
  name = _n.unmarshalString(0);

}

void
CORBA::Container::Description::operator>>= (cdrStream &_n) const
{
  Contained::_marshalObjRef(contained_object,_n);
  kind >>= _n;
  (const ::CORBA::Any&) value >>= _n;

}

void
CORBA::Container::Description::operator<<= (cdrStream &_n)
{
  contained_object = Contained::_unmarshalObjRef(_n);
  (DefinitionKind&)kind <<= _n;
  (::CORBA::Any&)value <<= _n;

}

CORBA::Container_ptr CORBA::Container_Helper::_nil() {
  return ::CORBA::Container::_nil();
}

::CORBA::Boolean CORBA::Container_Helper::is_nil(::CORBA::Container_ptr p) {
  return ::CORBA::is_nil(p);

}

void CORBA::Container_Helper::release(::CORBA::Container_ptr p) {
  ::CORBA::release(p);
}

void CORBA::Container_Helper::marshalObjRef(::CORBA::Container_ptr obj, cdrStream& s) {
  ::CORBA::Container::_marshalObjRef(obj, s);
}

CORBA::Container_ptr CORBA::Container_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CORBA::Container::_unmarshalObjRef(s);
}

void CORBA::Container_Helper::duplicate(::CORBA::Container_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CORBA::Container_ptr
CORBA::Container::_duplicate(::CORBA::Container_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CORBA::Container_ptr
CORBA::Container::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CORBA::Container_ptr
CORBA::Container::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CORBA::Container_ptr
CORBA::Container::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_Container _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_Container* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_Container;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CORBA::Container::_PD_repoId = "IDL:omg.org/CORBA/Container:1.0";


CORBA::_objref_Container::~_objref_Container() {
  
}


CORBA::_objref_Container::_objref_Container(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CORBA::Container::_PD_repoId, ior, id, 1),
   _objref_IRObject(ior, id)
   
{
  _PR_setobj(this);
}

void*
CORBA::_objref_Container::_ptrToObjRef(const char* id)
{
  if (id == ::CORBA::Container::_PD_repoId)
    return (::CORBA::Container_ptr) this;
  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::IRObject_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CORBA::Container::_PD_repoId))
    return (::CORBA::Container_ptr) this;
  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::IRObject_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CORBA::Container::lookup

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mContained_i_cstring
class _0RL_cd_7963219a43724a61_51000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_51000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::String_var arg_0_;
  const char* arg_0;
  CORBA::Contained_var result;
};

void _0RL_cd_7963219a43724a61_51000000::marshalArguments(cdrStream& _n)
{
  _n.marshalString(arg_0,0);

}

void _0RL_cd_7963219a43724a61_51000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = _n.unmarshalString(0);
  arg_0 = arg_0_.in();

}

void _0RL_cd_7963219a43724a61_51000000::marshalReturnedValues(cdrStream& _n)
{
  CORBA::Contained::_marshalObjRef(result,_n);

}

void _0RL_cd_7963219a43724a61_51000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CORBA::Contained::_unmarshalObjRef(_n);

}

const char* const _0RL_cd_7963219a43724a61_51000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_61000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_51000000* tcd = (_0RL_cd_7963219a43724a61_51000000*)cd;
  CORBA::_impl_Container* impl = (CORBA::_impl_Container*) svnt->_ptrToInterface(CORBA::Container::_PD_repoId);
  tcd->result = impl->lookup(tcd->arg_0);


}

CORBA::Contained_ptr CORBA::_objref_Container::lookup(const char* search_name)
{
  _0RL_cd_7963219a43724a61_51000000 _call_desc(_0RL_lcfn_7963219a43724a61_61000000, "lookup", 7);
  _call_desc.arg_0 = search_name;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Container::contents

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mContainedSeq_i_cCORBA_mDefinitionKind_i_cboolean
class _0RL_cd_7963219a43724a61_71000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_71000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  CORBA::DefinitionKind arg_0;
  ::CORBA::Boolean arg_1;
  CORBA::ContainedSeq_var result;
};

void _0RL_cd_7963219a43724a61_71000000::marshalArguments(cdrStream& _n)
{
  arg_0 >>= _n;
  _n.marshalBoolean(arg_1);

}

void _0RL_cd_7963219a43724a61_71000000::unmarshalArguments(cdrStream& _n)
{
  (CORBA::DefinitionKind&)arg_0 <<= _n;
  arg_1 = _n.unmarshalBoolean();

}

void _0RL_cd_7963219a43724a61_71000000::marshalReturnedValues(cdrStream& _n)
{
  (const CORBA::ContainedSeq&) result >>= _n;

}

void _0RL_cd_7963219a43724a61_71000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = new CORBA::ContainedSeq;
  (CORBA::ContainedSeq&)result <<= _n;

}

const char* const _0RL_cd_7963219a43724a61_71000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_81000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_71000000* tcd = (_0RL_cd_7963219a43724a61_71000000*)cd;
  CORBA::_impl_Container* impl = (CORBA::_impl_Container*) svnt->_ptrToInterface(CORBA::Container::_PD_repoId);
  tcd->result = impl->contents(tcd->arg_0, tcd->arg_1);


}

CORBA::ContainedSeq* CORBA::_objref_Container::contents(::CORBA::DefinitionKind limit_type, ::CORBA::Boolean exclude_inherited)
{
  _0RL_cd_7963219a43724a61_71000000 _call_desc(_0RL_lcfn_7963219a43724a61_81000000, "contents", 9);
  _call_desc.arg_0 = limit_type;
  _call_desc.arg_1 = exclude_inherited;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Container::lookup_name

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mContainedSeq_i_cstring_i_clong_i_cCORBA_mDefinitionKind_i_cboolean
class _0RL_cd_7963219a43724a61_91000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_91000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::String_var arg_0_;
  const char* arg_0;
  ::CORBA::Long arg_1;
  CORBA::DefinitionKind arg_2;
  ::CORBA::Boolean arg_3;
  CORBA::ContainedSeq_var result;
};

void _0RL_cd_7963219a43724a61_91000000::marshalArguments(cdrStream& _n)
{
  _n.marshalString(arg_0,0);
  arg_1 >>= _n;
  arg_2 >>= _n;
  _n.marshalBoolean(arg_3);

}

void _0RL_cd_7963219a43724a61_91000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = _n.unmarshalString(0);
  arg_0 = arg_0_.in();
  (::CORBA::Long&)arg_1 <<= _n;
  (CORBA::DefinitionKind&)arg_2 <<= _n;
  arg_3 = _n.unmarshalBoolean();

}

void _0RL_cd_7963219a43724a61_91000000::marshalReturnedValues(cdrStream& _n)
{
  (const CORBA::ContainedSeq&) result >>= _n;

}

void _0RL_cd_7963219a43724a61_91000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = new CORBA::ContainedSeq;
  (CORBA::ContainedSeq&)result <<= _n;

}

const char* const _0RL_cd_7963219a43724a61_91000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_a1000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_91000000* tcd = (_0RL_cd_7963219a43724a61_91000000*)cd;
  CORBA::_impl_Container* impl = (CORBA::_impl_Container*) svnt->_ptrToInterface(CORBA::Container::_PD_repoId);
  tcd->result = impl->lookup_name(tcd->arg_0, tcd->arg_1, tcd->arg_2, tcd->arg_3);


}

CORBA::ContainedSeq* CORBA::_objref_Container::lookup_name(const char* search_name, ::CORBA::Long levels_to_search, ::CORBA::DefinitionKind limit_type, ::CORBA::Boolean exclude_inherited)
{
  _0RL_cd_7963219a43724a61_91000000 _call_desc(_0RL_lcfn_7963219a43724a61_a1000000, "lookup_name", 12);
  _call_desc.arg_0 = search_name;
  _call_desc.arg_1 = levels_to_search;
  _call_desc.arg_2 = limit_type;
  _call_desc.arg_3 = exclude_inherited;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Container::describe_contents

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mContainer_mDescriptionSeq_i_cCORBA_mDefinitionKind_i_cboolean_i_clong
class _0RL_cd_7963219a43724a61_b1000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_b1000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  CORBA::DefinitionKind arg_0;
  ::CORBA::Boolean arg_1;
  ::CORBA::Long arg_2;
  CORBA::Container::DescriptionSeq_var result;
};

void _0RL_cd_7963219a43724a61_b1000000::marshalArguments(cdrStream& _n)
{
  arg_0 >>= _n;
  _n.marshalBoolean(arg_1);
  arg_2 >>= _n;

}

void _0RL_cd_7963219a43724a61_b1000000::unmarshalArguments(cdrStream& _n)
{
  (CORBA::DefinitionKind&)arg_0 <<= _n;
  arg_1 = _n.unmarshalBoolean();
  (::CORBA::Long&)arg_2 <<= _n;

}

void _0RL_cd_7963219a43724a61_b1000000::marshalReturnedValues(cdrStream& _n)
{
  (const CORBA::Container::DescriptionSeq&) result >>= _n;

}

void _0RL_cd_7963219a43724a61_b1000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = new CORBA::Container::DescriptionSeq;
  (CORBA::Container::DescriptionSeq&)result <<= _n;

}

const char* const _0RL_cd_7963219a43724a61_b1000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_c1000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_b1000000* tcd = (_0RL_cd_7963219a43724a61_b1000000*)cd;
  CORBA::_impl_Container* impl = (CORBA::_impl_Container*) svnt->_ptrToInterface(CORBA::Container::_PD_repoId);
  tcd->result = impl->describe_contents(tcd->arg_0, tcd->arg_1, tcd->arg_2);


}

CORBA::Container::DescriptionSeq* CORBA::_objref_Container::describe_contents(::CORBA::DefinitionKind limit_type, ::CORBA::Boolean exclude_inherited, ::CORBA::Long max_returned_objs)
{
  _0RL_cd_7963219a43724a61_b1000000 _call_desc(_0RL_lcfn_7963219a43724a61_c1000000, "describe_contents", 18);
  _call_desc.arg_0 = limit_type;
  _call_desc.arg_1 = exclude_inherited;
  _call_desc.arg_2 = max_returned_objs;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Container::create_module

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mModuleDef_i_cstring_i_cstring_i_cstring
class _0RL_cd_7963219a43724a61_d1000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_d1000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::String_var arg_0_;
  const char* arg_0;
  ::CORBA::String_var arg_1_;
  const char* arg_1;
  ::CORBA::String_var arg_2_;
  const char* arg_2;
  CORBA::ModuleDef_var result;
};

void _0RL_cd_7963219a43724a61_d1000000::marshalArguments(cdrStream& _n)
{
  _n.marshalString(arg_0,0);
  _n.marshalString(arg_1,0);
  _n.marshalString(arg_2,0);

}

void _0RL_cd_7963219a43724a61_d1000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = _n.unmarshalString(0);
  arg_0 = arg_0_.in();
  arg_1_ = _n.unmarshalString(0);
  arg_1 = arg_1_.in();
  arg_2_ = _n.unmarshalString(0);
  arg_2 = arg_2_.in();

}

void _0RL_cd_7963219a43724a61_d1000000::marshalReturnedValues(cdrStream& _n)
{
  CORBA::ModuleDef_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_7963219a43724a61_d1000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CORBA::ModuleDef_Helper::unmarshalObjRef(_n);

}

const char* const _0RL_cd_7963219a43724a61_d1000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_e1000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_d1000000* tcd = (_0RL_cd_7963219a43724a61_d1000000*)cd;
  CORBA::_impl_Container* impl = (CORBA::_impl_Container*) svnt->_ptrToInterface(CORBA::Container::_PD_repoId);
  tcd->result = impl->create_module(tcd->arg_0, tcd->arg_1, tcd->arg_2);


}

CORBA::ModuleDef_ptr CORBA::_objref_Container::create_module(const char* id, const char* name, const char* version)
{
  _0RL_cd_7963219a43724a61_d1000000 _call_desc(_0RL_lcfn_7963219a43724a61_e1000000, "create_module", 14);
  _call_desc.arg_0 = id;
  _call_desc.arg_1 = name;
  _call_desc.arg_2 = version;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Container::create_constant

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mConstantDef_i_cstring_i_cstring_i_cstring_i_cCORBA_mIDLType_i_cany
class _0RL_cd_7963219a43724a61_f1000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_f1000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::String_var arg_0_;
  const char* arg_0;
  ::CORBA::String_var arg_1_;
  const char* arg_1;
  ::CORBA::String_var arg_2_;
  const char* arg_2;
  CORBA::IDLType_var arg_3_;
  CORBA::IDLType_ptr arg_3;
  ::CORBA::Any_var arg_4_;
  const ::CORBA::Any* arg_4;
  CORBA::ConstantDef_var result;
};

void _0RL_cd_7963219a43724a61_f1000000::marshalArguments(cdrStream& _n)
{
  _n.marshalString(arg_0,0);
  _n.marshalString(arg_1,0);
  _n.marshalString(arg_2,0);
  CORBA::IDLType_Helper::marshalObjRef(arg_3,_n);
  (const ::CORBA::Any&) *arg_4 >>= _n;

}

void _0RL_cd_7963219a43724a61_f1000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = _n.unmarshalString(0);
  arg_0 = arg_0_.in();
  arg_1_ = _n.unmarshalString(0);
  arg_1 = arg_1_.in();
  arg_2_ = _n.unmarshalString(0);
  arg_2 = arg_2_.in();
  arg_3_ = CORBA::IDLType_Helper::unmarshalObjRef(_n);
  arg_3 = arg_3_.in();
  arg_4_ = new ::CORBA::Any;
  (::CORBA::Any&)arg_4_ <<= _n;
  arg_4 = &arg_4_.in();

}

void _0RL_cd_7963219a43724a61_f1000000::marshalReturnedValues(cdrStream& _n)
{
  CORBA::ConstantDef_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_7963219a43724a61_f1000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CORBA::ConstantDef_Helper::unmarshalObjRef(_n);

}

const char* const _0RL_cd_7963219a43724a61_f1000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_02000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_f1000000* tcd = (_0RL_cd_7963219a43724a61_f1000000*)cd;
  CORBA::_impl_Container* impl = (CORBA::_impl_Container*) svnt->_ptrToInterface(CORBA::Container::_PD_repoId);
  tcd->result = impl->create_constant(tcd->arg_0, tcd->arg_1, tcd->arg_2, tcd->arg_3, *tcd->arg_4);


}

CORBA::ConstantDef_ptr CORBA::_objref_Container::create_constant(const char* id, const char* name, const char* version, ::CORBA::IDLType_ptr type, const ::CORBA::Any& value)
{
  _0RL_cd_7963219a43724a61_f1000000 _call_desc(_0RL_lcfn_7963219a43724a61_02000000, "create_constant", 16);
  _call_desc.arg_0 = id;
  _call_desc.arg_1 = name;
  _call_desc.arg_2 = version;
  _call_desc.arg_3 = type;
  _call_desc.arg_4 = &(::CORBA::Any&) value;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Container::create_struct

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mStructDef_i_cstring_i_cstring_i_cstring_i_cCORBA_mStructMemberSeq
class _0RL_cd_7963219a43724a61_12000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_12000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::String_var arg_0_;
  const char* arg_0;
  ::CORBA::String_var arg_1_;
  const char* arg_1;
  ::CORBA::String_var arg_2_;
  const char* arg_2;
  CORBA::StructMemberSeq_var arg_3_;
  const CORBA::StructMemberSeq* arg_3;
  CORBA::StructDef_var result;
};

void _0RL_cd_7963219a43724a61_12000000::marshalArguments(cdrStream& _n)
{
  _n.marshalString(arg_0,0);
  _n.marshalString(arg_1,0);
  _n.marshalString(arg_2,0);
  (const CORBA::StructMemberSeq&) *arg_3 >>= _n;

}

void _0RL_cd_7963219a43724a61_12000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = _n.unmarshalString(0);
  arg_0 = arg_0_.in();
  arg_1_ = _n.unmarshalString(0);
  arg_1 = arg_1_.in();
  arg_2_ = _n.unmarshalString(0);
  arg_2 = arg_2_.in();
  arg_3_ = new CORBA::StructMemberSeq;
  (CORBA::StructMemberSeq&)arg_3_ <<= _n;
  arg_3 = &arg_3_.in();

}

void _0RL_cd_7963219a43724a61_12000000::marshalReturnedValues(cdrStream& _n)
{
  CORBA::StructDef_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_7963219a43724a61_12000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CORBA::StructDef_Helper::unmarshalObjRef(_n);

}

const char* const _0RL_cd_7963219a43724a61_12000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_22000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_12000000* tcd = (_0RL_cd_7963219a43724a61_12000000*)cd;
  CORBA::_impl_Container* impl = (CORBA::_impl_Container*) svnt->_ptrToInterface(CORBA::Container::_PD_repoId);
  tcd->result = impl->create_struct(tcd->arg_0, tcd->arg_1, tcd->arg_2, *tcd->arg_3);


}

CORBA::StructDef_ptr CORBA::_objref_Container::create_struct(const char* id, const char* name, const char* version, const ::CORBA::StructMemberSeq& members)
{
  _0RL_cd_7963219a43724a61_12000000 _call_desc(_0RL_lcfn_7963219a43724a61_22000000, "create_struct", 14);
  _call_desc.arg_0 = id;
  _call_desc.arg_1 = name;
  _call_desc.arg_2 = version;
  _call_desc.arg_3 = &(::CORBA::StructMemberSeq&) members;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Container::create_union

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mUnionDef_i_cstring_i_cstring_i_cstring_i_cCORBA_mIDLType_i_cCORBA_mUnionMemberSeq
class _0RL_cd_7963219a43724a61_32000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_32000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::String_var arg_0_;
  const char* arg_0;
  ::CORBA::String_var arg_1_;
  const char* arg_1;
  ::CORBA::String_var arg_2_;
  const char* arg_2;
  CORBA::IDLType_var arg_3_;
  CORBA::IDLType_ptr arg_3;
  CORBA::UnionMemberSeq_var arg_4_;
  const CORBA::UnionMemberSeq* arg_4;
  CORBA::UnionDef_var result;
};

void _0RL_cd_7963219a43724a61_32000000::marshalArguments(cdrStream& _n)
{
  _n.marshalString(arg_0,0);
  _n.marshalString(arg_1,0);
  _n.marshalString(arg_2,0);
  CORBA::IDLType_Helper::marshalObjRef(arg_3,_n);
  (const CORBA::UnionMemberSeq&) *arg_4 >>= _n;

}

void _0RL_cd_7963219a43724a61_32000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = _n.unmarshalString(0);
  arg_0 = arg_0_.in();
  arg_1_ = _n.unmarshalString(0);
  arg_1 = arg_1_.in();
  arg_2_ = _n.unmarshalString(0);
  arg_2 = arg_2_.in();
  arg_3_ = CORBA::IDLType_Helper::unmarshalObjRef(_n);
  arg_3 = arg_3_.in();
  arg_4_ = new CORBA::UnionMemberSeq;
  (CORBA::UnionMemberSeq&)arg_4_ <<= _n;
  arg_4 = &arg_4_.in();

}

void _0RL_cd_7963219a43724a61_32000000::marshalReturnedValues(cdrStream& _n)
{
  CORBA::UnionDef_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_7963219a43724a61_32000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CORBA::UnionDef_Helper::unmarshalObjRef(_n);

}

const char* const _0RL_cd_7963219a43724a61_32000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_42000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_32000000* tcd = (_0RL_cd_7963219a43724a61_32000000*)cd;
  CORBA::_impl_Container* impl = (CORBA::_impl_Container*) svnt->_ptrToInterface(CORBA::Container::_PD_repoId);
  tcd->result = impl->create_union(tcd->arg_0, tcd->arg_1, tcd->arg_2, tcd->arg_3, *tcd->arg_4);


}

CORBA::UnionDef_ptr CORBA::_objref_Container::create_union(const char* id, const char* name, const char* version, ::CORBA::IDLType_ptr discriminator_type, const ::CORBA::UnionMemberSeq& members)
{
  _0RL_cd_7963219a43724a61_32000000 _call_desc(_0RL_lcfn_7963219a43724a61_42000000, "create_union", 13);
  _call_desc.arg_0 = id;
  _call_desc.arg_1 = name;
  _call_desc.arg_2 = version;
  _call_desc.arg_3 = discriminator_type;
  _call_desc.arg_4 = &(::CORBA::UnionMemberSeq&) members;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Container::create_enum

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mEnumDef_i_cstring_i_cstring_i_cstring_i_cCORBA_mEnumMemberSeq
class _0RL_cd_7963219a43724a61_52000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_52000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::String_var arg_0_;
  const char* arg_0;
  ::CORBA::String_var arg_1_;
  const char* arg_1;
  ::CORBA::String_var arg_2_;
  const char* arg_2;
  CORBA::EnumMemberSeq_var arg_3_;
  const CORBA::EnumMemberSeq* arg_3;
  CORBA::EnumDef_var result;
};

void _0RL_cd_7963219a43724a61_52000000::marshalArguments(cdrStream& _n)
{
  _n.marshalString(arg_0,0);
  _n.marshalString(arg_1,0);
  _n.marshalString(arg_2,0);
  (const CORBA::EnumMemberSeq&) *arg_3 >>= _n;

}

void _0RL_cd_7963219a43724a61_52000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = _n.unmarshalString(0);
  arg_0 = arg_0_.in();
  arg_1_ = _n.unmarshalString(0);
  arg_1 = arg_1_.in();
  arg_2_ = _n.unmarshalString(0);
  arg_2 = arg_2_.in();
  arg_3_ = new CORBA::EnumMemberSeq;
  (CORBA::EnumMemberSeq&)arg_3_ <<= _n;
  arg_3 = &arg_3_.in();

}

void _0RL_cd_7963219a43724a61_52000000::marshalReturnedValues(cdrStream& _n)
{
  CORBA::EnumDef_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_7963219a43724a61_52000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CORBA::EnumDef_Helper::unmarshalObjRef(_n);

}

const char* const _0RL_cd_7963219a43724a61_52000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_62000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_52000000* tcd = (_0RL_cd_7963219a43724a61_52000000*)cd;
  CORBA::_impl_Container* impl = (CORBA::_impl_Container*) svnt->_ptrToInterface(CORBA::Container::_PD_repoId);
  tcd->result = impl->create_enum(tcd->arg_0, tcd->arg_1, tcd->arg_2, *tcd->arg_3);


}

CORBA::EnumDef_ptr CORBA::_objref_Container::create_enum(const char* id, const char* name, const char* version, const ::CORBA::EnumMemberSeq& members)
{
  _0RL_cd_7963219a43724a61_52000000 _call_desc(_0RL_lcfn_7963219a43724a61_62000000, "create_enum", 12);
  _call_desc.arg_0 = id;
  _call_desc.arg_1 = name;
  _call_desc.arg_2 = version;
  _call_desc.arg_3 = &(::CORBA::EnumMemberSeq&) members;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Container::create_alias

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mAliasDef_i_cstring_i_cstring_i_cstring_i_cCORBA_mIDLType
class _0RL_cd_7963219a43724a61_72000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_72000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::String_var arg_0_;
  const char* arg_0;
  ::CORBA::String_var arg_1_;
  const char* arg_1;
  ::CORBA::String_var arg_2_;
  const char* arg_2;
  CORBA::IDLType_var arg_3_;
  CORBA::IDLType_ptr arg_3;
  CORBA::AliasDef_var result;
};

void _0RL_cd_7963219a43724a61_72000000::marshalArguments(cdrStream& _n)
{
  _n.marshalString(arg_0,0);
  _n.marshalString(arg_1,0);
  _n.marshalString(arg_2,0);
  CORBA::IDLType_Helper::marshalObjRef(arg_3,_n);

}

void _0RL_cd_7963219a43724a61_72000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = _n.unmarshalString(0);
  arg_0 = arg_0_.in();
  arg_1_ = _n.unmarshalString(0);
  arg_1 = arg_1_.in();
  arg_2_ = _n.unmarshalString(0);
  arg_2 = arg_2_.in();
  arg_3_ = CORBA::IDLType_Helper::unmarshalObjRef(_n);
  arg_3 = arg_3_.in();

}

void _0RL_cd_7963219a43724a61_72000000::marshalReturnedValues(cdrStream& _n)
{
  CORBA::AliasDef_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_7963219a43724a61_72000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CORBA::AliasDef_Helper::unmarshalObjRef(_n);

}

const char* const _0RL_cd_7963219a43724a61_72000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_82000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_72000000* tcd = (_0RL_cd_7963219a43724a61_72000000*)cd;
  CORBA::_impl_Container* impl = (CORBA::_impl_Container*) svnt->_ptrToInterface(CORBA::Container::_PD_repoId);
  tcd->result = impl->create_alias(tcd->arg_0, tcd->arg_1, tcd->arg_2, tcd->arg_3);


}

CORBA::AliasDef_ptr CORBA::_objref_Container::create_alias(const char* id, const char* name, const char* version, ::CORBA::IDLType_ptr original_type)
{
  _0RL_cd_7963219a43724a61_72000000 _call_desc(_0RL_lcfn_7963219a43724a61_82000000, "create_alias", 13);
  _call_desc.arg_0 = id;
  _call_desc.arg_1 = name;
  _call_desc.arg_2 = version;
  _call_desc.arg_3 = original_type;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Container::create_interface

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mInterfaceDef_i_cstring_i_cstring_i_cstring_i_cCORBA_mInterfaceDefSeq
class _0RL_cd_7963219a43724a61_92000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_92000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::String_var arg_0_;
  const char* arg_0;
  ::CORBA::String_var arg_1_;
  const char* arg_1;
  ::CORBA::String_var arg_2_;
  const char* arg_2;
  CORBA::InterfaceDefSeq_var arg_3_;
  const CORBA::InterfaceDefSeq* arg_3;
  CORBA::InterfaceDef_var result;
};

void _0RL_cd_7963219a43724a61_92000000::marshalArguments(cdrStream& _n)
{
  _n.marshalString(arg_0,0);
  _n.marshalString(arg_1,0);
  _n.marshalString(arg_2,0);
  (const CORBA::InterfaceDefSeq&) *arg_3 >>= _n;

}

void _0RL_cd_7963219a43724a61_92000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = _n.unmarshalString(0);
  arg_0 = arg_0_.in();
  arg_1_ = _n.unmarshalString(0);
  arg_1 = arg_1_.in();
  arg_2_ = _n.unmarshalString(0);
  arg_2 = arg_2_.in();
  arg_3_ = new CORBA::InterfaceDefSeq;
  (CORBA::InterfaceDefSeq&)arg_3_ <<= _n;
  arg_3 = &arg_3_.in();

}

void _0RL_cd_7963219a43724a61_92000000::marshalReturnedValues(cdrStream& _n)
{
  CORBA::InterfaceDef_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_7963219a43724a61_92000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CORBA::InterfaceDef_Helper::unmarshalObjRef(_n);

}

const char* const _0RL_cd_7963219a43724a61_92000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_a2000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_92000000* tcd = (_0RL_cd_7963219a43724a61_92000000*)cd;
  CORBA::_impl_Container* impl = (CORBA::_impl_Container*) svnt->_ptrToInterface(CORBA::Container::_PD_repoId);
  tcd->result = impl->create_interface(tcd->arg_0, tcd->arg_1, tcd->arg_2, *tcd->arg_3);


}

CORBA::InterfaceDef_ptr CORBA::_objref_Container::create_interface(const char* id, const char* name, const char* version, const ::CORBA::InterfaceDefSeq& base_interfaces)
{
  _0RL_cd_7963219a43724a61_92000000 _call_desc(_0RL_lcfn_7963219a43724a61_a2000000, "create_interface", 17);
  _call_desc.arg_0 = id;
  _call_desc.arg_1 = name;
  _call_desc.arg_2 = version;
  _call_desc.arg_3 = &(::CORBA::InterfaceDefSeq&) base_interfaces;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Container::create_value

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mValueDef_i_cstring_i_cstring_i_cstring_i_cboolean_i_cboolean_i_cCORBA_mValueDef_i_cboolean_i_cCORBA_mValueDefSeq_i_cCORBA_mInterfaceDefSeq_i_cCORBA_mInitializerSeq
class _0RL_cd_7963219a43724a61_b2000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_b2000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::String_var arg_0_;
  const char* arg_0;
  ::CORBA::String_var arg_1_;
  const char* arg_1;
  ::CORBA::String_var arg_2_;
  const char* arg_2;
  ::CORBA::Boolean arg_3;
  ::CORBA::Boolean arg_4;
  CORBA::ValueDef_var arg_5_;
  CORBA::ValueDef_ptr arg_5;
  ::CORBA::Boolean arg_6;
  CORBA::ValueDefSeq_var arg_7_;
  const CORBA::ValueDefSeq* arg_7;
  CORBA::InterfaceDefSeq_var arg_8_;
  const CORBA::InterfaceDefSeq* arg_8;
  CORBA::InitializerSeq_var arg_9_;
  const CORBA::InitializerSeq* arg_9;
  CORBA::ValueDef_var result;
};

void _0RL_cd_7963219a43724a61_b2000000::marshalArguments(cdrStream& _n)
{
  _n.marshalString(arg_0,0);
  _n.marshalString(arg_1,0);
  _n.marshalString(arg_2,0);
  _n.marshalBoolean(arg_3);
  _n.marshalBoolean(arg_4);
  CORBA::ValueDef_Helper::marshalObjRef(arg_5,_n);
  _n.marshalBoolean(arg_6);
  (const CORBA::ValueDefSeq&) *arg_7 >>= _n;
  (const CORBA::InterfaceDefSeq&) *arg_8 >>= _n;
  (const CORBA::InitializerSeq&) *arg_9 >>= _n;

}

void _0RL_cd_7963219a43724a61_b2000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = _n.unmarshalString(0);
  arg_0 = arg_0_.in();
  arg_1_ = _n.unmarshalString(0);
  arg_1 = arg_1_.in();
  arg_2_ = _n.unmarshalString(0);
  arg_2 = arg_2_.in();
  arg_3 = _n.unmarshalBoolean();
  arg_4 = _n.unmarshalBoolean();
  arg_5_ = CORBA::ValueDef_Helper::unmarshalObjRef(_n);
  arg_5 = arg_5_.in();
  arg_6 = _n.unmarshalBoolean();
  arg_7_ = new CORBA::ValueDefSeq;
  (CORBA::ValueDefSeq&)arg_7_ <<= _n;
  arg_7 = &arg_7_.in();
  arg_8_ = new CORBA::InterfaceDefSeq;
  (CORBA::InterfaceDefSeq&)arg_8_ <<= _n;
  arg_8 = &arg_8_.in();
  arg_9_ = new CORBA::InitializerSeq;
  (CORBA::InitializerSeq&)arg_9_ <<= _n;
  arg_9 = &arg_9_.in();

}

void _0RL_cd_7963219a43724a61_b2000000::marshalReturnedValues(cdrStream& _n)
{
  CORBA::ValueDef_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_7963219a43724a61_b2000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CORBA::ValueDef_Helper::unmarshalObjRef(_n);

}

const char* const _0RL_cd_7963219a43724a61_b2000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_c2000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_b2000000* tcd = (_0RL_cd_7963219a43724a61_b2000000*)cd;
  CORBA::_impl_Container* impl = (CORBA::_impl_Container*) svnt->_ptrToInterface(CORBA::Container::_PD_repoId);
  tcd->result = impl->create_value(tcd->arg_0, tcd->arg_1, tcd->arg_2, tcd->arg_3, tcd->arg_4, tcd->arg_5, tcd->arg_6, *tcd->arg_7, *tcd->arg_8, *tcd->arg_9);


}

CORBA::ValueDef_ptr CORBA::_objref_Container::create_value(const char* id, const char* name, const char* version, ::CORBA::Boolean is_custom, ::CORBA::Boolean is_abstract, ::CORBA::ValueDef_ptr base_value, ::CORBA::Boolean is_truncatable, const ::CORBA::ValueDefSeq& abstract_base_values, const ::CORBA::InterfaceDefSeq& supported_interfaces, const ::CORBA::InitializerSeq& initializers)
{
  _0RL_cd_7963219a43724a61_b2000000 _call_desc(_0RL_lcfn_7963219a43724a61_c2000000, "create_value", 13);
  _call_desc.arg_0 = id;
  _call_desc.arg_1 = name;
  _call_desc.arg_2 = version;
  _call_desc.arg_3 = is_custom;
  _call_desc.arg_4 = is_abstract;
  _call_desc.arg_5 = base_value;
  _call_desc.arg_6 = is_truncatable;
  _call_desc.arg_7 = &(::CORBA::ValueDefSeq&) abstract_base_values;
  _call_desc.arg_8 = &(::CORBA::InterfaceDefSeq&) supported_interfaces;
  _call_desc.arg_9 = &(::CORBA::InitializerSeq&) initializers;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Container::create_value_box

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mValueBoxDef_i_cstring_i_cstring_i_cstring_i_cCORBA_mIDLType
class _0RL_cd_7963219a43724a61_d2000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_d2000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::String_var arg_0_;
  const char* arg_0;
  ::CORBA::String_var arg_1_;
  const char* arg_1;
  ::CORBA::String_var arg_2_;
  const char* arg_2;
  CORBA::IDLType_var arg_3_;
  CORBA::IDLType_ptr arg_3;
  CORBA::ValueBoxDef_var result;
};

void _0RL_cd_7963219a43724a61_d2000000::marshalArguments(cdrStream& _n)
{
  _n.marshalString(arg_0,0);
  _n.marshalString(arg_1,0);
  _n.marshalString(arg_2,0);
  CORBA::IDLType_Helper::marshalObjRef(arg_3,_n);

}

void _0RL_cd_7963219a43724a61_d2000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = _n.unmarshalString(0);
  arg_0 = arg_0_.in();
  arg_1_ = _n.unmarshalString(0);
  arg_1 = arg_1_.in();
  arg_2_ = _n.unmarshalString(0);
  arg_2 = arg_2_.in();
  arg_3_ = CORBA::IDLType_Helper::unmarshalObjRef(_n);
  arg_3 = arg_3_.in();

}

void _0RL_cd_7963219a43724a61_d2000000::marshalReturnedValues(cdrStream& _n)
{
  CORBA::ValueBoxDef_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_7963219a43724a61_d2000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CORBA::ValueBoxDef_Helper::unmarshalObjRef(_n);

}

const char* const _0RL_cd_7963219a43724a61_d2000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_e2000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_d2000000* tcd = (_0RL_cd_7963219a43724a61_d2000000*)cd;
  CORBA::_impl_Container* impl = (CORBA::_impl_Container*) svnt->_ptrToInterface(CORBA::Container::_PD_repoId);
  tcd->result = impl->create_value_box(tcd->arg_0, tcd->arg_1, tcd->arg_2, tcd->arg_3);


}

CORBA::ValueBoxDef_ptr CORBA::_objref_Container::create_value_box(const char* id, const char* name, const char* version, ::CORBA::IDLType_ptr original_type_def)
{
  _0RL_cd_7963219a43724a61_d2000000 _call_desc(_0RL_lcfn_7963219a43724a61_e2000000, "create_value_box", 17);
  _call_desc.arg_0 = id;
  _call_desc.arg_1 = name;
  _call_desc.arg_2 = version;
  _call_desc.arg_3 = original_type_def;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Container::create_exception

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mExceptionDef_i_cstring_i_cstring_i_cstring_i_cCORBA_mStructMemberSeq
class _0RL_cd_7963219a43724a61_f2000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_f2000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::String_var arg_0_;
  const char* arg_0;
  ::CORBA::String_var arg_1_;
  const char* arg_1;
  ::CORBA::String_var arg_2_;
  const char* arg_2;
  CORBA::StructMemberSeq_var arg_3_;
  const CORBA::StructMemberSeq* arg_3;
  CORBA::ExceptionDef_var result;
};

void _0RL_cd_7963219a43724a61_f2000000::marshalArguments(cdrStream& _n)
{
  _n.marshalString(arg_0,0);
  _n.marshalString(arg_1,0);
  _n.marshalString(arg_2,0);
  (const CORBA::StructMemberSeq&) *arg_3 >>= _n;

}

void _0RL_cd_7963219a43724a61_f2000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = _n.unmarshalString(0);
  arg_0 = arg_0_.in();
  arg_1_ = _n.unmarshalString(0);
  arg_1 = arg_1_.in();
  arg_2_ = _n.unmarshalString(0);
  arg_2 = arg_2_.in();
  arg_3_ = new CORBA::StructMemberSeq;
  (CORBA::StructMemberSeq&)arg_3_ <<= _n;
  arg_3 = &arg_3_.in();

}

void _0RL_cd_7963219a43724a61_f2000000::marshalReturnedValues(cdrStream& _n)
{
  CORBA::ExceptionDef_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_7963219a43724a61_f2000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CORBA::ExceptionDef_Helper::unmarshalObjRef(_n);

}

const char* const _0RL_cd_7963219a43724a61_f2000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_03000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_f2000000* tcd = (_0RL_cd_7963219a43724a61_f2000000*)cd;
  CORBA::_impl_Container* impl = (CORBA::_impl_Container*) svnt->_ptrToInterface(CORBA::Container::_PD_repoId);
  tcd->result = impl->create_exception(tcd->arg_0, tcd->arg_1, tcd->arg_2, *tcd->arg_3);


}

CORBA::ExceptionDef_ptr CORBA::_objref_Container::create_exception(const char* id, const char* name, const char* version, const ::CORBA::StructMemberSeq& members)
{
  _0RL_cd_7963219a43724a61_f2000000 _call_desc(_0RL_lcfn_7963219a43724a61_03000000, "create_exception", 17);
  _call_desc.arg_0 = id;
  _call_desc.arg_1 = name;
  _call_desc.arg_2 = version;
  _call_desc.arg_3 = &(::CORBA::StructMemberSeq&) members;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Container::create_native

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mNativeDef_i_cstring_i_cstring_i_cstring
class _0RL_cd_7963219a43724a61_13000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_13000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::String_var arg_0_;
  const char* arg_0;
  ::CORBA::String_var arg_1_;
  const char* arg_1;
  ::CORBA::String_var arg_2_;
  const char* arg_2;
  CORBA::NativeDef_var result;
};

void _0RL_cd_7963219a43724a61_13000000::marshalArguments(cdrStream& _n)
{
  _n.marshalString(arg_0,0);
  _n.marshalString(arg_1,0);
  _n.marshalString(arg_2,0);

}

void _0RL_cd_7963219a43724a61_13000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = _n.unmarshalString(0);
  arg_0 = arg_0_.in();
  arg_1_ = _n.unmarshalString(0);
  arg_1 = arg_1_.in();
  arg_2_ = _n.unmarshalString(0);
  arg_2 = arg_2_.in();

}

void _0RL_cd_7963219a43724a61_13000000::marshalReturnedValues(cdrStream& _n)
{
  CORBA::NativeDef_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_7963219a43724a61_13000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CORBA::NativeDef_Helper::unmarshalObjRef(_n);

}

const char* const _0RL_cd_7963219a43724a61_13000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_23000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_13000000* tcd = (_0RL_cd_7963219a43724a61_13000000*)cd;
  CORBA::_impl_Container* impl = (CORBA::_impl_Container*) svnt->_ptrToInterface(CORBA::Container::_PD_repoId);
  tcd->result = impl->create_native(tcd->arg_0, tcd->arg_1, tcd->arg_2);


}

CORBA::NativeDef_ptr CORBA::_objref_Container::create_native(const char* id, const char* name, const char* version)
{
  _0RL_cd_7963219a43724a61_13000000 _call_desc(_0RL_lcfn_7963219a43724a61_23000000, "create_native", 14);
  _call_desc.arg_0 = id;
  _call_desc.arg_1 = name;
  _call_desc.arg_2 = version;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Container::create_abstract_interface

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mAbstractInterfaceDef_i_cstring_i_cstring_i_cstring_i_cCORBA_mAbstractInterfaceDefSeq
class _0RL_cd_7963219a43724a61_33000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_33000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::String_var arg_0_;
  const char* arg_0;
  ::CORBA::String_var arg_1_;
  const char* arg_1;
  ::CORBA::String_var arg_2_;
  const char* arg_2;
  CORBA::AbstractInterfaceDefSeq_var arg_3_;
  const CORBA::AbstractInterfaceDefSeq* arg_3;
  CORBA::AbstractInterfaceDef_var result;
};

void _0RL_cd_7963219a43724a61_33000000::marshalArguments(cdrStream& _n)
{
  _n.marshalString(arg_0,0);
  _n.marshalString(arg_1,0);
  _n.marshalString(arg_2,0);
  (const CORBA::AbstractInterfaceDefSeq&) *arg_3 >>= _n;

}

void _0RL_cd_7963219a43724a61_33000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = _n.unmarshalString(0);
  arg_0 = arg_0_.in();
  arg_1_ = _n.unmarshalString(0);
  arg_1 = arg_1_.in();
  arg_2_ = _n.unmarshalString(0);
  arg_2 = arg_2_.in();
  arg_3_ = new CORBA::AbstractInterfaceDefSeq;
  (CORBA::AbstractInterfaceDefSeq&)arg_3_ <<= _n;
  arg_3 = &arg_3_.in();

}

void _0RL_cd_7963219a43724a61_33000000::marshalReturnedValues(cdrStream& _n)
{
  CORBA::AbstractInterfaceDef_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_7963219a43724a61_33000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CORBA::AbstractInterfaceDef_Helper::unmarshalObjRef(_n);

}

const char* const _0RL_cd_7963219a43724a61_33000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_43000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_33000000* tcd = (_0RL_cd_7963219a43724a61_33000000*)cd;
  CORBA::_impl_Container* impl = (CORBA::_impl_Container*) svnt->_ptrToInterface(CORBA::Container::_PD_repoId);
  tcd->result = impl->create_abstract_interface(tcd->arg_0, tcd->arg_1, tcd->arg_2, *tcd->arg_3);


}

CORBA::AbstractInterfaceDef_ptr CORBA::_objref_Container::create_abstract_interface(const char* id, const char* name, const char* version, const ::CORBA::AbstractInterfaceDefSeq& base_interfaces)
{
  _0RL_cd_7963219a43724a61_33000000 _call_desc(_0RL_lcfn_7963219a43724a61_43000000, "create_abstract_interface", 26);
  _call_desc.arg_0 = id;
  _call_desc.arg_1 = name;
  _call_desc.arg_2 = version;
  _call_desc.arg_3 = &(::CORBA::AbstractInterfaceDefSeq&) base_interfaces;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}

CORBA::_pof_Container::~_pof_Container() {}


omniObjRef*
CORBA::_pof_Container::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CORBA::_objref_Container(ior, id);
}


::CORBA::Boolean
CORBA::_pof_Container::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CORBA::Container::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CORBA::IRObject::_PD_repoId))
    return 1;


  return 0;
}

const CORBA::_pof_Container _the_pof_CORBA_mContainer;

CORBA::_impl_Container::~_impl_Container() {}


::CORBA::Boolean
CORBA::_impl_Container::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "lookup")) {

    _0RL_cd_7963219a43724a61_51000000 _call_desc(_0RL_lcfn_7963219a43724a61_61000000, "lookup", 7, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "contents")) {

    _0RL_cd_7963219a43724a61_71000000 _call_desc(_0RL_lcfn_7963219a43724a61_81000000, "contents", 9, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "lookup_name")) {

    _0RL_cd_7963219a43724a61_91000000 _call_desc(_0RL_lcfn_7963219a43724a61_a1000000, "lookup_name", 12, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "describe_contents")) {

    _0RL_cd_7963219a43724a61_b1000000 _call_desc(_0RL_lcfn_7963219a43724a61_c1000000, "describe_contents", 18, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "create_module")) {

    _0RL_cd_7963219a43724a61_d1000000 _call_desc(_0RL_lcfn_7963219a43724a61_e1000000, "create_module", 14, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "create_constant")) {

    _0RL_cd_7963219a43724a61_f1000000 _call_desc(_0RL_lcfn_7963219a43724a61_02000000, "create_constant", 16, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "create_struct")) {

    _0RL_cd_7963219a43724a61_12000000 _call_desc(_0RL_lcfn_7963219a43724a61_22000000, "create_struct", 14, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "create_union")) {

    _0RL_cd_7963219a43724a61_32000000 _call_desc(_0RL_lcfn_7963219a43724a61_42000000, "create_union", 13, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "create_enum")) {

    _0RL_cd_7963219a43724a61_52000000 _call_desc(_0RL_lcfn_7963219a43724a61_62000000, "create_enum", 12, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "create_alias")) {

    _0RL_cd_7963219a43724a61_72000000 _call_desc(_0RL_lcfn_7963219a43724a61_82000000, "create_alias", 13, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "create_interface")) {

    _0RL_cd_7963219a43724a61_92000000 _call_desc(_0RL_lcfn_7963219a43724a61_a2000000, "create_interface", 17, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "create_value")) {

    _0RL_cd_7963219a43724a61_b2000000 _call_desc(_0RL_lcfn_7963219a43724a61_c2000000, "create_value", 13, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "create_value_box")) {

    _0RL_cd_7963219a43724a61_d2000000 _call_desc(_0RL_lcfn_7963219a43724a61_e2000000, "create_value_box", 17, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "create_exception")) {

    _0RL_cd_7963219a43724a61_f2000000 _call_desc(_0RL_lcfn_7963219a43724a61_03000000, "create_exception", 17, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "create_native")) {

    _0RL_cd_7963219a43724a61_13000000 _call_desc(_0RL_lcfn_7963219a43724a61_23000000, "create_native", 14, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "create_abstract_interface")) {

    _0RL_cd_7963219a43724a61_33000000 _call_desc(_0RL_lcfn_7963219a43724a61_43000000, "create_abstract_interface", 26, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_IRObject::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_IRObject*)this)->
      _impl_IRObject::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CORBA::_impl_Container::_ptrToInterface(const char* id)
{
  if (id == ::CORBA::Container::_PD_repoId)
    return (::CORBA::_impl_Container*) this;
  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::_impl_IRObject*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CORBA::Container::_PD_repoId))
    return (::CORBA::_impl_Container*) this;
  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::_impl_IRObject*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CORBA::_impl_Container::_mostDerivedRepoId()
{
  return ::CORBA::Container::_PD_repoId;
}

CORBA::IDLType_ptr CORBA::IDLType_Helper::_nil() {
  return ::CORBA::IDLType::_nil();
}

::CORBA::Boolean CORBA::IDLType_Helper::is_nil(::CORBA::IDLType_ptr p) {
  return ::CORBA::is_nil(p);

}

void CORBA::IDLType_Helper::release(::CORBA::IDLType_ptr p) {
  ::CORBA::release(p);
}

void CORBA::IDLType_Helper::marshalObjRef(::CORBA::IDLType_ptr obj, cdrStream& s) {
  ::CORBA::IDLType::_marshalObjRef(obj, s);
}

CORBA::IDLType_ptr CORBA::IDLType_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CORBA::IDLType::_unmarshalObjRef(s);
}

void CORBA::IDLType_Helper::duplicate(::CORBA::IDLType_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CORBA::IDLType_ptr
CORBA::IDLType::_duplicate(::CORBA::IDLType_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CORBA::IDLType_ptr
CORBA::IDLType::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CORBA::IDLType_ptr
CORBA::IDLType::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CORBA::IDLType_ptr
CORBA::IDLType::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_IDLType _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_IDLType* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_IDLType;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CORBA::IDLType::_PD_repoId = "IDL:omg.org/CORBA/IDLType:1.0";


CORBA::_objref_IDLType::~_objref_IDLType() {
  
}


CORBA::_objref_IDLType::_objref_IDLType(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CORBA::IDLType::_PD_repoId, ior, id, 1),
   _objref_IRObject(ior, id)
   
{
  _PR_setobj(this);
}

void*
CORBA::_objref_IDLType::_ptrToObjRef(const char* id)
{
  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::IDLType_ptr) this;
  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::IRObject_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::IDLType_ptr) this;
  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::IRObject_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CORBA::IDLType::_get_type

// Proxy call descriptor class. Mangled signature:
//  _cTypeCode
class _0RL_cd_7963219a43724a61_53000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_53000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::TypeCode_var result;
};

void _0RL_cd_7963219a43724a61_53000000::marshalReturnedValues(cdrStream& _n)
{
  ::CORBA::TypeCode::marshalTypeCode(result,_n);

}

void _0RL_cd_7963219a43724a61_53000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = ::CORBA::TypeCode::unmarshalTypeCode(_n);

}

const char* const _0RL_cd_7963219a43724a61_53000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_63000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_53000000* tcd = (_0RL_cd_7963219a43724a61_53000000*)cd;
  CORBA::_impl_IDLType* impl = (CORBA::_impl_IDLType*) svnt->_ptrToInterface(CORBA::IDLType::_PD_repoId);
  tcd->result = impl->type();


}

::CORBA::TypeCode_ptr CORBA::_objref_IDLType::type()
{
  _0RL_cd_7963219a43724a61_53000000 _call_desc(_0RL_lcfn_7963219a43724a61_63000000, "_get_type", 10);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}

CORBA::_pof_IDLType::~_pof_IDLType() {}


omniObjRef*
CORBA::_pof_IDLType::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CORBA::_objref_IDLType(ior, id);
}


::CORBA::Boolean
CORBA::_pof_IDLType::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CORBA::IDLType::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CORBA::IRObject::_PD_repoId))
    return 1;


  return 0;
}

const CORBA::_pof_IDLType _the_pof_CORBA_mIDLType;

CORBA::_impl_IDLType::~_impl_IDLType() {}


::CORBA::Boolean
CORBA::_impl_IDLType::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "_get_type")) {

    _0RL_cd_7963219a43724a61_53000000 _call_desc(_0RL_lcfn_7963219a43724a61_63000000, "_get_type", 10, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_IRObject::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_IRObject*)this)->
      _impl_IRObject::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CORBA::_impl_IDLType::_ptrToInterface(const char* id)
{
  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::_impl_IDLType*) this;
  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::_impl_IRObject*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::_impl_IDLType*) this;
  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::_impl_IRObject*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CORBA::_impl_IDLType::_mostDerivedRepoId()
{
  return ::CORBA::IDLType::_PD_repoId;
}

CORBA::Repository_ptr CORBA::Repository_Helper::_nil() {
  return ::CORBA::Repository::_nil();
}

::CORBA::Boolean CORBA::Repository_Helper::is_nil(::CORBA::Repository_ptr p) {
  return ::CORBA::is_nil(p);

}

void CORBA::Repository_Helper::release(::CORBA::Repository_ptr p) {
  ::CORBA::release(p);
}

void CORBA::Repository_Helper::marshalObjRef(::CORBA::Repository_ptr obj, cdrStream& s) {
  ::CORBA::Repository::_marshalObjRef(obj, s);
}

CORBA::Repository_ptr CORBA::Repository_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CORBA::Repository::_unmarshalObjRef(s);
}

void CORBA::Repository_Helper::duplicate(::CORBA::Repository_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CORBA::Repository_ptr
CORBA::Repository::_duplicate(::CORBA::Repository_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CORBA::Repository_ptr
CORBA::Repository::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CORBA::Repository_ptr
CORBA::Repository::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CORBA::Repository_ptr
CORBA::Repository::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_Repository _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_Repository* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_Repository;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CORBA::Repository::_PD_repoId = "IDL:omg.org/CORBA/Repository:1.0";


CORBA::_objref_Repository::~_objref_Repository() {
  
}


CORBA::_objref_Repository::_objref_Repository(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CORBA::Repository::_PD_repoId, ior, id, 1),
   _objref_Container(ior, id)
   
{
  _PR_setobj(this);
}

void*
CORBA::_objref_Repository::_ptrToObjRef(const char* id)
{
  if (id == ::CORBA::Repository::_PD_repoId)
    return (::CORBA::Repository_ptr) this;
  if (id == ::CORBA::Container::_PD_repoId)
    return (::CORBA::Container_ptr) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::IRObject_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CORBA::Repository::_PD_repoId))
    return (::CORBA::Repository_ptr) this;
  if (omni::strMatch(id, ::CORBA::Container::_PD_repoId))
    return (::CORBA::Container_ptr) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::IRObject_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CORBA::Repository::lookup_id

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_73000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_51000000* tcd = (_0RL_cd_7963219a43724a61_51000000*)cd;
  CORBA::_impl_Repository* impl = (CORBA::_impl_Repository*) svnt->_ptrToInterface(CORBA::Repository::_PD_repoId);
  tcd->result = impl->lookup_id(tcd->arg_0);


}

CORBA::Contained_ptr CORBA::_objref_Repository::lookup_id(const char* search_id)
{
  _0RL_cd_7963219a43724a61_51000000 _call_desc(_0RL_lcfn_7963219a43724a61_73000000, "lookup_id", 10);
  _call_desc.arg_0 = search_id;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Repository::get_canonical_typecode

// Proxy call descriptor class. Mangled signature:
//  _cTypeCode_i_cTypeCode
class _0RL_cd_7963219a43724a61_83000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_83000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::TypeCode_var arg_0_;
  ::CORBA::TypeCode_ptr arg_0;
  ::CORBA::TypeCode_var result;
};

void _0RL_cd_7963219a43724a61_83000000::marshalArguments(cdrStream& _n)
{
  ::CORBA::TypeCode::marshalTypeCode(arg_0,_n);

}

void _0RL_cd_7963219a43724a61_83000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = ::CORBA::TypeCode::unmarshalTypeCode(_n);
  arg_0 = arg_0_.in();

}

void _0RL_cd_7963219a43724a61_83000000::marshalReturnedValues(cdrStream& _n)
{
  ::CORBA::TypeCode::marshalTypeCode(result,_n);

}

void _0RL_cd_7963219a43724a61_83000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = ::CORBA::TypeCode::unmarshalTypeCode(_n);

}

const char* const _0RL_cd_7963219a43724a61_83000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_93000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_83000000* tcd = (_0RL_cd_7963219a43724a61_83000000*)cd;
  CORBA::_impl_Repository* impl = (CORBA::_impl_Repository*) svnt->_ptrToInterface(CORBA::Repository::_PD_repoId);
  tcd->result = impl->get_canonical_typecode(tcd->arg_0);


}

::CORBA::TypeCode_ptr CORBA::_objref_Repository::get_canonical_typecode(::CORBA::TypeCode_ptr tc)
{
  _0RL_cd_7963219a43724a61_83000000 _call_desc(_0RL_lcfn_7963219a43724a61_93000000, "get_canonical_typecode", 23);
  _call_desc.arg_0 = tc;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Repository::get_primitive

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mPrimitiveDef_i_cCORBA_mPrimitiveKind
class _0RL_cd_7963219a43724a61_a3000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_a3000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  CORBA::PrimitiveKind arg_0;
  CORBA::PrimitiveDef_var result;
};

void _0RL_cd_7963219a43724a61_a3000000::marshalArguments(cdrStream& _n)
{
  arg_0 >>= _n;

}

void _0RL_cd_7963219a43724a61_a3000000::unmarshalArguments(cdrStream& _n)
{
  (CORBA::PrimitiveKind&)arg_0 <<= _n;

}

void _0RL_cd_7963219a43724a61_a3000000::marshalReturnedValues(cdrStream& _n)
{
  CORBA::PrimitiveDef_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_7963219a43724a61_a3000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CORBA::PrimitiveDef_Helper::unmarshalObjRef(_n);

}

const char* const _0RL_cd_7963219a43724a61_a3000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_b3000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_a3000000* tcd = (_0RL_cd_7963219a43724a61_a3000000*)cd;
  CORBA::_impl_Repository* impl = (CORBA::_impl_Repository*) svnt->_ptrToInterface(CORBA::Repository::_PD_repoId);
  tcd->result = impl->get_primitive(tcd->arg_0);


}

CORBA::PrimitiveDef_ptr CORBA::_objref_Repository::get_primitive(::CORBA::PrimitiveKind kind)
{
  _0RL_cd_7963219a43724a61_a3000000 _call_desc(_0RL_lcfn_7963219a43724a61_b3000000, "get_primitive", 14);
  _call_desc.arg_0 = kind;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Repository::create_string

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mStringDef_i_cunsigned_plong
class _0RL_cd_7963219a43724a61_c3000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_c3000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::ULong arg_0;
  CORBA::StringDef_var result;
};

void _0RL_cd_7963219a43724a61_c3000000::marshalArguments(cdrStream& _n)
{
  arg_0 >>= _n;

}

void _0RL_cd_7963219a43724a61_c3000000::unmarshalArguments(cdrStream& _n)
{
  (::CORBA::ULong&)arg_0 <<= _n;

}

void _0RL_cd_7963219a43724a61_c3000000::marshalReturnedValues(cdrStream& _n)
{
  CORBA::StringDef_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_7963219a43724a61_c3000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CORBA::StringDef_Helper::unmarshalObjRef(_n);

}

const char* const _0RL_cd_7963219a43724a61_c3000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_d3000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_c3000000* tcd = (_0RL_cd_7963219a43724a61_c3000000*)cd;
  CORBA::_impl_Repository* impl = (CORBA::_impl_Repository*) svnt->_ptrToInterface(CORBA::Repository::_PD_repoId);
  tcd->result = impl->create_string(tcd->arg_0);


}

CORBA::StringDef_ptr CORBA::_objref_Repository::create_string(::CORBA::ULong bound)
{
  _0RL_cd_7963219a43724a61_c3000000 _call_desc(_0RL_lcfn_7963219a43724a61_d3000000, "create_string", 14);
  _call_desc.arg_0 = bound;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Repository::create_wstring

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mWstringDef_i_cunsigned_plong
class _0RL_cd_7963219a43724a61_e3000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_e3000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::ULong arg_0;
  CORBA::WstringDef_var result;
};

void _0RL_cd_7963219a43724a61_e3000000::marshalArguments(cdrStream& _n)
{
  arg_0 >>= _n;

}

void _0RL_cd_7963219a43724a61_e3000000::unmarshalArguments(cdrStream& _n)
{
  (::CORBA::ULong&)arg_0 <<= _n;

}

void _0RL_cd_7963219a43724a61_e3000000::marshalReturnedValues(cdrStream& _n)
{
  CORBA::WstringDef_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_7963219a43724a61_e3000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CORBA::WstringDef_Helper::unmarshalObjRef(_n);

}

const char* const _0RL_cd_7963219a43724a61_e3000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_f3000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_e3000000* tcd = (_0RL_cd_7963219a43724a61_e3000000*)cd;
  CORBA::_impl_Repository* impl = (CORBA::_impl_Repository*) svnt->_ptrToInterface(CORBA::Repository::_PD_repoId);
  tcd->result = impl->create_wstring(tcd->arg_0);


}

CORBA::WstringDef_ptr CORBA::_objref_Repository::create_wstring(::CORBA::ULong bound)
{
  _0RL_cd_7963219a43724a61_e3000000 _call_desc(_0RL_lcfn_7963219a43724a61_f3000000, "create_wstring", 15);
  _call_desc.arg_0 = bound;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Repository::create_sequence

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mSequenceDef_i_cunsigned_plong_i_cCORBA_mIDLType
class _0RL_cd_7963219a43724a61_04000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_04000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::ULong arg_0;
  CORBA::IDLType_var arg_1_;
  CORBA::IDLType_ptr arg_1;
  CORBA::SequenceDef_var result;
};

void _0RL_cd_7963219a43724a61_04000000::marshalArguments(cdrStream& _n)
{
  arg_0 >>= _n;
  CORBA::IDLType_Helper::marshalObjRef(arg_1,_n);

}

void _0RL_cd_7963219a43724a61_04000000::unmarshalArguments(cdrStream& _n)
{
  (::CORBA::ULong&)arg_0 <<= _n;
  arg_1_ = CORBA::IDLType_Helper::unmarshalObjRef(_n);
  arg_1 = arg_1_.in();

}

void _0RL_cd_7963219a43724a61_04000000::marshalReturnedValues(cdrStream& _n)
{
  CORBA::SequenceDef_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_7963219a43724a61_04000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CORBA::SequenceDef_Helper::unmarshalObjRef(_n);

}

const char* const _0RL_cd_7963219a43724a61_04000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_14000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_04000000* tcd = (_0RL_cd_7963219a43724a61_04000000*)cd;
  CORBA::_impl_Repository* impl = (CORBA::_impl_Repository*) svnt->_ptrToInterface(CORBA::Repository::_PD_repoId);
  tcd->result = impl->create_sequence(tcd->arg_0, tcd->arg_1);


}

CORBA::SequenceDef_ptr CORBA::_objref_Repository::create_sequence(::CORBA::ULong bound, ::CORBA::IDLType_ptr element_type)
{
  _0RL_cd_7963219a43724a61_04000000 _call_desc(_0RL_lcfn_7963219a43724a61_14000000, "create_sequence", 16);
  _call_desc.arg_0 = bound;
  _call_desc.arg_1 = element_type;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Repository::create_array

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mArrayDef_i_cunsigned_plong_i_cCORBA_mIDLType
class _0RL_cd_7963219a43724a61_24000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_24000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::ULong arg_0;
  CORBA::IDLType_var arg_1_;
  CORBA::IDLType_ptr arg_1;
  CORBA::ArrayDef_var result;
};

void _0RL_cd_7963219a43724a61_24000000::marshalArguments(cdrStream& _n)
{
  arg_0 >>= _n;
  CORBA::IDLType_Helper::marshalObjRef(arg_1,_n);

}

void _0RL_cd_7963219a43724a61_24000000::unmarshalArguments(cdrStream& _n)
{
  (::CORBA::ULong&)arg_0 <<= _n;
  arg_1_ = CORBA::IDLType_Helper::unmarshalObjRef(_n);
  arg_1 = arg_1_.in();

}

void _0RL_cd_7963219a43724a61_24000000::marshalReturnedValues(cdrStream& _n)
{
  CORBA::ArrayDef_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_7963219a43724a61_24000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CORBA::ArrayDef_Helper::unmarshalObjRef(_n);

}

const char* const _0RL_cd_7963219a43724a61_24000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_34000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_24000000* tcd = (_0RL_cd_7963219a43724a61_24000000*)cd;
  CORBA::_impl_Repository* impl = (CORBA::_impl_Repository*) svnt->_ptrToInterface(CORBA::Repository::_PD_repoId);
  tcd->result = impl->create_array(tcd->arg_0, tcd->arg_1);


}

CORBA::ArrayDef_ptr CORBA::_objref_Repository::create_array(::CORBA::ULong length, ::CORBA::IDLType_ptr element_type)
{
  _0RL_cd_7963219a43724a61_24000000 _call_desc(_0RL_lcfn_7963219a43724a61_34000000, "create_array", 13);
  _call_desc.arg_0 = length;
  _call_desc.arg_1 = element_type;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::Repository::create_fixed

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mFixedDef_i_cunsigned_pshort_i_cshort
class _0RL_cd_7963219a43724a61_44000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_44000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::UShort arg_0;
  ::CORBA::Short arg_1;
  CORBA::FixedDef_var result;
};

void _0RL_cd_7963219a43724a61_44000000::marshalArguments(cdrStream& _n)
{
  arg_0 >>= _n;
  arg_1 >>= _n;

}

void _0RL_cd_7963219a43724a61_44000000::unmarshalArguments(cdrStream& _n)
{
  (::CORBA::UShort&)arg_0 <<= _n;
  (::CORBA::Short&)arg_1 <<= _n;

}

void _0RL_cd_7963219a43724a61_44000000::marshalReturnedValues(cdrStream& _n)
{
  CORBA::FixedDef_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_7963219a43724a61_44000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CORBA::FixedDef_Helper::unmarshalObjRef(_n);

}

const char* const _0RL_cd_7963219a43724a61_44000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_54000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_44000000* tcd = (_0RL_cd_7963219a43724a61_44000000*)cd;
  CORBA::_impl_Repository* impl = (CORBA::_impl_Repository*) svnt->_ptrToInterface(CORBA::Repository::_PD_repoId);
  tcd->result = impl->create_fixed(tcd->arg_0, tcd->arg_1);


}

CORBA::FixedDef_ptr CORBA::_objref_Repository::create_fixed(::CORBA::UShort digits, ::CORBA::Short scale)
{
  _0RL_cd_7963219a43724a61_44000000 _call_desc(_0RL_lcfn_7963219a43724a61_54000000, "create_fixed", 13);
  _call_desc.arg_0 = digits;
  _call_desc.arg_1 = scale;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}

CORBA::_pof_Repository::~_pof_Repository() {}


omniObjRef*
CORBA::_pof_Repository::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CORBA::_objref_Repository(ior, id);
}


::CORBA::Boolean
CORBA::_pof_Repository::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CORBA::Repository::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CORBA::Container::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IRObject::_PD_repoId))
    return 1;


  return 0;
}

const CORBA::_pof_Repository _the_pof_CORBA_mRepository;

CORBA::_impl_Repository::~_impl_Repository() {}


::CORBA::Boolean
CORBA::_impl_Repository::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "lookup_id")) {

    _0RL_cd_7963219a43724a61_51000000 _call_desc(_0RL_lcfn_7963219a43724a61_73000000, "lookup_id", 10, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "get_canonical_typecode")) {

    _0RL_cd_7963219a43724a61_83000000 _call_desc(_0RL_lcfn_7963219a43724a61_93000000, "get_canonical_typecode", 23, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "get_primitive")) {

    _0RL_cd_7963219a43724a61_a3000000 _call_desc(_0RL_lcfn_7963219a43724a61_b3000000, "get_primitive", 14, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "create_string")) {

    _0RL_cd_7963219a43724a61_c3000000 _call_desc(_0RL_lcfn_7963219a43724a61_d3000000, "create_string", 14, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "create_wstring")) {

    _0RL_cd_7963219a43724a61_e3000000 _call_desc(_0RL_lcfn_7963219a43724a61_f3000000, "create_wstring", 15, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "create_sequence")) {

    _0RL_cd_7963219a43724a61_04000000 _call_desc(_0RL_lcfn_7963219a43724a61_14000000, "create_sequence", 16, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "create_array")) {

    _0RL_cd_7963219a43724a61_24000000 _call_desc(_0RL_lcfn_7963219a43724a61_34000000, "create_array", 13, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "create_fixed")) {

    _0RL_cd_7963219a43724a61_44000000 _call_desc(_0RL_lcfn_7963219a43724a61_54000000, "create_fixed", 13, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_Container::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_Container*)this)->
      _impl_Container::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CORBA::_impl_Repository::_ptrToInterface(const char* id)
{
  if (id == ::CORBA::Repository::_PD_repoId)
    return (::CORBA::_impl_Repository*) this;
  if (id == ::CORBA::Container::_PD_repoId)
    return (::CORBA::_impl_Container*) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::_impl_IRObject*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CORBA::Repository::_PD_repoId))
    return (::CORBA::_impl_Repository*) this;
  if (omni::strMatch(id, ::CORBA::Container::_PD_repoId))
    return (::CORBA::_impl_Container*) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::_impl_IRObject*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CORBA::_impl_Repository::_mostDerivedRepoId()
{
  return ::CORBA::Repository::_PD_repoId;
}

CORBA::ModuleDef_ptr CORBA::ModuleDef_Helper::_nil() {
  return ::CORBA::ModuleDef::_nil();
}

::CORBA::Boolean CORBA::ModuleDef_Helper::is_nil(::CORBA::ModuleDef_ptr p) {
  return ::CORBA::is_nil(p);

}

void CORBA::ModuleDef_Helper::release(::CORBA::ModuleDef_ptr p) {
  ::CORBA::release(p);
}

void CORBA::ModuleDef_Helper::marshalObjRef(::CORBA::ModuleDef_ptr obj, cdrStream& s) {
  ::CORBA::ModuleDef::_marshalObjRef(obj, s);
}

CORBA::ModuleDef_ptr CORBA::ModuleDef_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CORBA::ModuleDef::_unmarshalObjRef(s);
}

void CORBA::ModuleDef_Helper::duplicate(::CORBA::ModuleDef_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CORBA::ModuleDef_ptr
CORBA::ModuleDef::_duplicate(::CORBA::ModuleDef_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CORBA::ModuleDef_ptr
CORBA::ModuleDef::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CORBA::ModuleDef_ptr
CORBA::ModuleDef::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CORBA::ModuleDef_ptr
CORBA::ModuleDef::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_ModuleDef _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_ModuleDef* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_ModuleDef;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CORBA::ModuleDef::_PD_repoId = "IDL:omg.org/CORBA/ModuleDef:1.0";


CORBA::_objref_ModuleDef::~_objref_ModuleDef() {
  
}


CORBA::_objref_ModuleDef::_objref_ModuleDef(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CORBA::ModuleDef::_PD_repoId, ior, id, 1),
   _objref_Container(ior, id),
   _objref_Contained(ior, id)
   
{
  _PR_setobj(this);
}

void*
CORBA::_objref_ModuleDef::_ptrToObjRef(const char* id)
{
  if (id == ::CORBA::ModuleDef::_PD_repoId)
    return (::CORBA::ModuleDef_ptr) this;
  if (id == ::CORBA::Container::_PD_repoId)
    return (::CORBA::Container_ptr) this;

  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::Contained_ptr) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::IRObject_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CORBA::ModuleDef::_PD_repoId))
    return (::CORBA::ModuleDef_ptr) this;
  if (omni::strMatch(id, ::CORBA::Container::_PD_repoId))
    return (::CORBA::Container_ptr) this;

  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::Contained_ptr) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::IRObject_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}

CORBA::_pof_ModuleDef::~_pof_ModuleDef() {}


omniObjRef*
CORBA::_pof_ModuleDef::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CORBA::_objref_ModuleDef(ior, id);
}


::CORBA::Boolean
CORBA::_pof_ModuleDef::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CORBA::ModuleDef::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CORBA::Container::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::Contained::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IRObject::_PD_repoId))
    return 1;


  return 0;
}

const CORBA::_pof_ModuleDef _the_pof_CORBA_mModuleDef;

CORBA::_impl_ModuleDef::~_impl_ModuleDef() {}


::CORBA::Boolean
CORBA::_impl_ModuleDef::_dispatch(omniCallHandle& _handle)
{
  

  
#ifndef _MSC_VER
  if (_impl_Container::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_Container*)this)->
      _impl_Container::_dispatch(_handle)) {
    return 1;
  }
#endif

  
#ifndef _MSC_VER
  if (_impl_Contained::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_Contained*)this)->
      _impl_Contained::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CORBA::_impl_ModuleDef::_ptrToInterface(const char* id)
{
  if (id == ::CORBA::ModuleDef::_PD_repoId)
    return (::CORBA::_impl_ModuleDef*) this;
  if (id == ::CORBA::Container::_PD_repoId)
    return (::CORBA::_impl_Container*) this;

  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::_impl_Contained*) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::_impl_IRObject*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CORBA::ModuleDef::_PD_repoId))
    return (::CORBA::_impl_ModuleDef*) this;
  if (omni::strMatch(id, ::CORBA::Container::_PD_repoId))
    return (::CORBA::_impl_Container*) this;

  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::_impl_Contained*) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::_impl_IRObject*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CORBA::_impl_ModuleDef::_mostDerivedRepoId()
{
  return ::CORBA::ModuleDef::_PD_repoId;
}

void
CORBA::ModuleDescription::operator>>= (cdrStream &_n) const
{
  _n.marshalString(name,0);
  _n.marshalString(id,0);
  _n.marshalString(defined_in,0);
  _n.marshalString(version,0);

}

void
CORBA::ModuleDescription::operator<<= (cdrStream &_n)
{
  name = _n.unmarshalString(0);
  id = _n.unmarshalString(0);
  defined_in = _n.unmarshalString(0);
  version = _n.unmarshalString(0);

}

CORBA::ConstantDef_ptr CORBA::ConstantDef_Helper::_nil() {
  return ::CORBA::ConstantDef::_nil();
}

::CORBA::Boolean CORBA::ConstantDef_Helper::is_nil(::CORBA::ConstantDef_ptr p) {
  return ::CORBA::is_nil(p);

}

void CORBA::ConstantDef_Helper::release(::CORBA::ConstantDef_ptr p) {
  ::CORBA::release(p);
}

void CORBA::ConstantDef_Helper::marshalObjRef(::CORBA::ConstantDef_ptr obj, cdrStream& s) {
  ::CORBA::ConstantDef::_marshalObjRef(obj, s);
}

CORBA::ConstantDef_ptr CORBA::ConstantDef_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CORBA::ConstantDef::_unmarshalObjRef(s);
}

void CORBA::ConstantDef_Helper::duplicate(::CORBA::ConstantDef_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CORBA::ConstantDef_ptr
CORBA::ConstantDef::_duplicate(::CORBA::ConstantDef_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CORBA::ConstantDef_ptr
CORBA::ConstantDef::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CORBA::ConstantDef_ptr
CORBA::ConstantDef::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CORBA::ConstantDef_ptr
CORBA::ConstantDef::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_ConstantDef _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_ConstantDef* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_ConstantDef;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CORBA::ConstantDef::_PD_repoId = "IDL:omg.org/CORBA/ConstantDef:1.0";


CORBA::_objref_ConstantDef::~_objref_ConstantDef() {
  
}


CORBA::_objref_ConstantDef::_objref_ConstantDef(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CORBA::ConstantDef::_PD_repoId, ior, id, 1),
   _objref_Contained(ior, id)
   
{
  _PR_setobj(this);
}

void*
CORBA::_objref_ConstantDef::_ptrToObjRef(const char* id)
{
  if (id == ::CORBA::ConstantDef::_PD_repoId)
    return (::CORBA::ConstantDef_ptr) this;
  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::Contained_ptr) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::IRObject_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CORBA::ConstantDef::_PD_repoId))
    return (::CORBA::ConstantDef_ptr) this;
  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::Contained_ptr) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::IRObject_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CORBA::ConstantDef::_get_type

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_64000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_53000000* tcd = (_0RL_cd_7963219a43724a61_53000000*)cd;
  CORBA::_impl_ConstantDef* impl = (CORBA::_impl_ConstantDef*) svnt->_ptrToInterface(CORBA::ConstantDef::_PD_repoId);
  tcd->result = impl->type();


}

::CORBA::TypeCode_ptr CORBA::_objref_ConstantDef::type()
{
  _0RL_cd_7963219a43724a61_53000000 _call_desc(_0RL_lcfn_7963219a43724a61_64000000, "_get_type", 10);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::ConstantDef::_get_type_def

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mIDLType
class _0RL_cd_7963219a43724a61_74000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_74000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  CORBA::IDLType_var result;
};

void _0RL_cd_7963219a43724a61_74000000::marshalReturnedValues(cdrStream& _n)
{
  CORBA::IDLType_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_7963219a43724a61_74000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CORBA::IDLType_Helper::unmarshalObjRef(_n);

}

const char* const _0RL_cd_7963219a43724a61_74000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_84000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_74000000* tcd = (_0RL_cd_7963219a43724a61_74000000*)cd;
  CORBA::_impl_ConstantDef* impl = (CORBA::_impl_ConstantDef*) svnt->_ptrToInterface(CORBA::ConstantDef::_PD_repoId);
  tcd->result = impl->type_def();


}

CORBA::IDLType_ptr CORBA::_objref_ConstantDef::type_def()
{
  _0RL_cd_7963219a43724a61_74000000 _call_desc(_0RL_lcfn_7963219a43724a61_84000000, "_get_type_def", 14);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::ConstantDef::_set_type_def

// Proxy call descriptor class. Mangled signature:
//  void_i_cCORBA_mIDLType
class _0RL_cd_7963219a43724a61_94000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_94000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

    
  
  static const char* const _user_exns[];

  CORBA::IDLType_var arg_0_;
  CORBA::IDLType_ptr arg_0;
};

void _0RL_cd_7963219a43724a61_94000000::marshalArguments(cdrStream& _n)
{
  CORBA::IDLType_Helper::marshalObjRef(arg_0,_n);

}

void _0RL_cd_7963219a43724a61_94000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = CORBA::IDLType_Helper::unmarshalObjRef(_n);
  arg_0 = arg_0_.in();

}

const char* const _0RL_cd_7963219a43724a61_94000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_a4000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_94000000* tcd = (_0RL_cd_7963219a43724a61_94000000*)cd;
  CORBA::_impl_ConstantDef* impl = (CORBA::_impl_ConstantDef*) svnt->_ptrToInterface(CORBA::ConstantDef::_PD_repoId);
  impl->type_def(tcd->arg_0);


}

void CORBA::_objref_ConstantDef::type_def(::CORBA::IDLType_ptr _v)
{
  _0RL_cd_7963219a43724a61_94000000 _call_desc(_0RL_lcfn_7963219a43724a61_a4000000, "_set_type_def", 14);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}


//
// Code for CORBA::ConstantDef::_get_value

// Proxy call descriptor class. Mangled signature:
//  _cany
class _0RL_cd_7963219a43724a61_b4000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_b4000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::Any_var result;
};

void _0RL_cd_7963219a43724a61_b4000000::marshalReturnedValues(cdrStream& _n)
{
  (const ::CORBA::Any&) result >>= _n;

}

void _0RL_cd_7963219a43724a61_b4000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = new ::CORBA::Any;
  (::CORBA::Any&)result <<= _n;

}

const char* const _0RL_cd_7963219a43724a61_b4000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_c4000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_b4000000* tcd = (_0RL_cd_7963219a43724a61_b4000000*)cd;
  CORBA::_impl_ConstantDef* impl = (CORBA::_impl_ConstantDef*) svnt->_ptrToInterface(CORBA::ConstantDef::_PD_repoId);
  tcd->result = impl->value();


}

::CORBA::Any* CORBA::_objref_ConstantDef::value()
{
  _0RL_cd_7963219a43724a61_b4000000 _call_desc(_0RL_lcfn_7963219a43724a61_c4000000, "_get_value", 11);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::ConstantDef::_set_value

// Proxy call descriptor class. Mangled signature:
//  void_i_cany
class _0RL_cd_7963219a43724a61_d4000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_d4000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

    
  
  static const char* const _user_exns[];

  ::CORBA::Any_var arg_0_;
  const ::CORBA::Any* arg_0;
};

void _0RL_cd_7963219a43724a61_d4000000::marshalArguments(cdrStream& _n)
{
  (const ::CORBA::Any&) *arg_0 >>= _n;

}

void _0RL_cd_7963219a43724a61_d4000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = new ::CORBA::Any;
  (::CORBA::Any&)arg_0_ <<= _n;
  arg_0 = &arg_0_.in();

}

const char* const _0RL_cd_7963219a43724a61_d4000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_e4000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_d4000000* tcd = (_0RL_cd_7963219a43724a61_d4000000*)cd;
  CORBA::_impl_ConstantDef* impl = (CORBA::_impl_ConstantDef*) svnt->_ptrToInterface(CORBA::ConstantDef::_PD_repoId);
  impl->value(*tcd->arg_0);


}

void CORBA::_objref_ConstantDef::value(const ::CORBA::Any& _v)
{
  _0RL_cd_7963219a43724a61_d4000000 _call_desc(_0RL_lcfn_7963219a43724a61_e4000000, "_set_value", 11);
  _call_desc.arg_0 = &(::CORBA::Any&) _v;

  _invoke(_call_desc);



}

CORBA::_pof_ConstantDef::~_pof_ConstantDef() {}


omniObjRef*
CORBA::_pof_ConstantDef::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CORBA::_objref_ConstantDef(ior, id);
}


::CORBA::Boolean
CORBA::_pof_ConstantDef::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CORBA::ConstantDef::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CORBA::Contained::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IRObject::_PD_repoId))
    return 1;


  return 0;
}

const CORBA::_pof_ConstantDef _the_pof_CORBA_mConstantDef;

CORBA::_impl_ConstantDef::~_impl_ConstantDef() {}


::CORBA::Boolean
CORBA::_impl_ConstantDef::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "_get_type")) {

    _0RL_cd_7963219a43724a61_53000000 _call_desc(_0RL_lcfn_7963219a43724a61_64000000, "_get_type", 10, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_type_def")) {

    _0RL_cd_7963219a43724a61_74000000 _call_desc(_0RL_lcfn_7963219a43724a61_84000000, "_get_type_def", 14, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_type_def")) {

    _0RL_cd_7963219a43724a61_94000000 _call_desc(_0RL_lcfn_7963219a43724a61_a4000000, "_set_type_def", 14, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_value")) {

    _0RL_cd_7963219a43724a61_b4000000 _call_desc(_0RL_lcfn_7963219a43724a61_c4000000, "_get_value", 11, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_value")) {

    _0RL_cd_7963219a43724a61_d4000000 _call_desc(_0RL_lcfn_7963219a43724a61_e4000000, "_set_value", 11, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_Contained::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_Contained*)this)->
      _impl_Contained::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CORBA::_impl_ConstantDef::_ptrToInterface(const char* id)
{
  if (id == ::CORBA::ConstantDef::_PD_repoId)
    return (::CORBA::_impl_ConstantDef*) this;
  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::_impl_Contained*) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::_impl_IRObject*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CORBA::ConstantDef::_PD_repoId))
    return (::CORBA::_impl_ConstantDef*) this;
  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::_impl_Contained*) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::_impl_IRObject*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CORBA::_impl_ConstantDef::_mostDerivedRepoId()
{
  return ::CORBA::ConstantDef::_PD_repoId;
}

void
CORBA::ConstantDescription::operator>>= (cdrStream &_n) const
{
  _n.marshalString(name,0);
  _n.marshalString(id,0);
  _n.marshalString(defined_in,0);
  _n.marshalString(version,0);
  ::CORBA::TypeCode::marshalTypeCode(type,_n);
  (const ::CORBA::Any&) value >>= _n;

}

void
CORBA::ConstantDescription::operator<<= (cdrStream &_n)
{
  name = _n.unmarshalString(0);
  id = _n.unmarshalString(0);
  defined_in = _n.unmarshalString(0);
  version = _n.unmarshalString(0);
  type = ::CORBA::TypeCode::unmarshalTypeCode(_n);
  (::CORBA::Any&)value <<= _n;

}

CORBA::TypedefDef_ptr CORBA::TypedefDef_Helper::_nil() {
  return ::CORBA::TypedefDef::_nil();
}

::CORBA::Boolean CORBA::TypedefDef_Helper::is_nil(::CORBA::TypedefDef_ptr p) {
  return ::CORBA::is_nil(p);

}

void CORBA::TypedefDef_Helper::release(::CORBA::TypedefDef_ptr p) {
  ::CORBA::release(p);
}

void CORBA::TypedefDef_Helper::marshalObjRef(::CORBA::TypedefDef_ptr obj, cdrStream& s) {
  ::CORBA::TypedefDef::_marshalObjRef(obj, s);
}

CORBA::TypedefDef_ptr CORBA::TypedefDef_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CORBA::TypedefDef::_unmarshalObjRef(s);
}

void CORBA::TypedefDef_Helper::duplicate(::CORBA::TypedefDef_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CORBA::TypedefDef_ptr
CORBA::TypedefDef::_duplicate(::CORBA::TypedefDef_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CORBA::TypedefDef_ptr
CORBA::TypedefDef::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CORBA::TypedefDef_ptr
CORBA::TypedefDef::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CORBA::TypedefDef_ptr
CORBA::TypedefDef::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_TypedefDef _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_TypedefDef* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_TypedefDef;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CORBA::TypedefDef::_PD_repoId = "IDL:omg.org/CORBA/TypedefDef:1.0";


CORBA::_objref_TypedefDef::~_objref_TypedefDef() {
  
}


CORBA::_objref_TypedefDef::_objref_TypedefDef(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CORBA::TypedefDef::_PD_repoId, ior, id, 1),
   _objref_Contained(ior, id),
   _objref_IDLType(ior, id)
   
{
  _PR_setobj(this);
}

void*
CORBA::_objref_TypedefDef::_ptrToObjRef(const char* id)
{
  if (id == ::CORBA::TypedefDef::_PD_repoId)
    return (::CORBA::TypedefDef_ptr) this;
  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::Contained_ptr) this;

  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::IDLType_ptr) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::IRObject_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CORBA::TypedefDef::_PD_repoId))
    return (::CORBA::TypedefDef_ptr) this;
  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::Contained_ptr) this;

  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::IDLType_ptr) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::IRObject_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}

CORBA::_pof_TypedefDef::~_pof_TypedefDef() {}


omniObjRef*
CORBA::_pof_TypedefDef::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CORBA::_objref_TypedefDef(ior, id);
}


::CORBA::Boolean
CORBA::_pof_TypedefDef::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CORBA::TypedefDef::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CORBA::Contained::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IDLType::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IRObject::_PD_repoId))
    return 1;


  return 0;
}

const CORBA::_pof_TypedefDef _the_pof_CORBA_mTypedefDef;

CORBA::_impl_TypedefDef::~_impl_TypedefDef() {}


::CORBA::Boolean
CORBA::_impl_TypedefDef::_dispatch(omniCallHandle& _handle)
{
  

  
#ifndef _MSC_VER
  if (_impl_Contained::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_Contained*)this)->
      _impl_Contained::_dispatch(_handle)) {
    return 1;
  }
#endif

  
#ifndef _MSC_VER
  if (_impl_IDLType::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_IDLType*)this)->
      _impl_IDLType::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CORBA::_impl_TypedefDef::_ptrToInterface(const char* id)
{
  if (id == ::CORBA::TypedefDef::_PD_repoId)
    return (::CORBA::_impl_TypedefDef*) this;
  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::_impl_Contained*) this;

  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::_impl_IDLType*) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::_impl_IRObject*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CORBA::TypedefDef::_PD_repoId))
    return (::CORBA::_impl_TypedefDef*) this;
  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::_impl_Contained*) this;

  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::_impl_IDLType*) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::_impl_IRObject*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CORBA::_impl_TypedefDef::_mostDerivedRepoId()
{
  return ::CORBA::TypedefDef::_PD_repoId;
}

void
CORBA::TypeDescription::operator>>= (cdrStream &_n) const
{
  _n.marshalString(name,0);
  _n.marshalString(id,0);
  _n.marshalString(defined_in,0);
  _n.marshalString(version,0);
  ::CORBA::TypeCode::marshalTypeCode(type,_n);

}

void
CORBA::TypeDescription::operator<<= (cdrStream &_n)
{
  name = _n.unmarshalString(0);
  id = _n.unmarshalString(0);
  defined_in = _n.unmarshalString(0);
  version = _n.unmarshalString(0);
  type = ::CORBA::TypeCode::unmarshalTypeCode(_n);

}

CORBA::StructDef_ptr CORBA::StructDef_Helper::_nil() {
  return ::CORBA::StructDef::_nil();
}

::CORBA::Boolean CORBA::StructDef_Helper::is_nil(::CORBA::StructDef_ptr p) {
  return ::CORBA::is_nil(p);

}

void CORBA::StructDef_Helper::release(::CORBA::StructDef_ptr p) {
  ::CORBA::release(p);
}

void CORBA::StructDef_Helper::marshalObjRef(::CORBA::StructDef_ptr obj, cdrStream& s) {
  ::CORBA::StructDef::_marshalObjRef(obj, s);
}

CORBA::StructDef_ptr CORBA::StructDef_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CORBA::StructDef::_unmarshalObjRef(s);
}

void CORBA::StructDef_Helper::duplicate(::CORBA::StructDef_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CORBA::StructDef_ptr
CORBA::StructDef::_duplicate(::CORBA::StructDef_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CORBA::StructDef_ptr
CORBA::StructDef::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CORBA::StructDef_ptr
CORBA::StructDef::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CORBA::StructDef_ptr
CORBA::StructDef::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_StructDef _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_StructDef* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_StructDef;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CORBA::StructDef::_PD_repoId = "IDL:omg.org/CORBA/StructDef:1.0";


CORBA::_objref_StructDef::~_objref_StructDef() {
  
}


CORBA::_objref_StructDef::_objref_StructDef(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CORBA::StructDef::_PD_repoId, ior, id, 1),
   _objref_TypedefDef(ior, id),
   _objref_Container(ior, id)
   
{
  _PR_setobj(this);
}

void*
CORBA::_objref_StructDef::_ptrToObjRef(const char* id)
{
  if (id == ::CORBA::StructDef::_PD_repoId)
    return (::CORBA::StructDef_ptr) this;
  if (id == ::CORBA::TypedefDef::_PD_repoId)
    return (::CORBA::TypedefDef_ptr) this;

  if (id == ::CORBA::Container::_PD_repoId)
    return (::CORBA::Container_ptr) this;

  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::Contained_ptr) this;

  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::IDLType_ptr) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::IRObject_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CORBA::StructDef::_PD_repoId))
    return (::CORBA::StructDef_ptr) this;
  if (omni::strMatch(id, ::CORBA::TypedefDef::_PD_repoId))
    return (::CORBA::TypedefDef_ptr) this;

  if (omni::strMatch(id, ::CORBA::Container::_PD_repoId))
    return (::CORBA::Container_ptr) this;

  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::Contained_ptr) this;

  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::IDLType_ptr) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::IRObject_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CORBA::StructDef::_get_members

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mStructMemberSeq
class _0RL_cd_7963219a43724a61_f4000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_f4000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  CORBA::StructMemberSeq_var result;
};

void _0RL_cd_7963219a43724a61_f4000000::marshalReturnedValues(cdrStream& _n)
{
  (const CORBA::StructMemberSeq&) result >>= _n;

}

void _0RL_cd_7963219a43724a61_f4000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = new CORBA::StructMemberSeq;
  (CORBA::StructMemberSeq&)result <<= _n;

}

const char* const _0RL_cd_7963219a43724a61_f4000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_05000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_f4000000* tcd = (_0RL_cd_7963219a43724a61_f4000000*)cd;
  CORBA::_impl_StructDef* impl = (CORBA::_impl_StructDef*) svnt->_ptrToInterface(CORBA::StructDef::_PD_repoId);
  tcd->result = impl->members();


}

CORBA::StructMemberSeq* CORBA::_objref_StructDef::members()
{
  _0RL_cd_7963219a43724a61_f4000000 _call_desc(_0RL_lcfn_7963219a43724a61_05000000, "_get_members", 13);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::StructDef::_set_members

// Proxy call descriptor class. Mangled signature:
//  void_i_cCORBA_mStructMemberSeq
class _0RL_cd_7963219a43724a61_15000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_15000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

    
  
  static const char* const _user_exns[];

  CORBA::StructMemberSeq_var arg_0_;
  const CORBA::StructMemberSeq* arg_0;
};

void _0RL_cd_7963219a43724a61_15000000::marshalArguments(cdrStream& _n)
{
  (const CORBA::StructMemberSeq&) *arg_0 >>= _n;

}

void _0RL_cd_7963219a43724a61_15000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = new CORBA::StructMemberSeq;
  (CORBA::StructMemberSeq&)arg_0_ <<= _n;
  arg_0 = &arg_0_.in();

}

const char* const _0RL_cd_7963219a43724a61_15000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_25000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_15000000* tcd = (_0RL_cd_7963219a43724a61_15000000*)cd;
  CORBA::_impl_StructDef* impl = (CORBA::_impl_StructDef*) svnt->_ptrToInterface(CORBA::StructDef::_PD_repoId);
  impl->members(*tcd->arg_0);


}

void CORBA::_objref_StructDef::members(const ::CORBA::StructMemberSeq& _v)
{
  _0RL_cd_7963219a43724a61_15000000 _call_desc(_0RL_lcfn_7963219a43724a61_25000000, "_set_members", 13);
  _call_desc.arg_0 = &(::CORBA::StructMemberSeq&) _v;

  _invoke(_call_desc);



}

CORBA::_pof_StructDef::~_pof_StructDef() {}


omniObjRef*
CORBA::_pof_StructDef::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CORBA::_objref_StructDef(ior, id);
}


::CORBA::Boolean
CORBA::_pof_StructDef::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CORBA::StructDef::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CORBA::TypedefDef::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::Container::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::Contained::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IDLType::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IRObject::_PD_repoId))
    return 1;


  return 0;
}

const CORBA::_pof_StructDef _the_pof_CORBA_mStructDef;

CORBA::_impl_StructDef::~_impl_StructDef() {}


::CORBA::Boolean
CORBA::_impl_StructDef::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "_get_members")) {

    _0RL_cd_7963219a43724a61_f4000000 _call_desc(_0RL_lcfn_7963219a43724a61_05000000, "_get_members", 13, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_members")) {

    _0RL_cd_7963219a43724a61_15000000 _call_desc(_0RL_lcfn_7963219a43724a61_25000000, "_set_members", 13, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_TypedefDef::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_TypedefDef*)this)->
      _impl_TypedefDef::_dispatch(_handle)) {
    return 1;
  }
#endif

  
#ifndef _MSC_VER
  if (_impl_Container::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_Container*)this)->
      _impl_Container::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CORBA::_impl_StructDef::_ptrToInterface(const char* id)
{
  if (id == ::CORBA::StructDef::_PD_repoId)
    return (::CORBA::_impl_StructDef*) this;
  if (id == ::CORBA::TypedefDef::_PD_repoId)
    return (::CORBA::_impl_TypedefDef*) this;

  if (id == ::CORBA::Container::_PD_repoId)
    return (::CORBA::_impl_Container*) this;

  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::_impl_Contained*) this;

  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::_impl_IDLType*) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::_impl_IRObject*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CORBA::StructDef::_PD_repoId))
    return (::CORBA::_impl_StructDef*) this;
  if (omni::strMatch(id, ::CORBA::TypedefDef::_PD_repoId))
    return (::CORBA::_impl_TypedefDef*) this;

  if (omni::strMatch(id, ::CORBA::Container::_PD_repoId))
    return (::CORBA::_impl_Container*) this;

  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::_impl_Contained*) this;

  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::_impl_IDLType*) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::_impl_IRObject*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CORBA::_impl_StructDef::_mostDerivedRepoId()
{
  return ::CORBA::StructDef::_PD_repoId;
}

CORBA::UnionDef_ptr CORBA::UnionDef_Helper::_nil() {
  return ::CORBA::UnionDef::_nil();
}

::CORBA::Boolean CORBA::UnionDef_Helper::is_nil(::CORBA::UnionDef_ptr p) {
  return ::CORBA::is_nil(p);

}

void CORBA::UnionDef_Helper::release(::CORBA::UnionDef_ptr p) {
  ::CORBA::release(p);
}

void CORBA::UnionDef_Helper::marshalObjRef(::CORBA::UnionDef_ptr obj, cdrStream& s) {
  ::CORBA::UnionDef::_marshalObjRef(obj, s);
}

CORBA::UnionDef_ptr CORBA::UnionDef_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CORBA::UnionDef::_unmarshalObjRef(s);
}

void CORBA::UnionDef_Helper::duplicate(::CORBA::UnionDef_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CORBA::UnionDef_ptr
CORBA::UnionDef::_duplicate(::CORBA::UnionDef_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CORBA::UnionDef_ptr
CORBA::UnionDef::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CORBA::UnionDef_ptr
CORBA::UnionDef::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CORBA::UnionDef_ptr
CORBA::UnionDef::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_UnionDef _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_UnionDef* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_UnionDef;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CORBA::UnionDef::_PD_repoId = "IDL:omg.org/CORBA/UnionDef:1.0";


CORBA::_objref_UnionDef::~_objref_UnionDef() {
  
}


CORBA::_objref_UnionDef::_objref_UnionDef(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CORBA::UnionDef::_PD_repoId, ior, id, 1),
   _objref_TypedefDef(ior, id),
   _objref_Container(ior, id)
   
{
  _PR_setobj(this);
}

void*
CORBA::_objref_UnionDef::_ptrToObjRef(const char* id)
{
  if (id == ::CORBA::UnionDef::_PD_repoId)
    return (::CORBA::UnionDef_ptr) this;
  if (id == ::CORBA::TypedefDef::_PD_repoId)
    return (::CORBA::TypedefDef_ptr) this;

  if (id == ::CORBA::Container::_PD_repoId)
    return (::CORBA::Container_ptr) this;

  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::Contained_ptr) this;

  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::IDLType_ptr) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::IRObject_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CORBA::UnionDef::_PD_repoId))
    return (::CORBA::UnionDef_ptr) this;
  if (omni::strMatch(id, ::CORBA::TypedefDef::_PD_repoId))
    return (::CORBA::TypedefDef_ptr) this;

  if (omni::strMatch(id, ::CORBA::Container::_PD_repoId))
    return (::CORBA::Container_ptr) this;

  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::Contained_ptr) this;

  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::IDLType_ptr) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::IRObject_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CORBA::UnionDef::_get_discriminator_type

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_35000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_53000000* tcd = (_0RL_cd_7963219a43724a61_53000000*)cd;
  CORBA::_impl_UnionDef* impl = (CORBA::_impl_UnionDef*) svnt->_ptrToInterface(CORBA::UnionDef::_PD_repoId);
  tcd->result = impl->discriminator_type();


}

::CORBA::TypeCode_ptr CORBA::_objref_UnionDef::discriminator_type()
{
  _0RL_cd_7963219a43724a61_53000000 _call_desc(_0RL_lcfn_7963219a43724a61_35000000, "_get_discriminator_type", 24);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::UnionDef::_get_discriminator_type_def

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_45000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_74000000* tcd = (_0RL_cd_7963219a43724a61_74000000*)cd;
  CORBA::_impl_UnionDef* impl = (CORBA::_impl_UnionDef*) svnt->_ptrToInterface(CORBA::UnionDef::_PD_repoId);
  tcd->result = impl->discriminator_type_def();


}

CORBA::IDLType_ptr CORBA::_objref_UnionDef::discriminator_type_def()
{
  _0RL_cd_7963219a43724a61_74000000 _call_desc(_0RL_lcfn_7963219a43724a61_45000000, "_get_discriminator_type_def", 28);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::UnionDef::_set_discriminator_type_def

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_55000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_94000000* tcd = (_0RL_cd_7963219a43724a61_94000000*)cd;
  CORBA::_impl_UnionDef* impl = (CORBA::_impl_UnionDef*) svnt->_ptrToInterface(CORBA::UnionDef::_PD_repoId);
  impl->discriminator_type_def(tcd->arg_0);


}

void CORBA::_objref_UnionDef::discriminator_type_def(::CORBA::IDLType_ptr _v)
{
  _0RL_cd_7963219a43724a61_94000000 _call_desc(_0RL_lcfn_7963219a43724a61_55000000, "_set_discriminator_type_def", 28);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}


//
// Code for CORBA::UnionDef::_get_members

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mUnionMemberSeq
class _0RL_cd_7963219a43724a61_65000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_65000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  CORBA::UnionMemberSeq_var result;
};

void _0RL_cd_7963219a43724a61_65000000::marshalReturnedValues(cdrStream& _n)
{
  (const CORBA::UnionMemberSeq&) result >>= _n;

}

void _0RL_cd_7963219a43724a61_65000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = new CORBA::UnionMemberSeq;
  (CORBA::UnionMemberSeq&)result <<= _n;

}

const char* const _0RL_cd_7963219a43724a61_65000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_75000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_65000000* tcd = (_0RL_cd_7963219a43724a61_65000000*)cd;
  CORBA::_impl_UnionDef* impl = (CORBA::_impl_UnionDef*) svnt->_ptrToInterface(CORBA::UnionDef::_PD_repoId);
  tcd->result = impl->members();


}

CORBA::UnionMemberSeq* CORBA::_objref_UnionDef::members()
{
  _0RL_cd_7963219a43724a61_65000000 _call_desc(_0RL_lcfn_7963219a43724a61_75000000, "_get_members", 13);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::UnionDef::_set_members

// Proxy call descriptor class. Mangled signature:
//  void_i_cCORBA_mUnionMemberSeq
class _0RL_cd_7963219a43724a61_85000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_85000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

    
  
  static const char* const _user_exns[];

  CORBA::UnionMemberSeq_var arg_0_;
  const CORBA::UnionMemberSeq* arg_0;
};

void _0RL_cd_7963219a43724a61_85000000::marshalArguments(cdrStream& _n)
{
  (const CORBA::UnionMemberSeq&) *arg_0 >>= _n;

}

void _0RL_cd_7963219a43724a61_85000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = new CORBA::UnionMemberSeq;
  (CORBA::UnionMemberSeq&)arg_0_ <<= _n;
  arg_0 = &arg_0_.in();

}

const char* const _0RL_cd_7963219a43724a61_85000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_95000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_85000000* tcd = (_0RL_cd_7963219a43724a61_85000000*)cd;
  CORBA::_impl_UnionDef* impl = (CORBA::_impl_UnionDef*) svnt->_ptrToInterface(CORBA::UnionDef::_PD_repoId);
  impl->members(*tcd->arg_0);


}

void CORBA::_objref_UnionDef::members(const ::CORBA::UnionMemberSeq& _v)
{
  _0RL_cd_7963219a43724a61_85000000 _call_desc(_0RL_lcfn_7963219a43724a61_95000000, "_set_members", 13);
  _call_desc.arg_0 = &(::CORBA::UnionMemberSeq&) _v;

  _invoke(_call_desc);



}

CORBA::_pof_UnionDef::~_pof_UnionDef() {}


omniObjRef*
CORBA::_pof_UnionDef::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CORBA::_objref_UnionDef(ior, id);
}


::CORBA::Boolean
CORBA::_pof_UnionDef::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CORBA::UnionDef::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CORBA::TypedefDef::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::Container::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::Contained::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IDLType::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IRObject::_PD_repoId))
    return 1;


  return 0;
}

const CORBA::_pof_UnionDef _the_pof_CORBA_mUnionDef;

CORBA::_impl_UnionDef::~_impl_UnionDef() {}


::CORBA::Boolean
CORBA::_impl_UnionDef::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "_get_discriminator_type")) {

    _0RL_cd_7963219a43724a61_53000000 _call_desc(_0RL_lcfn_7963219a43724a61_35000000, "_get_discriminator_type", 24, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_discriminator_type_def")) {

    _0RL_cd_7963219a43724a61_74000000 _call_desc(_0RL_lcfn_7963219a43724a61_45000000, "_get_discriminator_type_def", 28, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_discriminator_type_def")) {

    _0RL_cd_7963219a43724a61_94000000 _call_desc(_0RL_lcfn_7963219a43724a61_55000000, "_set_discriminator_type_def", 28, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_members")) {

    _0RL_cd_7963219a43724a61_65000000 _call_desc(_0RL_lcfn_7963219a43724a61_75000000, "_get_members", 13, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_members")) {

    _0RL_cd_7963219a43724a61_85000000 _call_desc(_0RL_lcfn_7963219a43724a61_95000000, "_set_members", 13, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_TypedefDef::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_TypedefDef*)this)->
      _impl_TypedefDef::_dispatch(_handle)) {
    return 1;
  }
#endif

  
#ifndef _MSC_VER
  if (_impl_Container::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_Container*)this)->
      _impl_Container::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CORBA::_impl_UnionDef::_ptrToInterface(const char* id)
{
  if (id == ::CORBA::UnionDef::_PD_repoId)
    return (::CORBA::_impl_UnionDef*) this;
  if (id == ::CORBA::TypedefDef::_PD_repoId)
    return (::CORBA::_impl_TypedefDef*) this;

  if (id == ::CORBA::Container::_PD_repoId)
    return (::CORBA::_impl_Container*) this;

  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::_impl_Contained*) this;

  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::_impl_IDLType*) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::_impl_IRObject*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CORBA::UnionDef::_PD_repoId))
    return (::CORBA::_impl_UnionDef*) this;
  if (omni::strMatch(id, ::CORBA::TypedefDef::_PD_repoId))
    return (::CORBA::_impl_TypedefDef*) this;

  if (omni::strMatch(id, ::CORBA::Container::_PD_repoId))
    return (::CORBA::_impl_Container*) this;

  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::_impl_Contained*) this;

  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::_impl_IDLType*) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::_impl_IRObject*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CORBA::_impl_UnionDef::_mostDerivedRepoId()
{
  return ::CORBA::UnionDef::_PD_repoId;
}

CORBA::EnumDef_ptr CORBA::EnumDef_Helper::_nil() {
  return ::CORBA::EnumDef::_nil();
}

::CORBA::Boolean CORBA::EnumDef_Helper::is_nil(::CORBA::EnumDef_ptr p) {
  return ::CORBA::is_nil(p);

}

void CORBA::EnumDef_Helper::release(::CORBA::EnumDef_ptr p) {
  ::CORBA::release(p);
}

void CORBA::EnumDef_Helper::marshalObjRef(::CORBA::EnumDef_ptr obj, cdrStream& s) {
  ::CORBA::EnumDef::_marshalObjRef(obj, s);
}

CORBA::EnumDef_ptr CORBA::EnumDef_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CORBA::EnumDef::_unmarshalObjRef(s);
}

void CORBA::EnumDef_Helper::duplicate(::CORBA::EnumDef_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CORBA::EnumDef_ptr
CORBA::EnumDef::_duplicate(::CORBA::EnumDef_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CORBA::EnumDef_ptr
CORBA::EnumDef::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CORBA::EnumDef_ptr
CORBA::EnumDef::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CORBA::EnumDef_ptr
CORBA::EnumDef::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_EnumDef _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_EnumDef* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_EnumDef;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CORBA::EnumDef::_PD_repoId = "IDL:omg.org/CORBA/EnumDef:1.0";


CORBA::_objref_EnumDef::~_objref_EnumDef() {
  
}


CORBA::_objref_EnumDef::_objref_EnumDef(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CORBA::EnumDef::_PD_repoId, ior, id, 1),
   _objref_TypedefDef(ior, id)
   
{
  _PR_setobj(this);
}

void*
CORBA::_objref_EnumDef::_ptrToObjRef(const char* id)
{
  if (id == ::CORBA::EnumDef::_PD_repoId)
    return (::CORBA::EnumDef_ptr) this;
  if (id == ::CORBA::TypedefDef::_PD_repoId)
    return (::CORBA::TypedefDef_ptr) this;

  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::Contained_ptr) this;

  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::IDLType_ptr) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::IRObject_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CORBA::EnumDef::_PD_repoId))
    return (::CORBA::EnumDef_ptr) this;
  if (omni::strMatch(id, ::CORBA::TypedefDef::_PD_repoId))
    return (::CORBA::TypedefDef_ptr) this;

  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::Contained_ptr) this;

  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::IDLType_ptr) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::IRObject_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CORBA::EnumDef::_get_members

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mEnumMemberSeq
class _0RL_cd_7963219a43724a61_a5000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_a5000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  CORBA::EnumMemberSeq_var result;
};

void _0RL_cd_7963219a43724a61_a5000000::marshalReturnedValues(cdrStream& _n)
{
  (const CORBA::EnumMemberSeq&) result >>= _n;

}

void _0RL_cd_7963219a43724a61_a5000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = new CORBA::EnumMemberSeq;
  (CORBA::EnumMemberSeq&)result <<= _n;

}

const char* const _0RL_cd_7963219a43724a61_a5000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_b5000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_a5000000* tcd = (_0RL_cd_7963219a43724a61_a5000000*)cd;
  CORBA::_impl_EnumDef* impl = (CORBA::_impl_EnumDef*) svnt->_ptrToInterface(CORBA::EnumDef::_PD_repoId);
  tcd->result = impl->members();


}

CORBA::EnumMemberSeq* CORBA::_objref_EnumDef::members()
{
  _0RL_cd_7963219a43724a61_a5000000 _call_desc(_0RL_lcfn_7963219a43724a61_b5000000, "_get_members", 13);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::EnumDef::_set_members

// Proxy call descriptor class. Mangled signature:
//  void_i_cCORBA_mEnumMemberSeq
class _0RL_cd_7963219a43724a61_c5000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_c5000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

    
  
  static const char* const _user_exns[];

  CORBA::EnumMemberSeq_var arg_0_;
  const CORBA::EnumMemberSeq* arg_0;
};

void _0RL_cd_7963219a43724a61_c5000000::marshalArguments(cdrStream& _n)
{
  (const CORBA::EnumMemberSeq&) *arg_0 >>= _n;

}

void _0RL_cd_7963219a43724a61_c5000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = new CORBA::EnumMemberSeq;
  (CORBA::EnumMemberSeq&)arg_0_ <<= _n;
  arg_0 = &arg_0_.in();

}

const char* const _0RL_cd_7963219a43724a61_c5000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_d5000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_c5000000* tcd = (_0RL_cd_7963219a43724a61_c5000000*)cd;
  CORBA::_impl_EnumDef* impl = (CORBA::_impl_EnumDef*) svnt->_ptrToInterface(CORBA::EnumDef::_PD_repoId);
  impl->members(*tcd->arg_0);


}

void CORBA::_objref_EnumDef::members(const ::CORBA::EnumMemberSeq& _v)
{
  _0RL_cd_7963219a43724a61_c5000000 _call_desc(_0RL_lcfn_7963219a43724a61_d5000000, "_set_members", 13);
  _call_desc.arg_0 = &(::CORBA::EnumMemberSeq&) _v;

  _invoke(_call_desc);



}

CORBA::_pof_EnumDef::~_pof_EnumDef() {}


omniObjRef*
CORBA::_pof_EnumDef::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CORBA::_objref_EnumDef(ior, id);
}


::CORBA::Boolean
CORBA::_pof_EnumDef::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CORBA::EnumDef::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CORBA::TypedefDef::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::Contained::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IDLType::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IRObject::_PD_repoId))
    return 1;


  return 0;
}

const CORBA::_pof_EnumDef _the_pof_CORBA_mEnumDef;

CORBA::_impl_EnumDef::~_impl_EnumDef() {}


::CORBA::Boolean
CORBA::_impl_EnumDef::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "_get_members")) {

    _0RL_cd_7963219a43724a61_a5000000 _call_desc(_0RL_lcfn_7963219a43724a61_b5000000, "_get_members", 13, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_members")) {

    _0RL_cd_7963219a43724a61_c5000000 _call_desc(_0RL_lcfn_7963219a43724a61_d5000000, "_set_members", 13, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_TypedefDef::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_TypedefDef*)this)->
      _impl_TypedefDef::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CORBA::_impl_EnumDef::_ptrToInterface(const char* id)
{
  if (id == ::CORBA::EnumDef::_PD_repoId)
    return (::CORBA::_impl_EnumDef*) this;
  if (id == ::CORBA::TypedefDef::_PD_repoId)
    return (::CORBA::_impl_TypedefDef*) this;

  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::_impl_Contained*) this;

  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::_impl_IDLType*) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::_impl_IRObject*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CORBA::EnumDef::_PD_repoId))
    return (::CORBA::_impl_EnumDef*) this;
  if (omni::strMatch(id, ::CORBA::TypedefDef::_PD_repoId))
    return (::CORBA::_impl_TypedefDef*) this;

  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::_impl_Contained*) this;

  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::_impl_IDLType*) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::_impl_IRObject*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CORBA::_impl_EnumDef::_mostDerivedRepoId()
{
  return ::CORBA::EnumDef::_PD_repoId;
}

CORBA::AliasDef_ptr CORBA::AliasDef_Helper::_nil() {
  return ::CORBA::AliasDef::_nil();
}

::CORBA::Boolean CORBA::AliasDef_Helper::is_nil(::CORBA::AliasDef_ptr p) {
  return ::CORBA::is_nil(p);

}

void CORBA::AliasDef_Helper::release(::CORBA::AliasDef_ptr p) {
  ::CORBA::release(p);
}

void CORBA::AliasDef_Helper::marshalObjRef(::CORBA::AliasDef_ptr obj, cdrStream& s) {
  ::CORBA::AliasDef::_marshalObjRef(obj, s);
}

CORBA::AliasDef_ptr CORBA::AliasDef_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CORBA::AliasDef::_unmarshalObjRef(s);
}

void CORBA::AliasDef_Helper::duplicate(::CORBA::AliasDef_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CORBA::AliasDef_ptr
CORBA::AliasDef::_duplicate(::CORBA::AliasDef_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CORBA::AliasDef_ptr
CORBA::AliasDef::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CORBA::AliasDef_ptr
CORBA::AliasDef::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CORBA::AliasDef_ptr
CORBA::AliasDef::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_AliasDef _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_AliasDef* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_AliasDef;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CORBA::AliasDef::_PD_repoId = "IDL:omg.org/CORBA/AliasDef:1.0";


CORBA::_objref_AliasDef::~_objref_AliasDef() {
  
}


CORBA::_objref_AliasDef::_objref_AliasDef(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CORBA::AliasDef::_PD_repoId, ior, id, 1),
   _objref_TypedefDef(ior, id)
   
{
  _PR_setobj(this);
}

void*
CORBA::_objref_AliasDef::_ptrToObjRef(const char* id)
{
  if (id == ::CORBA::AliasDef::_PD_repoId)
    return (::CORBA::AliasDef_ptr) this;
  if (id == ::CORBA::TypedefDef::_PD_repoId)
    return (::CORBA::TypedefDef_ptr) this;

  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::Contained_ptr) this;

  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::IDLType_ptr) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::IRObject_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CORBA::AliasDef::_PD_repoId))
    return (::CORBA::AliasDef_ptr) this;
  if (omni::strMatch(id, ::CORBA::TypedefDef::_PD_repoId))
    return (::CORBA::TypedefDef_ptr) this;

  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::Contained_ptr) this;

  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::IDLType_ptr) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::IRObject_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CORBA::AliasDef::_get_original_type_def

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_e5000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_74000000* tcd = (_0RL_cd_7963219a43724a61_74000000*)cd;
  CORBA::_impl_AliasDef* impl = (CORBA::_impl_AliasDef*) svnt->_ptrToInterface(CORBA::AliasDef::_PD_repoId);
  tcd->result = impl->original_type_def();


}

CORBA::IDLType_ptr CORBA::_objref_AliasDef::original_type_def()
{
  _0RL_cd_7963219a43724a61_74000000 _call_desc(_0RL_lcfn_7963219a43724a61_e5000000, "_get_original_type_def", 23);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::AliasDef::_set_original_type_def

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_f5000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_94000000* tcd = (_0RL_cd_7963219a43724a61_94000000*)cd;
  CORBA::_impl_AliasDef* impl = (CORBA::_impl_AliasDef*) svnt->_ptrToInterface(CORBA::AliasDef::_PD_repoId);
  impl->original_type_def(tcd->arg_0);


}

void CORBA::_objref_AliasDef::original_type_def(::CORBA::IDLType_ptr _v)
{
  _0RL_cd_7963219a43724a61_94000000 _call_desc(_0RL_lcfn_7963219a43724a61_f5000000, "_set_original_type_def", 23);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}

CORBA::_pof_AliasDef::~_pof_AliasDef() {}


omniObjRef*
CORBA::_pof_AliasDef::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CORBA::_objref_AliasDef(ior, id);
}


::CORBA::Boolean
CORBA::_pof_AliasDef::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CORBA::AliasDef::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CORBA::TypedefDef::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::Contained::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IDLType::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IRObject::_PD_repoId))
    return 1;


  return 0;
}

const CORBA::_pof_AliasDef _the_pof_CORBA_mAliasDef;

CORBA::_impl_AliasDef::~_impl_AliasDef() {}


::CORBA::Boolean
CORBA::_impl_AliasDef::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "_get_original_type_def")) {

    _0RL_cd_7963219a43724a61_74000000 _call_desc(_0RL_lcfn_7963219a43724a61_e5000000, "_get_original_type_def", 23, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_original_type_def")) {

    _0RL_cd_7963219a43724a61_94000000 _call_desc(_0RL_lcfn_7963219a43724a61_f5000000, "_set_original_type_def", 23, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_TypedefDef::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_TypedefDef*)this)->
      _impl_TypedefDef::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CORBA::_impl_AliasDef::_ptrToInterface(const char* id)
{
  if (id == ::CORBA::AliasDef::_PD_repoId)
    return (::CORBA::_impl_AliasDef*) this;
  if (id == ::CORBA::TypedefDef::_PD_repoId)
    return (::CORBA::_impl_TypedefDef*) this;

  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::_impl_Contained*) this;

  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::_impl_IDLType*) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::_impl_IRObject*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CORBA::AliasDef::_PD_repoId))
    return (::CORBA::_impl_AliasDef*) this;
  if (omni::strMatch(id, ::CORBA::TypedefDef::_PD_repoId))
    return (::CORBA::_impl_TypedefDef*) this;

  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::_impl_Contained*) this;

  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::_impl_IDLType*) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::_impl_IRObject*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CORBA::_impl_AliasDef::_mostDerivedRepoId()
{
  return ::CORBA::AliasDef::_PD_repoId;
}

CORBA::NativeDef_ptr CORBA::NativeDef_Helper::_nil() {
  return ::CORBA::NativeDef::_nil();
}

::CORBA::Boolean CORBA::NativeDef_Helper::is_nil(::CORBA::NativeDef_ptr p) {
  return ::CORBA::is_nil(p);

}

void CORBA::NativeDef_Helper::release(::CORBA::NativeDef_ptr p) {
  ::CORBA::release(p);
}

void CORBA::NativeDef_Helper::marshalObjRef(::CORBA::NativeDef_ptr obj, cdrStream& s) {
  ::CORBA::NativeDef::_marshalObjRef(obj, s);
}

CORBA::NativeDef_ptr CORBA::NativeDef_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CORBA::NativeDef::_unmarshalObjRef(s);
}

void CORBA::NativeDef_Helper::duplicate(::CORBA::NativeDef_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CORBA::NativeDef_ptr
CORBA::NativeDef::_duplicate(::CORBA::NativeDef_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CORBA::NativeDef_ptr
CORBA::NativeDef::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CORBA::NativeDef_ptr
CORBA::NativeDef::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CORBA::NativeDef_ptr
CORBA::NativeDef::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_NativeDef _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_NativeDef* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_NativeDef;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CORBA::NativeDef::_PD_repoId = "IDL:omg.org/CORBA/NativeDef:1.0";


CORBA::_objref_NativeDef::~_objref_NativeDef() {
  
}


CORBA::_objref_NativeDef::_objref_NativeDef(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CORBA::NativeDef::_PD_repoId, ior, id, 1),
   _objref_TypedefDef(ior, id)
   
{
  _PR_setobj(this);
}

void*
CORBA::_objref_NativeDef::_ptrToObjRef(const char* id)
{
  if (id == ::CORBA::NativeDef::_PD_repoId)
    return (::CORBA::NativeDef_ptr) this;
  if (id == ::CORBA::TypedefDef::_PD_repoId)
    return (::CORBA::TypedefDef_ptr) this;

  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::Contained_ptr) this;

  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::IDLType_ptr) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::IRObject_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CORBA::NativeDef::_PD_repoId))
    return (::CORBA::NativeDef_ptr) this;
  if (omni::strMatch(id, ::CORBA::TypedefDef::_PD_repoId))
    return (::CORBA::TypedefDef_ptr) this;

  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::Contained_ptr) this;

  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::IDLType_ptr) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::IRObject_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}

CORBA::_pof_NativeDef::~_pof_NativeDef() {}


omniObjRef*
CORBA::_pof_NativeDef::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CORBA::_objref_NativeDef(ior, id);
}


::CORBA::Boolean
CORBA::_pof_NativeDef::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CORBA::NativeDef::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CORBA::TypedefDef::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::Contained::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IDLType::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IRObject::_PD_repoId))
    return 1;


  return 0;
}

const CORBA::_pof_NativeDef _the_pof_CORBA_mNativeDef;

CORBA::_impl_NativeDef::~_impl_NativeDef() {}


::CORBA::Boolean
CORBA::_impl_NativeDef::_dispatch(omniCallHandle& _handle)
{
  

  
#ifndef _MSC_VER
  if (_impl_TypedefDef::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_TypedefDef*)this)->
      _impl_TypedefDef::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CORBA::_impl_NativeDef::_ptrToInterface(const char* id)
{
  if (id == ::CORBA::NativeDef::_PD_repoId)
    return (::CORBA::_impl_NativeDef*) this;
  if (id == ::CORBA::TypedefDef::_PD_repoId)
    return (::CORBA::_impl_TypedefDef*) this;

  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::_impl_Contained*) this;

  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::_impl_IDLType*) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::_impl_IRObject*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CORBA::NativeDef::_PD_repoId))
    return (::CORBA::_impl_NativeDef*) this;
  if (omni::strMatch(id, ::CORBA::TypedefDef::_PD_repoId))
    return (::CORBA::_impl_TypedefDef*) this;

  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::_impl_Contained*) this;

  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::_impl_IDLType*) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::_impl_IRObject*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CORBA::_impl_NativeDef::_mostDerivedRepoId()
{
  return ::CORBA::NativeDef::_PD_repoId;
}

CORBA::PrimitiveDef_ptr CORBA::PrimitiveDef_Helper::_nil() {
  return ::CORBA::PrimitiveDef::_nil();
}

::CORBA::Boolean CORBA::PrimitiveDef_Helper::is_nil(::CORBA::PrimitiveDef_ptr p) {
  return ::CORBA::is_nil(p);

}

void CORBA::PrimitiveDef_Helper::release(::CORBA::PrimitiveDef_ptr p) {
  ::CORBA::release(p);
}

void CORBA::PrimitiveDef_Helper::marshalObjRef(::CORBA::PrimitiveDef_ptr obj, cdrStream& s) {
  ::CORBA::PrimitiveDef::_marshalObjRef(obj, s);
}

CORBA::PrimitiveDef_ptr CORBA::PrimitiveDef_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CORBA::PrimitiveDef::_unmarshalObjRef(s);
}

void CORBA::PrimitiveDef_Helper::duplicate(::CORBA::PrimitiveDef_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CORBA::PrimitiveDef_ptr
CORBA::PrimitiveDef::_duplicate(::CORBA::PrimitiveDef_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CORBA::PrimitiveDef_ptr
CORBA::PrimitiveDef::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CORBA::PrimitiveDef_ptr
CORBA::PrimitiveDef::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CORBA::PrimitiveDef_ptr
CORBA::PrimitiveDef::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_PrimitiveDef _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_PrimitiveDef* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_PrimitiveDef;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CORBA::PrimitiveDef::_PD_repoId = "IDL:omg.org/CORBA/PrimitiveDef:1.0";


CORBA::_objref_PrimitiveDef::~_objref_PrimitiveDef() {
  
}


CORBA::_objref_PrimitiveDef::_objref_PrimitiveDef(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CORBA::PrimitiveDef::_PD_repoId, ior, id, 1),
   _objref_IDLType(ior, id)
   
{
  _PR_setobj(this);
}

void*
CORBA::_objref_PrimitiveDef::_ptrToObjRef(const char* id)
{
  if (id == ::CORBA::PrimitiveDef::_PD_repoId)
    return (::CORBA::PrimitiveDef_ptr) this;
  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::IDLType_ptr) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::IRObject_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CORBA::PrimitiveDef::_PD_repoId))
    return (::CORBA::PrimitiveDef_ptr) this;
  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::IDLType_ptr) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::IRObject_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CORBA::PrimitiveDef::_get_kind

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mPrimitiveKind
class _0RL_cd_7963219a43724a61_06000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_06000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  CORBA::PrimitiveKind result;
};

void _0RL_cd_7963219a43724a61_06000000::marshalReturnedValues(cdrStream& _n)
{
  result >>= _n;

}

void _0RL_cd_7963219a43724a61_06000000::unmarshalReturnedValues(cdrStream& _n)
{
  (CORBA::PrimitiveKind&)result <<= _n;

}

const char* const _0RL_cd_7963219a43724a61_06000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_16000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_06000000* tcd = (_0RL_cd_7963219a43724a61_06000000*)cd;
  CORBA::_impl_PrimitiveDef* impl = (CORBA::_impl_PrimitiveDef*) svnt->_ptrToInterface(CORBA::PrimitiveDef::_PD_repoId);
  tcd->result = impl->kind();


}

CORBA::PrimitiveKind CORBA::_objref_PrimitiveDef::kind()
{
  _0RL_cd_7963219a43724a61_06000000 _call_desc(_0RL_lcfn_7963219a43724a61_16000000, "_get_kind", 10);


  _invoke(_call_desc);
  return _call_desc.result;


}

CORBA::_pof_PrimitiveDef::~_pof_PrimitiveDef() {}


omniObjRef*
CORBA::_pof_PrimitiveDef::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CORBA::_objref_PrimitiveDef(ior, id);
}


::CORBA::Boolean
CORBA::_pof_PrimitiveDef::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CORBA::PrimitiveDef::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CORBA::IDLType::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IRObject::_PD_repoId))
    return 1;


  return 0;
}

const CORBA::_pof_PrimitiveDef _the_pof_CORBA_mPrimitiveDef;

CORBA::_impl_PrimitiveDef::~_impl_PrimitiveDef() {}


::CORBA::Boolean
CORBA::_impl_PrimitiveDef::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "_get_kind")) {

    _0RL_cd_7963219a43724a61_06000000 _call_desc(_0RL_lcfn_7963219a43724a61_16000000, "_get_kind", 10, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_IDLType::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_IDLType*)this)->
      _impl_IDLType::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CORBA::_impl_PrimitiveDef::_ptrToInterface(const char* id)
{
  if (id == ::CORBA::PrimitiveDef::_PD_repoId)
    return (::CORBA::_impl_PrimitiveDef*) this;
  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::_impl_IDLType*) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::_impl_IRObject*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CORBA::PrimitiveDef::_PD_repoId))
    return (::CORBA::_impl_PrimitiveDef*) this;
  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::_impl_IDLType*) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::_impl_IRObject*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CORBA::_impl_PrimitiveDef::_mostDerivedRepoId()
{
  return ::CORBA::PrimitiveDef::_PD_repoId;
}

CORBA::StringDef_ptr CORBA::StringDef_Helper::_nil() {
  return ::CORBA::StringDef::_nil();
}

::CORBA::Boolean CORBA::StringDef_Helper::is_nil(::CORBA::StringDef_ptr p) {
  return ::CORBA::is_nil(p);

}

void CORBA::StringDef_Helper::release(::CORBA::StringDef_ptr p) {
  ::CORBA::release(p);
}

void CORBA::StringDef_Helper::marshalObjRef(::CORBA::StringDef_ptr obj, cdrStream& s) {
  ::CORBA::StringDef::_marshalObjRef(obj, s);
}

CORBA::StringDef_ptr CORBA::StringDef_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CORBA::StringDef::_unmarshalObjRef(s);
}

void CORBA::StringDef_Helper::duplicate(::CORBA::StringDef_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CORBA::StringDef_ptr
CORBA::StringDef::_duplicate(::CORBA::StringDef_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CORBA::StringDef_ptr
CORBA::StringDef::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CORBA::StringDef_ptr
CORBA::StringDef::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CORBA::StringDef_ptr
CORBA::StringDef::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_StringDef _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_StringDef* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_StringDef;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CORBA::StringDef::_PD_repoId = "IDL:omg.org/CORBA/StringDef:1.0";


CORBA::_objref_StringDef::~_objref_StringDef() {
  
}


CORBA::_objref_StringDef::_objref_StringDef(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CORBA::StringDef::_PD_repoId, ior, id, 1),
   _objref_IDLType(ior, id)
   
{
  _PR_setobj(this);
}

void*
CORBA::_objref_StringDef::_ptrToObjRef(const char* id)
{
  if (id == ::CORBA::StringDef::_PD_repoId)
    return (::CORBA::StringDef_ptr) this;
  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::IDLType_ptr) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::IRObject_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CORBA::StringDef::_PD_repoId))
    return (::CORBA::StringDef_ptr) this;
  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::IDLType_ptr) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::IRObject_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CORBA::StringDef::_get_bound

// Proxy call descriptor class. Mangled signature:
//  _cunsigned_plong
class _0RL_cd_7963219a43724a61_26000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_26000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::ULong result;
};

void _0RL_cd_7963219a43724a61_26000000::marshalReturnedValues(cdrStream& _n)
{
  result >>= _n;

}

void _0RL_cd_7963219a43724a61_26000000::unmarshalReturnedValues(cdrStream& _n)
{
  (::CORBA::ULong&)result <<= _n;

}

const char* const _0RL_cd_7963219a43724a61_26000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_36000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_26000000* tcd = (_0RL_cd_7963219a43724a61_26000000*)cd;
  CORBA::_impl_StringDef* impl = (CORBA::_impl_StringDef*) svnt->_ptrToInterface(CORBA::StringDef::_PD_repoId);
  tcd->result = impl->bound();


}

::CORBA::ULong CORBA::_objref_StringDef::bound()
{
  _0RL_cd_7963219a43724a61_26000000 _call_desc(_0RL_lcfn_7963219a43724a61_36000000, "_get_bound", 11);


  _invoke(_call_desc);
  return _call_desc.result;


}


//
// Code for CORBA::StringDef::_set_bound

// Proxy call descriptor class. Mangled signature:
//  void_i_cunsigned_plong
class _0RL_cd_7963219a43724a61_46000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_46000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

    
  
  static const char* const _user_exns[];

  ::CORBA::ULong arg_0;
};

void _0RL_cd_7963219a43724a61_46000000::marshalArguments(cdrStream& _n)
{
  arg_0 >>= _n;

}

void _0RL_cd_7963219a43724a61_46000000::unmarshalArguments(cdrStream& _n)
{
  (::CORBA::ULong&)arg_0 <<= _n;

}

const char* const _0RL_cd_7963219a43724a61_46000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_56000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_46000000* tcd = (_0RL_cd_7963219a43724a61_46000000*)cd;
  CORBA::_impl_StringDef* impl = (CORBA::_impl_StringDef*) svnt->_ptrToInterface(CORBA::StringDef::_PD_repoId);
  impl->bound(tcd->arg_0);


}

void CORBA::_objref_StringDef::bound(::CORBA::ULong _v)
{
  _0RL_cd_7963219a43724a61_46000000 _call_desc(_0RL_lcfn_7963219a43724a61_56000000, "_set_bound", 11);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}

CORBA::_pof_StringDef::~_pof_StringDef() {}


omniObjRef*
CORBA::_pof_StringDef::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CORBA::_objref_StringDef(ior, id);
}


::CORBA::Boolean
CORBA::_pof_StringDef::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CORBA::StringDef::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CORBA::IDLType::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IRObject::_PD_repoId))
    return 1;


  return 0;
}

const CORBA::_pof_StringDef _the_pof_CORBA_mStringDef;

CORBA::_impl_StringDef::~_impl_StringDef() {}


::CORBA::Boolean
CORBA::_impl_StringDef::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "_get_bound")) {

    _0RL_cd_7963219a43724a61_26000000 _call_desc(_0RL_lcfn_7963219a43724a61_36000000, "_get_bound", 11, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_bound")) {

    _0RL_cd_7963219a43724a61_46000000 _call_desc(_0RL_lcfn_7963219a43724a61_56000000, "_set_bound", 11, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_IDLType::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_IDLType*)this)->
      _impl_IDLType::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CORBA::_impl_StringDef::_ptrToInterface(const char* id)
{
  if (id == ::CORBA::StringDef::_PD_repoId)
    return (::CORBA::_impl_StringDef*) this;
  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::_impl_IDLType*) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::_impl_IRObject*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CORBA::StringDef::_PD_repoId))
    return (::CORBA::_impl_StringDef*) this;
  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::_impl_IDLType*) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::_impl_IRObject*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CORBA::_impl_StringDef::_mostDerivedRepoId()
{
  return ::CORBA::StringDef::_PD_repoId;
}

CORBA::WstringDef_ptr CORBA::WstringDef_Helper::_nil() {
  return ::CORBA::WstringDef::_nil();
}

::CORBA::Boolean CORBA::WstringDef_Helper::is_nil(::CORBA::WstringDef_ptr p) {
  return ::CORBA::is_nil(p);

}

void CORBA::WstringDef_Helper::release(::CORBA::WstringDef_ptr p) {
  ::CORBA::release(p);
}

void CORBA::WstringDef_Helper::marshalObjRef(::CORBA::WstringDef_ptr obj, cdrStream& s) {
  ::CORBA::WstringDef::_marshalObjRef(obj, s);
}

CORBA::WstringDef_ptr CORBA::WstringDef_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CORBA::WstringDef::_unmarshalObjRef(s);
}

void CORBA::WstringDef_Helper::duplicate(::CORBA::WstringDef_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CORBA::WstringDef_ptr
CORBA::WstringDef::_duplicate(::CORBA::WstringDef_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CORBA::WstringDef_ptr
CORBA::WstringDef::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CORBA::WstringDef_ptr
CORBA::WstringDef::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CORBA::WstringDef_ptr
CORBA::WstringDef::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_WstringDef _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_WstringDef* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_WstringDef;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CORBA::WstringDef::_PD_repoId = "IDL:omg.org/CORBA/WstringDef:1.0";


CORBA::_objref_WstringDef::~_objref_WstringDef() {
  
}


CORBA::_objref_WstringDef::_objref_WstringDef(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CORBA::WstringDef::_PD_repoId, ior, id, 1),
   _objref_IDLType(ior, id)
   
{
  _PR_setobj(this);
}

void*
CORBA::_objref_WstringDef::_ptrToObjRef(const char* id)
{
  if (id == ::CORBA::WstringDef::_PD_repoId)
    return (::CORBA::WstringDef_ptr) this;
  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::IDLType_ptr) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::IRObject_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CORBA::WstringDef::_PD_repoId))
    return (::CORBA::WstringDef_ptr) this;
  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::IDLType_ptr) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::IRObject_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CORBA::WstringDef::_get_bound

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_66000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_26000000* tcd = (_0RL_cd_7963219a43724a61_26000000*)cd;
  CORBA::_impl_WstringDef* impl = (CORBA::_impl_WstringDef*) svnt->_ptrToInterface(CORBA::WstringDef::_PD_repoId);
  tcd->result = impl->bound();


}

::CORBA::ULong CORBA::_objref_WstringDef::bound()
{
  _0RL_cd_7963219a43724a61_26000000 _call_desc(_0RL_lcfn_7963219a43724a61_66000000, "_get_bound", 11);


  _invoke(_call_desc);
  return _call_desc.result;


}


//
// Code for CORBA::WstringDef::_set_bound

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_76000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_46000000* tcd = (_0RL_cd_7963219a43724a61_46000000*)cd;
  CORBA::_impl_WstringDef* impl = (CORBA::_impl_WstringDef*) svnt->_ptrToInterface(CORBA::WstringDef::_PD_repoId);
  impl->bound(tcd->arg_0);


}

void CORBA::_objref_WstringDef::bound(::CORBA::ULong _v)
{
  _0RL_cd_7963219a43724a61_46000000 _call_desc(_0RL_lcfn_7963219a43724a61_76000000, "_set_bound", 11);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}

CORBA::_pof_WstringDef::~_pof_WstringDef() {}


omniObjRef*
CORBA::_pof_WstringDef::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CORBA::_objref_WstringDef(ior, id);
}


::CORBA::Boolean
CORBA::_pof_WstringDef::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CORBA::WstringDef::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CORBA::IDLType::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IRObject::_PD_repoId))
    return 1;


  return 0;
}

const CORBA::_pof_WstringDef _the_pof_CORBA_mWstringDef;

CORBA::_impl_WstringDef::~_impl_WstringDef() {}


::CORBA::Boolean
CORBA::_impl_WstringDef::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "_get_bound")) {

    _0RL_cd_7963219a43724a61_26000000 _call_desc(_0RL_lcfn_7963219a43724a61_66000000, "_get_bound", 11, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_bound")) {

    _0RL_cd_7963219a43724a61_46000000 _call_desc(_0RL_lcfn_7963219a43724a61_76000000, "_set_bound", 11, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_IDLType::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_IDLType*)this)->
      _impl_IDLType::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CORBA::_impl_WstringDef::_ptrToInterface(const char* id)
{
  if (id == ::CORBA::WstringDef::_PD_repoId)
    return (::CORBA::_impl_WstringDef*) this;
  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::_impl_IDLType*) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::_impl_IRObject*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CORBA::WstringDef::_PD_repoId))
    return (::CORBA::_impl_WstringDef*) this;
  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::_impl_IDLType*) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::_impl_IRObject*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CORBA::_impl_WstringDef::_mostDerivedRepoId()
{
  return ::CORBA::WstringDef::_PD_repoId;
}

CORBA::FixedDef_ptr CORBA::FixedDef_Helper::_nil() {
  return ::CORBA::FixedDef::_nil();
}

::CORBA::Boolean CORBA::FixedDef_Helper::is_nil(::CORBA::FixedDef_ptr p) {
  return ::CORBA::is_nil(p);

}

void CORBA::FixedDef_Helper::release(::CORBA::FixedDef_ptr p) {
  ::CORBA::release(p);
}

void CORBA::FixedDef_Helper::marshalObjRef(::CORBA::FixedDef_ptr obj, cdrStream& s) {
  ::CORBA::FixedDef::_marshalObjRef(obj, s);
}

CORBA::FixedDef_ptr CORBA::FixedDef_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CORBA::FixedDef::_unmarshalObjRef(s);
}

void CORBA::FixedDef_Helper::duplicate(::CORBA::FixedDef_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CORBA::FixedDef_ptr
CORBA::FixedDef::_duplicate(::CORBA::FixedDef_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CORBA::FixedDef_ptr
CORBA::FixedDef::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CORBA::FixedDef_ptr
CORBA::FixedDef::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CORBA::FixedDef_ptr
CORBA::FixedDef::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_FixedDef _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_FixedDef* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_FixedDef;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CORBA::FixedDef::_PD_repoId = "IDL:omg.org/CORBA/FixedDef:1.0";


CORBA::_objref_FixedDef::~_objref_FixedDef() {
  
}


CORBA::_objref_FixedDef::_objref_FixedDef(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CORBA::FixedDef::_PD_repoId, ior, id, 1),
   _objref_IDLType(ior, id)
   
{
  _PR_setobj(this);
}

void*
CORBA::_objref_FixedDef::_ptrToObjRef(const char* id)
{
  if (id == ::CORBA::FixedDef::_PD_repoId)
    return (::CORBA::FixedDef_ptr) this;
  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::IDLType_ptr) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::IRObject_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CORBA::FixedDef::_PD_repoId))
    return (::CORBA::FixedDef_ptr) this;
  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::IDLType_ptr) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::IRObject_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CORBA::FixedDef::_get_digits

// Proxy call descriptor class. Mangled signature:
//  _cunsigned_pshort
class _0RL_cd_7963219a43724a61_86000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_86000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::UShort result;
};

void _0RL_cd_7963219a43724a61_86000000::marshalReturnedValues(cdrStream& _n)
{
  result >>= _n;

}

void _0RL_cd_7963219a43724a61_86000000::unmarshalReturnedValues(cdrStream& _n)
{
  (::CORBA::UShort&)result <<= _n;

}

const char* const _0RL_cd_7963219a43724a61_86000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_96000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_86000000* tcd = (_0RL_cd_7963219a43724a61_86000000*)cd;
  CORBA::_impl_FixedDef* impl = (CORBA::_impl_FixedDef*) svnt->_ptrToInterface(CORBA::FixedDef::_PD_repoId);
  tcd->result = impl->digits();


}

::CORBA::UShort CORBA::_objref_FixedDef::digits()
{
  _0RL_cd_7963219a43724a61_86000000 _call_desc(_0RL_lcfn_7963219a43724a61_96000000, "_get_digits", 12);


  _invoke(_call_desc);
  return _call_desc.result;


}


//
// Code for CORBA::FixedDef::_set_digits

// Proxy call descriptor class. Mangled signature:
//  void_i_cunsigned_pshort
class _0RL_cd_7963219a43724a61_a6000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_a6000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

    
  
  static const char* const _user_exns[];

  ::CORBA::UShort arg_0;
};

void _0RL_cd_7963219a43724a61_a6000000::marshalArguments(cdrStream& _n)
{
  arg_0 >>= _n;

}

void _0RL_cd_7963219a43724a61_a6000000::unmarshalArguments(cdrStream& _n)
{
  (::CORBA::UShort&)arg_0 <<= _n;

}

const char* const _0RL_cd_7963219a43724a61_a6000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_b6000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_a6000000* tcd = (_0RL_cd_7963219a43724a61_a6000000*)cd;
  CORBA::_impl_FixedDef* impl = (CORBA::_impl_FixedDef*) svnt->_ptrToInterface(CORBA::FixedDef::_PD_repoId);
  impl->digits(tcd->arg_0);


}

void CORBA::_objref_FixedDef::digits(::CORBA::UShort _v)
{
  _0RL_cd_7963219a43724a61_a6000000 _call_desc(_0RL_lcfn_7963219a43724a61_b6000000, "_set_digits", 12);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}


//
// Code for CORBA::FixedDef::_get_scale

// Proxy call descriptor class. Mangled signature:
//  _cshort
class _0RL_cd_7963219a43724a61_c6000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_c6000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::Short result;
};

void _0RL_cd_7963219a43724a61_c6000000::marshalReturnedValues(cdrStream& _n)
{
  result >>= _n;

}

void _0RL_cd_7963219a43724a61_c6000000::unmarshalReturnedValues(cdrStream& _n)
{
  (::CORBA::Short&)result <<= _n;

}

const char* const _0RL_cd_7963219a43724a61_c6000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_d6000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_c6000000* tcd = (_0RL_cd_7963219a43724a61_c6000000*)cd;
  CORBA::_impl_FixedDef* impl = (CORBA::_impl_FixedDef*) svnt->_ptrToInterface(CORBA::FixedDef::_PD_repoId);
  tcd->result = impl->scale();


}

::CORBA::Short CORBA::_objref_FixedDef::scale()
{
  _0RL_cd_7963219a43724a61_c6000000 _call_desc(_0RL_lcfn_7963219a43724a61_d6000000, "_get_scale", 11);


  _invoke(_call_desc);
  return _call_desc.result;


}


//
// Code for CORBA::FixedDef::_set_scale

// Proxy call descriptor class. Mangled signature:
//  void_i_cshort
class _0RL_cd_7963219a43724a61_e6000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_e6000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

    
  
  static const char* const _user_exns[];

  ::CORBA::Short arg_0;
};

void _0RL_cd_7963219a43724a61_e6000000::marshalArguments(cdrStream& _n)
{
  arg_0 >>= _n;

}

void _0RL_cd_7963219a43724a61_e6000000::unmarshalArguments(cdrStream& _n)
{
  (::CORBA::Short&)arg_0 <<= _n;

}

const char* const _0RL_cd_7963219a43724a61_e6000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_f6000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_e6000000* tcd = (_0RL_cd_7963219a43724a61_e6000000*)cd;
  CORBA::_impl_FixedDef* impl = (CORBA::_impl_FixedDef*) svnt->_ptrToInterface(CORBA::FixedDef::_PD_repoId);
  impl->scale(tcd->arg_0);


}

void CORBA::_objref_FixedDef::scale(::CORBA::Short _v)
{
  _0RL_cd_7963219a43724a61_e6000000 _call_desc(_0RL_lcfn_7963219a43724a61_f6000000, "_set_scale", 11);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}

CORBA::_pof_FixedDef::~_pof_FixedDef() {}


omniObjRef*
CORBA::_pof_FixedDef::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CORBA::_objref_FixedDef(ior, id);
}


::CORBA::Boolean
CORBA::_pof_FixedDef::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CORBA::FixedDef::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CORBA::IDLType::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IRObject::_PD_repoId))
    return 1;


  return 0;
}

const CORBA::_pof_FixedDef _the_pof_CORBA_mFixedDef;

CORBA::_impl_FixedDef::~_impl_FixedDef() {}


::CORBA::Boolean
CORBA::_impl_FixedDef::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "_get_digits")) {

    _0RL_cd_7963219a43724a61_86000000 _call_desc(_0RL_lcfn_7963219a43724a61_96000000, "_get_digits", 12, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_digits")) {

    _0RL_cd_7963219a43724a61_a6000000 _call_desc(_0RL_lcfn_7963219a43724a61_b6000000, "_set_digits", 12, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_scale")) {

    _0RL_cd_7963219a43724a61_c6000000 _call_desc(_0RL_lcfn_7963219a43724a61_d6000000, "_get_scale", 11, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_scale")) {

    _0RL_cd_7963219a43724a61_e6000000 _call_desc(_0RL_lcfn_7963219a43724a61_f6000000, "_set_scale", 11, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_IDLType::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_IDLType*)this)->
      _impl_IDLType::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CORBA::_impl_FixedDef::_ptrToInterface(const char* id)
{
  if (id == ::CORBA::FixedDef::_PD_repoId)
    return (::CORBA::_impl_FixedDef*) this;
  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::_impl_IDLType*) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::_impl_IRObject*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CORBA::FixedDef::_PD_repoId))
    return (::CORBA::_impl_FixedDef*) this;
  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::_impl_IDLType*) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::_impl_IRObject*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CORBA::_impl_FixedDef::_mostDerivedRepoId()
{
  return ::CORBA::FixedDef::_PD_repoId;
}

CORBA::SequenceDef_ptr CORBA::SequenceDef_Helper::_nil() {
  return ::CORBA::SequenceDef::_nil();
}

::CORBA::Boolean CORBA::SequenceDef_Helper::is_nil(::CORBA::SequenceDef_ptr p) {
  return ::CORBA::is_nil(p);

}

void CORBA::SequenceDef_Helper::release(::CORBA::SequenceDef_ptr p) {
  ::CORBA::release(p);
}

void CORBA::SequenceDef_Helper::marshalObjRef(::CORBA::SequenceDef_ptr obj, cdrStream& s) {
  ::CORBA::SequenceDef::_marshalObjRef(obj, s);
}

CORBA::SequenceDef_ptr CORBA::SequenceDef_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CORBA::SequenceDef::_unmarshalObjRef(s);
}

void CORBA::SequenceDef_Helper::duplicate(::CORBA::SequenceDef_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CORBA::SequenceDef_ptr
CORBA::SequenceDef::_duplicate(::CORBA::SequenceDef_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CORBA::SequenceDef_ptr
CORBA::SequenceDef::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CORBA::SequenceDef_ptr
CORBA::SequenceDef::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CORBA::SequenceDef_ptr
CORBA::SequenceDef::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_SequenceDef _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_SequenceDef* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_SequenceDef;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CORBA::SequenceDef::_PD_repoId = "IDL:omg.org/CORBA/SequenceDef:1.0";


CORBA::_objref_SequenceDef::~_objref_SequenceDef() {
  
}


CORBA::_objref_SequenceDef::_objref_SequenceDef(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CORBA::SequenceDef::_PD_repoId, ior, id, 1),
   _objref_IDLType(ior, id)
   
{
  _PR_setobj(this);
}

void*
CORBA::_objref_SequenceDef::_ptrToObjRef(const char* id)
{
  if (id == ::CORBA::SequenceDef::_PD_repoId)
    return (::CORBA::SequenceDef_ptr) this;
  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::IDLType_ptr) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::IRObject_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CORBA::SequenceDef::_PD_repoId))
    return (::CORBA::SequenceDef_ptr) this;
  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::IDLType_ptr) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::IRObject_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CORBA::SequenceDef::_get_bound

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_07000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_26000000* tcd = (_0RL_cd_7963219a43724a61_26000000*)cd;
  CORBA::_impl_SequenceDef* impl = (CORBA::_impl_SequenceDef*) svnt->_ptrToInterface(CORBA::SequenceDef::_PD_repoId);
  tcd->result = impl->bound();


}

::CORBA::ULong CORBA::_objref_SequenceDef::bound()
{
  _0RL_cd_7963219a43724a61_26000000 _call_desc(_0RL_lcfn_7963219a43724a61_07000000, "_get_bound", 11);


  _invoke(_call_desc);
  return _call_desc.result;


}


//
// Code for CORBA::SequenceDef::_set_bound

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_17000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_46000000* tcd = (_0RL_cd_7963219a43724a61_46000000*)cd;
  CORBA::_impl_SequenceDef* impl = (CORBA::_impl_SequenceDef*) svnt->_ptrToInterface(CORBA::SequenceDef::_PD_repoId);
  impl->bound(tcd->arg_0);


}

void CORBA::_objref_SequenceDef::bound(::CORBA::ULong _v)
{
  _0RL_cd_7963219a43724a61_46000000 _call_desc(_0RL_lcfn_7963219a43724a61_17000000, "_set_bound", 11);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}


//
// Code for CORBA::SequenceDef::_get_element_type

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_27000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_53000000* tcd = (_0RL_cd_7963219a43724a61_53000000*)cd;
  CORBA::_impl_SequenceDef* impl = (CORBA::_impl_SequenceDef*) svnt->_ptrToInterface(CORBA::SequenceDef::_PD_repoId);
  tcd->result = impl->element_type();


}

::CORBA::TypeCode_ptr CORBA::_objref_SequenceDef::element_type()
{
  _0RL_cd_7963219a43724a61_53000000 _call_desc(_0RL_lcfn_7963219a43724a61_27000000, "_get_element_type", 18);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::SequenceDef::_get_element_type_def

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_37000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_74000000* tcd = (_0RL_cd_7963219a43724a61_74000000*)cd;
  CORBA::_impl_SequenceDef* impl = (CORBA::_impl_SequenceDef*) svnt->_ptrToInterface(CORBA::SequenceDef::_PD_repoId);
  tcd->result = impl->element_type_def();


}

CORBA::IDLType_ptr CORBA::_objref_SequenceDef::element_type_def()
{
  _0RL_cd_7963219a43724a61_74000000 _call_desc(_0RL_lcfn_7963219a43724a61_37000000, "_get_element_type_def", 22);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::SequenceDef::_set_element_type_def

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_47000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_94000000* tcd = (_0RL_cd_7963219a43724a61_94000000*)cd;
  CORBA::_impl_SequenceDef* impl = (CORBA::_impl_SequenceDef*) svnt->_ptrToInterface(CORBA::SequenceDef::_PD_repoId);
  impl->element_type_def(tcd->arg_0);


}

void CORBA::_objref_SequenceDef::element_type_def(::CORBA::IDLType_ptr _v)
{
  _0RL_cd_7963219a43724a61_94000000 _call_desc(_0RL_lcfn_7963219a43724a61_47000000, "_set_element_type_def", 22);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}

CORBA::_pof_SequenceDef::~_pof_SequenceDef() {}


omniObjRef*
CORBA::_pof_SequenceDef::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CORBA::_objref_SequenceDef(ior, id);
}


::CORBA::Boolean
CORBA::_pof_SequenceDef::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CORBA::SequenceDef::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CORBA::IDLType::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IRObject::_PD_repoId))
    return 1;


  return 0;
}

const CORBA::_pof_SequenceDef _the_pof_CORBA_mSequenceDef;

CORBA::_impl_SequenceDef::~_impl_SequenceDef() {}


::CORBA::Boolean
CORBA::_impl_SequenceDef::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "_get_bound")) {

    _0RL_cd_7963219a43724a61_26000000 _call_desc(_0RL_lcfn_7963219a43724a61_07000000, "_get_bound", 11, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_bound")) {

    _0RL_cd_7963219a43724a61_46000000 _call_desc(_0RL_lcfn_7963219a43724a61_17000000, "_set_bound", 11, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_element_type")) {

    _0RL_cd_7963219a43724a61_53000000 _call_desc(_0RL_lcfn_7963219a43724a61_27000000, "_get_element_type", 18, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_element_type_def")) {

    _0RL_cd_7963219a43724a61_74000000 _call_desc(_0RL_lcfn_7963219a43724a61_37000000, "_get_element_type_def", 22, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_element_type_def")) {

    _0RL_cd_7963219a43724a61_94000000 _call_desc(_0RL_lcfn_7963219a43724a61_47000000, "_set_element_type_def", 22, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_IDLType::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_IDLType*)this)->
      _impl_IDLType::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CORBA::_impl_SequenceDef::_ptrToInterface(const char* id)
{
  if (id == ::CORBA::SequenceDef::_PD_repoId)
    return (::CORBA::_impl_SequenceDef*) this;
  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::_impl_IDLType*) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::_impl_IRObject*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CORBA::SequenceDef::_PD_repoId))
    return (::CORBA::_impl_SequenceDef*) this;
  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::_impl_IDLType*) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::_impl_IRObject*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CORBA::_impl_SequenceDef::_mostDerivedRepoId()
{
  return ::CORBA::SequenceDef::_PD_repoId;
}

CORBA::ArrayDef_ptr CORBA::ArrayDef_Helper::_nil() {
  return ::CORBA::ArrayDef::_nil();
}

::CORBA::Boolean CORBA::ArrayDef_Helper::is_nil(::CORBA::ArrayDef_ptr p) {
  return ::CORBA::is_nil(p);

}

void CORBA::ArrayDef_Helper::release(::CORBA::ArrayDef_ptr p) {
  ::CORBA::release(p);
}

void CORBA::ArrayDef_Helper::marshalObjRef(::CORBA::ArrayDef_ptr obj, cdrStream& s) {
  ::CORBA::ArrayDef::_marshalObjRef(obj, s);
}

CORBA::ArrayDef_ptr CORBA::ArrayDef_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CORBA::ArrayDef::_unmarshalObjRef(s);
}

void CORBA::ArrayDef_Helper::duplicate(::CORBA::ArrayDef_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CORBA::ArrayDef_ptr
CORBA::ArrayDef::_duplicate(::CORBA::ArrayDef_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CORBA::ArrayDef_ptr
CORBA::ArrayDef::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CORBA::ArrayDef_ptr
CORBA::ArrayDef::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CORBA::ArrayDef_ptr
CORBA::ArrayDef::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_ArrayDef _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_ArrayDef* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_ArrayDef;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CORBA::ArrayDef::_PD_repoId = "IDL:omg.org/CORBA/ArrayDef:1.0";


CORBA::_objref_ArrayDef::~_objref_ArrayDef() {
  
}


CORBA::_objref_ArrayDef::_objref_ArrayDef(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CORBA::ArrayDef::_PD_repoId, ior, id, 1),
   _objref_IDLType(ior, id)
   
{
  _PR_setobj(this);
}

void*
CORBA::_objref_ArrayDef::_ptrToObjRef(const char* id)
{
  if (id == ::CORBA::ArrayDef::_PD_repoId)
    return (::CORBA::ArrayDef_ptr) this;
  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::IDLType_ptr) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::IRObject_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CORBA::ArrayDef::_PD_repoId))
    return (::CORBA::ArrayDef_ptr) this;
  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::IDLType_ptr) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::IRObject_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CORBA::ArrayDef::_get_length

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_57000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_26000000* tcd = (_0RL_cd_7963219a43724a61_26000000*)cd;
  CORBA::_impl_ArrayDef* impl = (CORBA::_impl_ArrayDef*) svnt->_ptrToInterface(CORBA::ArrayDef::_PD_repoId);
  tcd->result = impl->length();


}

::CORBA::ULong CORBA::_objref_ArrayDef::length()
{
  _0RL_cd_7963219a43724a61_26000000 _call_desc(_0RL_lcfn_7963219a43724a61_57000000, "_get_length", 12);


  _invoke(_call_desc);
  return _call_desc.result;


}


//
// Code for CORBA::ArrayDef::_set_length

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_67000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_46000000* tcd = (_0RL_cd_7963219a43724a61_46000000*)cd;
  CORBA::_impl_ArrayDef* impl = (CORBA::_impl_ArrayDef*) svnt->_ptrToInterface(CORBA::ArrayDef::_PD_repoId);
  impl->length(tcd->arg_0);


}

void CORBA::_objref_ArrayDef::length(::CORBA::ULong _v)
{
  _0RL_cd_7963219a43724a61_46000000 _call_desc(_0RL_lcfn_7963219a43724a61_67000000, "_set_length", 12);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}


//
// Code for CORBA::ArrayDef::_get_element_type

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_77000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_53000000* tcd = (_0RL_cd_7963219a43724a61_53000000*)cd;
  CORBA::_impl_ArrayDef* impl = (CORBA::_impl_ArrayDef*) svnt->_ptrToInterface(CORBA::ArrayDef::_PD_repoId);
  tcd->result = impl->element_type();


}

::CORBA::TypeCode_ptr CORBA::_objref_ArrayDef::element_type()
{
  _0RL_cd_7963219a43724a61_53000000 _call_desc(_0RL_lcfn_7963219a43724a61_77000000, "_get_element_type", 18);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::ArrayDef::_get_element_type_def

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_87000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_74000000* tcd = (_0RL_cd_7963219a43724a61_74000000*)cd;
  CORBA::_impl_ArrayDef* impl = (CORBA::_impl_ArrayDef*) svnt->_ptrToInterface(CORBA::ArrayDef::_PD_repoId);
  tcd->result = impl->element_type_def();


}

CORBA::IDLType_ptr CORBA::_objref_ArrayDef::element_type_def()
{
  _0RL_cd_7963219a43724a61_74000000 _call_desc(_0RL_lcfn_7963219a43724a61_87000000, "_get_element_type_def", 22);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::ArrayDef::_set_element_type_def

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_97000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_94000000* tcd = (_0RL_cd_7963219a43724a61_94000000*)cd;
  CORBA::_impl_ArrayDef* impl = (CORBA::_impl_ArrayDef*) svnt->_ptrToInterface(CORBA::ArrayDef::_PD_repoId);
  impl->element_type_def(tcd->arg_0);


}

void CORBA::_objref_ArrayDef::element_type_def(::CORBA::IDLType_ptr _v)
{
  _0RL_cd_7963219a43724a61_94000000 _call_desc(_0RL_lcfn_7963219a43724a61_97000000, "_set_element_type_def", 22);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}

CORBA::_pof_ArrayDef::~_pof_ArrayDef() {}


omniObjRef*
CORBA::_pof_ArrayDef::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CORBA::_objref_ArrayDef(ior, id);
}


::CORBA::Boolean
CORBA::_pof_ArrayDef::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CORBA::ArrayDef::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CORBA::IDLType::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IRObject::_PD_repoId))
    return 1;


  return 0;
}

const CORBA::_pof_ArrayDef _the_pof_CORBA_mArrayDef;

CORBA::_impl_ArrayDef::~_impl_ArrayDef() {}


::CORBA::Boolean
CORBA::_impl_ArrayDef::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "_get_length")) {

    _0RL_cd_7963219a43724a61_26000000 _call_desc(_0RL_lcfn_7963219a43724a61_57000000, "_get_length", 12, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_length")) {

    _0RL_cd_7963219a43724a61_46000000 _call_desc(_0RL_lcfn_7963219a43724a61_67000000, "_set_length", 12, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_element_type")) {

    _0RL_cd_7963219a43724a61_53000000 _call_desc(_0RL_lcfn_7963219a43724a61_77000000, "_get_element_type", 18, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_element_type_def")) {

    _0RL_cd_7963219a43724a61_74000000 _call_desc(_0RL_lcfn_7963219a43724a61_87000000, "_get_element_type_def", 22, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_element_type_def")) {

    _0RL_cd_7963219a43724a61_94000000 _call_desc(_0RL_lcfn_7963219a43724a61_97000000, "_set_element_type_def", 22, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_IDLType::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_IDLType*)this)->
      _impl_IDLType::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CORBA::_impl_ArrayDef::_ptrToInterface(const char* id)
{
  if (id == ::CORBA::ArrayDef::_PD_repoId)
    return (::CORBA::_impl_ArrayDef*) this;
  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::_impl_IDLType*) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::_impl_IRObject*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CORBA::ArrayDef::_PD_repoId))
    return (::CORBA::_impl_ArrayDef*) this;
  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::_impl_IDLType*) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::_impl_IRObject*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CORBA::_impl_ArrayDef::_mostDerivedRepoId()
{
  return ::CORBA::ArrayDef::_PD_repoId;
}

CORBA::ExceptionDef_ptr CORBA::ExceptionDef_Helper::_nil() {
  return ::CORBA::ExceptionDef::_nil();
}

::CORBA::Boolean CORBA::ExceptionDef_Helper::is_nil(::CORBA::ExceptionDef_ptr p) {
  return ::CORBA::is_nil(p);

}

void CORBA::ExceptionDef_Helper::release(::CORBA::ExceptionDef_ptr p) {
  ::CORBA::release(p);
}

void CORBA::ExceptionDef_Helper::marshalObjRef(::CORBA::ExceptionDef_ptr obj, cdrStream& s) {
  ::CORBA::ExceptionDef::_marshalObjRef(obj, s);
}

CORBA::ExceptionDef_ptr CORBA::ExceptionDef_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CORBA::ExceptionDef::_unmarshalObjRef(s);
}

void CORBA::ExceptionDef_Helper::duplicate(::CORBA::ExceptionDef_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CORBA::ExceptionDef_ptr
CORBA::ExceptionDef::_duplicate(::CORBA::ExceptionDef_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CORBA::ExceptionDef_ptr
CORBA::ExceptionDef::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CORBA::ExceptionDef_ptr
CORBA::ExceptionDef::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CORBA::ExceptionDef_ptr
CORBA::ExceptionDef::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_ExceptionDef _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_ExceptionDef* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_ExceptionDef;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CORBA::ExceptionDef::_PD_repoId = "IDL:omg.org/CORBA/ExceptionDef:1.0";


CORBA::_objref_ExceptionDef::~_objref_ExceptionDef() {
  
}


CORBA::_objref_ExceptionDef::_objref_ExceptionDef(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CORBA::ExceptionDef::_PD_repoId, ior, id, 1),
   _objref_Contained(ior, id),
   _objref_Container(ior, id)
   
{
  _PR_setobj(this);
}

void*
CORBA::_objref_ExceptionDef::_ptrToObjRef(const char* id)
{
  if (id == ::CORBA::ExceptionDef::_PD_repoId)
    return (::CORBA::ExceptionDef_ptr) this;
  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::Contained_ptr) this;

  if (id == ::CORBA::Container::_PD_repoId)
    return (::CORBA::Container_ptr) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::IRObject_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CORBA::ExceptionDef::_PD_repoId))
    return (::CORBA::ExceptionDef_ptr) this;
  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::Contained_ptr) this;

  if (omni::strMatch(id, ::CORBA::Container::_PD_repoId))
    return (::CORBA::Container_ptr) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::IRObject_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CORBA::ExceptionDef::_get_type

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_a7000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_53000000* tcd = (_0RL_cd_7963219a43724a61_53000000*)cd;
  CORBA::_impl_ExceptionDef* impl = (CORBA::_impl_ExceptionDef*) svnt->_ptrToInterface(CORBA::ExceptionDef::_PD_repoId);
  tcd->result = impl->type();


}

::CORBA::TypeCode_ptr CORBA::_objref_ExceptionDef::type()
{
  _0RL_cd_7963219a43724a61_53000000 _call_desc(_0RL_lcfn_7963219a43724a61_a7000000, "_get_type", 10);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::ExceptionDef::_get_members

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_b7000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_f4000000* tcd = (_0RL_cd_7963219a43724a61_f4000000*)cd;
  CORBA::_impl_ExceptionDef* impl = (CORBA::_impl_ExceptionDef*) svnt->_ptrToInterface(CORBA::ExceptionDef::_PD_repoId);
  tcd->result = impl->members();


}

CORBA::StructMemberSeq* CORBA::_objref_ExceptionDef::members()
{
  _0RL_cd_7963219a43724a61_f4000000 _call_desc(_0RL_lcfn_7963219a43724a61_b7000000, "_get_members", 13);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::ExceptionDef::_set_members

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_c7000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_15000000* tcd = (_0RL_cd_7963219a43724a61_15000000*)cd;
  CORBA::_impl_ExceptionDef* impl = (CORBA::_impl_ExceptionDef*) svnt->_ptrToInterface(CORBA::ExceptionDef::_PD_repoId);
  impl->members(*tcd->arg_0);


}

void CORBA::_objref_ExceptionDef::members(const ::CORBA::StructMemberSeq& _v)
{
  _0RL_cd_7963219a43724a61_15000000 _call_desc(_0RL_lcfn_7963219a43724a61_c7000000, "_set_members", 13);
  _call_desc.arg_0 = &(::CORBA::StructMemberSeq&) _v;

  _invoke(_call_desc);



}

CORBA::_pof_ExceptionDef::~_pof_ExceptionDef() {}


omniObjRef*
CORBA::_pof_ExceptionDef::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CORBA::_objref_ExceptionDef(ior, id);
}


::CORBA::Boolean
CORBA::_pof_ExceptionDef::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CORBA::ExceptionDef::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CORBA::Contained::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::Container::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IRObject::_PD_repoId))
    return 1;


  return 0;
}

const CORBA::_pof_ExceptionDef _the_pof_CORBA_mExceptionDef;

CORBA::_impl_ExceptionDef::~_impl_ExceptionDef() {}


::CORBA::Boolean
CORBA::_impl_ExceptionDef::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "_get_type")) {

    _0RL_cd_7963219a43724a61_53000000 _call_desc(_0RL_lcfn_7963219a43724a61_a7000000, "_get_type", 10, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_members")) {

    _0RL_cd_7963219a43724a61_f4000000 _call_desc(_0RL_lcfn_7963219a43724a61_b7000000, "_get_members", 13, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_members")) {

    _0RL_cd_7963219a43724a61_15000000 _call_desc(_0RL_lcfn_7963219a43724a61_c7000000, "_set_members", 13, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_Contained::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_Contained*)this)->
      _impl_Contained::_dispatch(_handle)) {
    return 1;
  }
#endif

  
#ifndef _MSC_VER
  if (_impl_Container::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_Container*)this)->
      _impl_Container::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CORBA::_impl_ExceptionDef::_ptrToInterface(const char* id)
{
  if (id == ::CORBA::ExceptionDef::_PD_repoId)
    return (::CORBA::_impl_ExceptionDef*) this;
  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::_impl_Contained*) this;

  if (id == ::CORBA::Container::_PD_repoId)
    return (::CORBA::_impl_Container*) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::_impl_IRObject*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CORBA::ExceptionDef::_PD_repoId))
    return (::CORBA::_impl_ExceptionDef*) this;
  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::_impl_Contained*) this;

  if (omni::strMatch(id, ::CORBA::Container::_PD_repoId))
    return (::CORBA::_impl_Container*) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::_impl_IRObject*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CORBA::_impl_ExceptionDef::_mostDerivedRepoId()
{
  return ::CORBA::ExceptionDef::_PD_repoId;
}

void
CORBA::ExceptionDescription::operator>>= (cdrStream &_n) const
{
  _n.marshalString(name,0);
  _n.marshalString(id,0);
  _n.marshalString(defined_in,0);
  _n.marshalString(version,0);
  ::CORBA::TypeCode::marshalTypeCode(type,_n);

}

void
CORBA::ExceptionDescription::operator<<= (cdrStream &_n)
{
  name = _n.unmarshalString(0);
  id = _n.unmarshalString(0);
  defined_in = _n.unmarshalString(0);
  version = _n.unmarshalString(0);
  type = ::CORBA::TypeCode::unmarshalTypeCode(_n);

}

CORBA::AttributeDef_ptr CORBA::AttributeDef_Helper::_nil() {
  return ::CORBA::AttributeDef::_nil();
}

::CORBA::Boolean CORBA::AttributeDef_Helper::is_nil(::CORBA::AttributeDef_ptr p) {
  return ::CORBA::is_nil(p);

}

void CORBA::AttributeDef_Helper::release(::CORBA::AttributeDef_ptr p) {
  ::CORBA::release(p);
}

void CORBA::AttributeDef_Helper::marshalObjRef(::CORBA::AttributeDef_ptr obj, cdrStream& s) {
  ::CORBA::AttributeDef::_marshalObjRef(obj, s);
}

CORBA::AttributeDef_ptr CORBA::AttributeDef_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CORBA::AttributeDef::_unmarshalObjRef(s);
}

void CORBA::AttributeDef_Helper::duplicate(::CORBA::AttributeDef_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CORBA::AttributeDef_ptr
CORBA::AttributeDef::_duplicate(::CORBA::AttributeDef_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CORBA::AttributeDef_ptr
CORBA::AttributeDef::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CORBA::AttributeDef_ptr
CORBA::AttributeDef::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CORBA::AttributeDef_ptr
CORBA::AttributeDef::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_AttributeDef _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_AttributeDef* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_AttributeDef;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CORBA::AttributeDef::_PD_repoId = "IDL:omg.org/CORBA/AttributeDef:1.0";


CORBA::_objref_AttributeDef::~_objref_AttributeDef() {
  
}


CORBA::_objref_AttributeDef::_objref_AttributeDef(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CORBA::AttributeDef::_PD_repoId, ior, id, 1),
   _objref_Contained(ior, id)
   
{
  _PR_setobj(this);
}

void*
CORBA::_objref_AttributeDef::_ptrToObjRef(const char* id)
{
  if (id == ::CORBA::AttributeDef::_PD_repoId)
    return (::CORBA::AttributeDef_ptr) this;
  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::Contained_ptr) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::IRObject_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CORBA::AttributeDef::_PD_repoId))
    return (::CORBA::AttributeDef_ptr) this;
  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::Contained_ptr) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::IRObject_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CORBA::AttributeDef::_get_type

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_d7000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_53000000* tcd = (_0RL_cd_7963219a43724a61_53000000*)cd;
  CORBA::_impl_AttributeDef* impl = (CORBA::_impl_AttributeDef*) svnt->_ptrToInterface(CORBA::AttributeDef::_PD_repoId);
  tcd->result = impl->type();


}

::CORBA::TypeCode_ptr CORBA::_objref_AttributeDef::type()
{
  _0RL_cd_7963219a43724a61_53000000 _call_desc(_0RL_lcfn_7963219a43724a61_d7000000, "_get_type", 10);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::AttributeDef::_get_type_def

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_e7000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_74000000* tcd = (_0RL_cd_7963219a43724a61_74000000*)cd;
  CORBA::_impl_AttributeDef* impl = (CORBA::_impl_AttributeDef*) svnt->_ptrToInterface(CORBA::AttributeDef::_PD_repoId);
  tcd->result = impl->type_def();


}

CORBA::IDLType_ptr CORBA::_objref_AttributeDef::type_def()
{
  _0RL_cd_7963219a43724a61_74000000 _call_desc(_0RL_lcfn_7963219a43724a61_e7000000, "_get_type_def", 14);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::AttributeDef::_set_type_def

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_f7000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_94000000* tcd = (_0RL_cd_7963219a43724a61_94000000*)cd;
  CORBA::_impl_AttributeDef* impl = (CORBA::_impl_AttributeDef*) svnt->_ptrToInterface(CORBA::AttributeDef::_PD_repoId);
  impl->type_def(tcd->arg_0);


}

void CORBA::_objref_AttributeDef::type_def(::CORBA::IDLType_ptr _v)
{
  _0RL_cd_7963219a43724a61_94000000 _call_desc(_0RL_lcfn_7963219a43724a61_f7000000, "_set_type_def", 14);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}


//
// Code for CORBA::AttributeDef::_get_mode

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mAttributeMode
class _0RL_cd_7963219a43724a61_08000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_08000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  CORBA::AttributeMode result;
};

void _0RL_cd_7963219a43724a61_08000000::marshalReturnedValues(cdrStream& _n)
{
  result >>= _n;

}

void _0RL_cd_7963219a43724a61_08000000::unmarshalReturnedValues(cdrStream& _n)
{
  (CORBA::AttributeMode&)result <<= _n;

}

const char* const _0RL_cd_7963219a43724a61_08000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_18000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_08000000* tcd = (_0RL_cd_7963219a43724a61_08000000*)cd;
  CORBA::_impl_AttributeDef* impl = (CORBA::_impl_AttributeDef*) svnt->_ptrToInterface(CORBA::AttributeDef::_PD_repoId);
  tcd->result = impl->mode();


}

CORBA::AttributeMode CORBA::_objref_AttributeDef::mode()
{
  _0RL_cd_7963219a43724a61_08000000 _call_desc(_0RL_lcfn_7963219a43724a61_18000000, "_get_mode", 10);


  _invoke(_call_desc);
  return _call_desc.result;


}


//
// Code for CORBA::AttributeDef::_set_mode

// Proxy call descriptor class. Mangled signature:
//  void_i_cCORBA_mAttributeMode
class _0RL_cd_7963219a43724a61_28000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_28000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

    
  
  static const char* const _user_exns[];

  CORBA::AttributeMode arg_0;
};

void _0RL_cd_7963219a43724a61_28000000::marshalArguments(cdrStream& _n)
{
  arg_0 >>= _n;

}

void _0RL_cd_7963219a43724a61_28000000::unmarshalArguments(cdrStream& _n)
{
  (CORBA::AttributeMode&)arg_0 <<= _n;

}

const char* const _0RL_cd_7963219a43724a61_28000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_38000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_28000000* tcd = (_0RL_cd_7963219a43724a61_28000000*)cd;
  CORBA::_impl_AttributeDef* impl = (CORBA::_impl_AttributeDef*) svnt->_ptrToInterface(CORBA::AttributeDef::_PD_repoId);
  impl->mode(tcd->arg_0);


}

void CORBA::_objref_AttributeDef::mode(::CORBA::AttributeMode _v)
{
  _0RL_cd_7963219a43724a61_28000000 _call_desc(_0RL_lcfn_7963219a43724a61_38000000, "_set_mode", 10);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}

CORBA::_pof_AttributeDef::~_pof_AttributeDef() {}


omniObjRef*
CORBA::_pof_AttributeDef::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CORBA::_objref_AttributeDef(ior, id);
}


::CORBA::Boolean
CORBA::_pof_AttributeDef::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CORBA::AttributeDef::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CORBA::Contained::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IRObject::_PD_repoId))
    return 1;


  return 0;
}

const CORBA::_pof_AttributeDef _the_pof_CORBA_mAttributeDef;

CORBA::_impl_AttributeDef::~_impl_AttributeDef() {}


::CORBA::Boolean
CORBA::_impl_AttributeDef::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "_get_type")) {

    _0RL_cd_7963219a43724a61_53000000 _call_desc(_0RL_lcfn_7963219a43724a61_d7000000, "_get_type", 10, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_type_def")) {

    _0RL_cd_7963219a43724a61_74000000 _call_desc(_0RL_lcfn_7963219a43724a61_e7000000, "_get_type_def", 14, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_type_def")) {

    _0RL_cd_7963219a43724a61_94000000 _call_desc(_0RL_lcfn_7963219a43724a61_f7000000, "_set_type_def", 14, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_mode")) {

    _0RL_cd_7963219a43724a61_08000000 _call_desc(_0RL_lcfn_7963219a43724a61_18000000, "_get_mode", 10, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_mode")) {

    _0RL_cd_7963219a43724a61_28000000 _call_desc(_0RL_lcfn_7963219a43724a61_38000000, "_set_mode", 10, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_Contained::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_Contained*)this)->
      _impl_Contained::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CORBA::_impl_AttributeDef::_ptrToInterface(const char* id)
{
  if (id == ::CORBA::AttributeDef::_PD_repoId)
    return (::CORBA::_impl_AttributeDef*) this;
  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::_impl_Contained*) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::_impl_IRObject*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CORBA::AttributeDef::_PD_repoId))
    return (::CORBA::_impl_AttributeDef*) this;
  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::_impl_Contained*) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::_impl_IRObject*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CORBA::_impl_AttributeDef::_mostDerivedRepoId()
{
  return ::CORBA::AttributeDef::_PD_repoId;
}

void
CORBA::AttributeDescription::operator>>= (cdrStream &_n) const
{
  _n.marshalString(name,0);
  _n.marshalString(id,0);
  _n.marshalString(defined_in,0);
  _n.marshalString(version,0);
  ::CORBA::TypeCode::marshalTypeCode(type,_n);
  mode >>= _n;

}

void
CORBA::AttributeDescription::operator<<= (cdrStream &_n)
{
  name = _n.unmarshalString(0);
  id = _n.unmarshalString(0);
  defined_in = _n.unmarshalString(0);
  version = _n.unmarshalString(0);
  type = ::CORBA::TypeCode::unmarshalTypeCode(_n);
  (AttributeMode&)mode <<= _n;

}

void
CORBA::ParameterDescription::operator>>= (cdrStream &_n) const
{
  _n.marshalString(name,0);
  ::CORBA::TypeCode::marshalTypeCode(type,_n);
  IDLType_Helper::marshalObjRef(type_def,_n);
  mode >>= _n;

}

void
CORBA::ParameterDescription::operator<<= (cdrStream &_n)
{
  name = _n.unmarshalString(0);
  type = ::CORBA::TypeCode::unmarshalTypeCode(_n);
  type_def = IDLType_Helper::unmarshalObjRef(_n);
  (ParameterMode&)mode <<= _n;

}

CORBA::OperationDef_ptr CORBA::OperationDef_Helper::_nil() {
  return ::CORBA::OperationDef::_nil();
}

::CORBA::Boolean CORBA::OperationDef_Helper::is_nil(::CORBA::OperationDef_ptr p) {
  return ::CORBA::is_nil(p);

}

void CORBA::OperationDef_Helper::release(::CORBA::OperationDef_ptr p) {
  ::CORBA::release(p);
}

void CORBA::OperationDef_Helper::marshalObjRef(::CORBA::OperationDef_ptr obj, cdrStream& s) {
  ::CORBA::OperationDef::_marshalObjRef(obj, s);
}

CORBA::OperationDef_ptr CORBA::OperationDef_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CORBA::OperationDef::_unmarshalObjRef(s);
}

void CORBA::OperationDef_Helper::duplicate(::CORBA::OperationDef_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CORBA::OperationDef_ptr
CORBA::OperationDef::_duplicate(::CORBA::OperationDef_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CORBA::OperationDef_ptr
CORBA::OperationDef::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CORBA::OperationDef_ptr
CORBA::OperationDef::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CORBA::OperationDef_ptr
CORBA::OperationDef::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_OperationDef _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_OperationDef* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_OperationDef;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CORBA::OperationDef::_PD_repoId = "IDL:omg.org/CORBA/OperationDef:1.0";


CORBA::_objref_OperationDef::~_objref_OperationDef() {
  
}


CORBA::_objref_OperationDef::_objref_OperationDef(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CORBA::OperationDef::_PD_repoId, ior, id, 1),
   _objref_Contained(ior, id)
   
{
  _PR_setobj(this);
}

void*
CORBA::_objref_OperationDef::_ptrToObjRef(const char* id)
{
  if (id == ::CORBA::OperationDef::_PD_repoId)
    return (::CORBA::OperationDef_ptr) this;
  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::Contained_ptr) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::IRObject_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CORBA::OperationDef::_PD_repoId))
    return (::CORBA::OperationDef_ptr) this;
  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::Contained_ptr) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::IRObject_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CORBA::OperationDef::_get_result

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_48000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_53000000* tcd = (_0RL_cd_7963219a43724a61_53000000*)cd;
  CORBA::_impl_OperationDef* impl = (CORBA::_impl_OperationDef*) svnt->_ptrToInterface(CORBA::OperationDef::_PD_repoId);
  tcd->result = impl->result();


}

::CORBA::TypeCode_ptr CORBA::_objref_OperationDef::result()
{
  _0RL_cd_7963219a43724a61_53000000 _call_desc(_0RL_lcfn_7963219a43724a61_48000000, "_get_result", 12);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::OperationDef::_get_result_def

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_58000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_74000000* tcd = (_0RL_cd_7963219a43724a61_74000000*)cd;
  CORBA::_impl_OperationDef* impl = (CORBA::_impl_OperationDef*) svnt->_ptrToInterface(CORBA::OperationDef::_PD_repoId);
  tcd->result = impl->result_def();


}

CORBA::IDLType_ptr CORBA::_objref_OperationDef::result_def()
{
  _0RL_cd_7963219a43724a61_74000000 _call_desc(_0RL_lcfn_7963219a43724a61_58000000, "_get_result_def", 16);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::OperationDef::_set_result_def

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_68000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_94000000* tcd = (_0RL_cd_7963219a43724a61_94000000*)cd;
  CORBA::_impl_OperationDef* impl = (CORBA::_impl_OperationDef*) svnt->_ptrToInterface(CORBA::OperationDef::_PD_repoId);
  impl->result_def(tcd->arg_0);


}

void CORBA::_objref_OperationDef::result_def(::CORBA::IDLType_ptr _v)
{
  _0RL_cd_7963219a43724a61_94000000 _call_desc(_0RL_lcfn_7963219a43724a61_68000000, "_set_result_def", 16);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}


//
// Code for CORBA::OperationDef::_get_params

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mParDescriptionSeq
class _0RL_cd_7963219a43724a61_78000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_78000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  CORBA::ParDescriptionSeq_var result;
};

void _0RL_cd_7963219a43724a61_78000000::marshalReturnedValues(cdrStream& _n)
{
  (const CORBA::ParDescriptionSeq&) result >>= _n;

}

void _0RL_cd_7963219a43724a61_78000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = new CORBA::ParDescriptionSeq;
  (CORBA::ParDescriptionSeq&)result <<= _n;

}

const char* const _0RL_cd_7963219a43724a61_78000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_88000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_78000000* tcd = (_0RL_cd_7963219a43724a61_78000000*)cd;
  CORBA::_impl_OperationDef* impl = (CORBA::_impl_OperationDef*) svnt->_ptrToInterface(CORBA::OperationDef::_PD_repoId);
  tcd->result = impl->params();


}

CORBA::ParDescriptionSeq* CORBA::_objref_OperationDef::params()
{
  _0RL_cd_7963219a43724a61_78000000 _call_desc(_0RL_lcfn_7963219a43724a61_88000000, "_get_params", 12);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::OperationDef::_set_params

// Proxy call descriptor class. Mangled signature:
//  void_i_cCORBA_mParDescriptionSeq
class _0RL_cd_7963219a43724a61_98000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_98000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

    
  
  static const char* const _user_exns[];

  CORBA::ParDescriptionSeq_var arg_0_;
  const CORBA::ParDescriptionSeq* arg_0;
};

void _0RL_cd_7963219a43724a61_98000000::marshalArguments(cdrStream& _n)
{
  (const CORBA::ParDescriptionSeq&) *arg_0 >>= _n;

}

void _0RL_cd_7963219a43724a61_98000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = new CORBA::ParDescriptionSeq;
  (CORBA::ParDescriptionSeq&)arg_0_ <<= _n;
  arg_0 = &arg_0_.in();

}

const char* const _0RL_cd_7963219a43724a61_98000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_a8000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_98000000* tcd = (_0RL_cd_7963219a43724a61_98000000*)cd;
  CORBA::_impl_OperationDef* impl = (CORBA::_impl_OperationDef*) svnt->_ptrToInterface(CORBA::OperationDef::_PD_repoId);
  impl->params(*tcd->arg_0);


}

void CORBA::_objref_OperationDef::params(const ::CORBA::ParDescriptionSeq& _v)
{
  _0RL_cd_7963219a43724a61_98000000 _call_desc(_0RL_lcfn_7963219a43724a61_a8000000, "_set_params", 12);
  _call_desc.arg_0 = &(::CORBA::ParDescriptionSeq&) _v;

  _invoke(_call_desc);



}


//
// Code for CORBA::OperationDef::_get_mode

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mOperationMode
class _0RL_cd_7963219a43724a61_b8000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_b8000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  CORBA::OperationMode result;
};

void _0RL_cd_7963219a43724a61_b8000000::marshalReturnedValues(cdrStream& _n)
{
  result >>= _n;

}

void _0RL_cd_7963219a43724a61_b8000000::unmarshalReturnedValues(cdrStream& _n)
{
  (CORBA::OperationMode&)result <<= _n;

}

const char* const _0RL_cd_7963219a43724a61_b8000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_c8000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_b8000000* tcd = (_0RL_cd_7963219a43724a61_b8000000*)cd;
  CORBA::_impl_OperationDef* impl = (CORBA::_impl_OperationDef*) svnt->_ptrToInterface(CORBA::OperationDef::_PD_repoId);
  tcd->result = impl->mode();


}

CORBA::OperationMode CORBA::_objref_OperationDef::mode()
{
  _0RL_cd_7963219a43724a61_b8000000 _call_desc(_0RL_lcfn_7963219a43724a61_c8000000, "_get_mode", 10);


  _invoke(_call_desc);
  return _call_desc.result;


}


//
// Code for CORBA::OperationDef::_set_mode

// Proxy call descriptor class. Mangled signature:
//  void_i_cCORBA_mOperationMode
class _0RL_cd_7963219a43724a61_d8000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_d8000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

    
  
  static const char* const _user_exns[];

  CORBA::OperationMode arg_0;
};

void _0RL_cd_7963219a43724a61_d8000000::marshalArguments(cdrStream& _n)
{
  arg_0 >>= _n;

}

void _0RL_cd_7963219a43724a61_d8000000::unmarshalArguments(cdrStream& _n)
{
  (CORBA::OperationMode&)arg_0 <<= _n;

}

const char* const _0RL_cd_7963219a43724a61_d8000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_e8000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_d8000000* tcd = (_0RL_cd_7963219a43724a61_d8000000*)cd;
  CORBA::_impl_OperationDef* impl = (CORBA::_impl_OperationDef*) svnt->_ptrToInterface(CORBA::OperationDef::_PD_repoId);
  impl->mode(tcd->arg_0);


}

void CORBA::_objref_OperationDef::mode(::CORBA::OperationMode _v)
{
  _0RL_cd_7963219a43724a61_d8000000 _call_desc(_0RL_lcfn_7963219a43724a61_e8000000, "_set_mode", 10);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}


//
// Code for CORBA::OperationDef::_get_contexts

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mContextIdSeq
class _0RL_cd_7963219a43724a61_f8000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_f8000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  CORBA::ContextIdSeq_var result;
};

void _0RL_cd_7963219a43724a61_f8000000::marshalReturnedValues(cdrStream& _n)
{
  (const CORBA::ContextIdSeq&) result >>= _n;

}

void _0RL_cd_7963219a43724a61_f8000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = new CORBA::ContextIdSeq;
  (CORBA::ContextIdSeq&)result <<= _n;

}

const char* const _0RL_cd_7963219a43724a61_f8000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_09000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_f8000000* tcd = (_0RL_cd_7963219a43724a61_f8000000*)cd;
  CORBA::_impl_OperationDef* impl = (CORBA::_impl_OperationDef*) svnt->_ptrToInterface(CORBA::OperationDef::_PD_repoId);
  tcd->result = impl->contexts();


}

CORBA::ContextIdSeq* CORBA::_objref_OperationDef::contexts()
{
  _0RL_cd_7963219a43724a61_f8000000 _call_desc(_0RL_lcfn_7963219a43724a61_09000000, "_get_contexts", 14);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::OperationDef::_set_contexts

// Proxy call descriptor class. Mangled signature:
//  void_i_cCORBA_mContextIdSeq
class _0RL_cd_7963219a43724a61_19000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_19000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

    
  
  static const char* const _user_exns[];

  CORBA::ContextIdSeq_var arg_0_;
  const CORBA::ContextIdSeq* arg_0;
};

void _0RL_cd_7963219a43724a61_19000000::marshalArguments(cdrStream& _n)
{
  (const CORBA::ContextIdSeq&) *arg_0 >>= _n;

}

void _0RL_cd_7963219a43724a61_19000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = new CORBA::ContextIdSeq;
  (CORBA::ContextIdSeq&)arg_0_ <<= _n;
  arg_0 = &arg_0_.in();

}

const char* const _0RL_cd_7963219a43724a61_19000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_29000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_19000000* tcd = (_0RL_cd_7963219a43724a61_19000000*)cd;
  CORBA::_impl_OperationDef* impl = (CORBA::_impl_OperationDef*) svnt->_ptrToInterface(CORBA::OperationDef::_PD_repoId);
  impl->contexts(*tcd->arg_0);


}

void CORBA::_objref_OperationDef::contexts(const ::CORBA::ContextIdSeq& _v)
{
  _0RL_cd_7963219a43724a61_19000000 _call_desc(_0RL_lcfn_7963219a43724a61_29000000, "_set_contexts", 14);
  _call_desc.arg_0 = &(::CORBA::ContextIdSeq&) _v;

  _invoke(_call_desc);



}


//
// Code for CORBA::OperationDef::_get_exceptions

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mExceptionDefSeq
class _0RL_cd_7963219a43724a61_39000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_39000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  CORBA::ExceptionDefSeq_var result;
};

void _0RL_cd_7963219a43724a61_39000000::marshalReturnedValues(cdrStream& _n)
{
  (const CORBA::ExceptionDefSeq&) result >>= _n;

}

void _0RL_cd_7963219a43724a61_39000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = new CORBA::ExceptionDefSeq;
  (CORBA::ExceptionDefSeq&)result <<= _n;

}

const char* const _0RL_cd_7963219a43724a61_39000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_49000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_39000000* tcd = (_0RL_cd_7963219a43724a61_39000000*)cd;
  CORBA::_impl_OperationDef* impl = (CORBA::_impl_OperationDef*) svnt->_ptrToInterface(CORBA::OperationDef::_PD_repoId);
  tcd->result = impl->exceptions();


}

CORBA::ExceptionDefSeq* CORBA::_objref_OperationDef::exceptions()
{
  _0RL_cd_7963219a43724a61_39000000 _call_desc(_0RL_lcfn_7963219a43724a61_49000000, "_get_exceptions", 16);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::OperationDef::_set_exceptions

// Proxy call descriptor class. Mangled signature:
//  void_i_cCORBA_mExceptionDefSeq
class _0RL_cd_7963219a43724a61_59000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_59000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

    
  
  static const char* const _user_exns[];

  CORBA::ExceptionDefSeq_var arg_0_;
  const CORBA::ExceptionDefSeq* arg_0;
};

void _0RL_cd_7963219a43724a61_59000000::marshalArguments(cdrStream& _n)
{
  (const CORBA::ExceptionDefSeq&) *arg_0 >>= _n;

}

void _0RL_cd_7963219a43724a61_59000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = new CORBA::ExceptionDefSeq;
  (CORBA::ExceptionDefSeq&)arg_0_ <<= _n;
  arg_0 = &arg_0_.in();

}

const char* const _0RL_cd_7963219a43724a61_59000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_69000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_59000000* tcd = (_0RL_cd_7963219a43724a61_59000000*)cd;
  CORBA::_impl_OperationDef* impl = (CORBA::_impl_OperationDef*) svnt->_ptrToInterface(CORBA::OperationDef::_PD_repoId);
  impl->exceptions(*tcd->arg_0);


}

void CORBA::_objref_OperationDef::exceptions(const ::CORBA::ExceptionDefSeq& _v)
{
  _0RL_cd_7963219a43724a61_59000000 _call_desc(_0RL_lcfn_7963219a43724a61_69000000, "_set_exceptions", 16);
  _call_desc.arg_0 = &(::CORBA::ExceptionDefSeq&) _v;

  _invoke(_call_desc);



}

CORBA::_pof_OperationDef::~_pof_OperationDef() {}


omniObjRef*
CORBA::_pof_OperationDef::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CORBA::_objref_OperationDef(ior, id);
}


::CORBA::Boolean
CORBA::_pof_OperationDef::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CORBA::OperationDef::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CORBA::Contained::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IRObject::_PD_repoId))
    return 1;


  return 0;
}

const CORBA::_pof_OperationDef _the_pof_CORBA_mOperationDef;

CORBA::_impl_OperationDef::~_impl_OperationDef() {}


::CORBA::Boolean
CORBA::_impl_OperationDef::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "_get_result")) {

    _0RL_cd_7963219a43724a61_53000000 _call_desc(_0RL_lcfn_7963219a43724a61_48000000, "_get_result", 12, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_result_def")) {

    _0RL_cd_7963219a43724a61_74000000 _call_desc(_0RL_lcfn_7963219a43724a61_58000000, "_get_result_def", 16, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_result_def")) {

    _0RL_cd_7963219a43724a61_94000000 _call_desc(_0RL_lcfn_7963219a43724a61_68000000, "_set_result_def", 16, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_params")) {

    _0RL_cd_7963219a43724a61_78000000 _call_desc(_0RL_lcfn_7963219a43724a61_88000000, "_get_params", 12, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_params")) {

    _0RL_cd_7963219a43724a61_98000000 _call_desc(_0RL_lcfn_7963219a43724a61_a8000000, "_set_params", 12, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_mode")) {

    _0RL_cd_7963219a43724a61_b8000000 _call_desc(_0RL_lcfn_7963219a43724a61_c8000000, "_get_mode", 10, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_mode")) {

    _0RL_cd_7963219a43724a61_d8000000 _call_desc(_0RL_lcfn_7963219a43724a61_e8000000, "_set_mode", 10, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_contexts")) {

    _0RL_cd_7963219a43724a61_f8000000 _call_desc(_0RL_lcfn_7963219a43724a61_09000000, "_get_contexts", 14, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_contexts")) {

    _0RL_cd_7963219a43724a61_19000000 _call_desc(_0RL_lcfn_7963219a43724a61_29000000, "_set_contexts", 14, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_exceptions")) {

    _0RL_cd_7963219a43724a61_39000000 _call_desc(_0RL_lcfn_7963219a43724a61_49000000, "_get_exceptions", 16, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_exceptions")) {

    _0RL_cd_7963219a43724a61_59000000 _call_desc(_0RL_lcfn_7963219a43724a61_69000000, "_set_exceptions", 16, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_Contained::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_Contained*)this)->
      _impl_Contained::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CORBA::_impl_OperationDef::_ptrToInterface(const char* id)
{
  if (id == ::CORBA::OperationDef::_PD_repoId)
    return (::CORBA::_impl_OperationDef*) this;
  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::_impl_Contained*) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::_impl_IRObject*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CORBA::OperationDef::_PD_repoId))
    return (::CORBA::_impl_OperationDef*) this;
  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::_impl_Contained*) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::_impl_IRObject*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CORBA::_impl_OperationDef::_mostDerivedRepoId()
{
  return ::CORBA::OperationDef::_PD_repoId;
}

void
CORBA::OperationDescription::operator>>= (cdrStream &_n) const
{
  _n.marshalString(name,0);
  _n.marshalString(id,0);
  _n.marshalString(defined_in,0);
  _n.marshalString(version,0);
  ::CORBA::TypeCode::marshalTypeCode(result,_n);
  mode >>= _n;
  (const ContextIdSeq&) contexts >>= _n;
  (const ParDescriptionSeq&) parameters >>= _n;
  (const ExcDescriptionSeq&) exceptions >>= _n;

}

void
CORBA::OperationDescription::operator<<= (cdrStream &_n)
{
  name = _n.unmarshalString(0);
  id = _n.unmarshalString(0);
  defined_in = _n.unmarshalString(0);
  version = _n.unmarshalString(0);
  result = ::CORBA::TypeCode::unmarshalTypeCode(_n);
  (OperationMode&)mode <<= _n;
  (ContextIdSeq&)contexts <<= _n;
  (ParDescriptionSeq&)parameters <<= _n;
  (ExcDescriptionSeq&)exceptions <<= _n;

}

void
CORBA::InterfaceDef::FullInterfaceDescription::operator>>= (cdrStream &_n) const
{
  _n.marshalString(name,0);
  _n.marshalString(id,0);
  _n.marshalString(defined_in,0);
  _n.marshalString(version,0);
  (const OpDescriptionSeq&) operations >>= _n;
  (const AttrDescriptionSeq&) attributes >>= _n;
  (const RepositoryIdSeq&) base_interfaces >>= _n;
  ::CORBA::TypeCode::marshalTypeCode(type,_n);

}

void
CORBA::InterfaceDef::FullInterfaceDescription::operator<<= (cdrStream &_n)
{
  name = _n.unmarshalString(0);
  id = _n.unmarshalString(0);
  defined_in = _n.unmarshalString(0);
  version = _n.unmarshalString(0);
  (OpDescriptionSeq&)operations <<= _n;
  (AttrDescriptionSeq&)attributes <<= _n;
  (RepositoryIdSeq&)base_interfaces <<= _n;
  type = ::CORBA::TypeCode::unmarshalTypeCode(_n);

}

CORBA::InterfaceDef_ptr CORBA::InterfaceDef_Helper::_nil() {
  return ::CORBA::InterfaceDef::_nil();
}

::CORBA::Boolean CORBA::InterfaceDef_Helper::is_nil(::CORBA::InterfaceDef_ptr p) {
  return ::CORBA::is_nil(p);

}

void CORBA::InterfaceDef_Helper::release(::CORBA::InterfaceDef_ptr p) {
  ::CORBA::release(p);
}

void CORBA::InterfaceDef_Helper::marshalObjRef(::CORBA::InterfaceDef_ptr obj, cdrStream& s) {
  ::CORBA::InterfaceDef::_marshalObjRef(obj, s);
}

CORBA::InterfaceDef_ptr CORBA::InterfaceDef_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CORBA::InterfaceDef::_unmarshalObjRef(s);
}

void CORBA::InterfaceDef_Helper::duplicate(::CORBA::InterfaceDef_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CORBA::InterfaceDef_ptr
CORBA::InterfaceDef::_duplicate(::CORBA::InterfaceDef_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CORBA::InterfaceDef_ptr
CORBA::InterfaceDef::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CORBA::InterfaceDef_ptr
CORBA::InterfaceDef::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CORBA::InterfaceDef_ptr
CORBA::InterfaceDef::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_InterfaceDef _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_InterfaceDef* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_InterfaceDef;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CORBA::InterfaceDef::_PD_repoId = "IDL:omg.org/CORBA/InterfaceDef:1.0";


CORBA::_objref_InterfaceDef::~_objref_InterfaceDef() {
  
}


CORBA::_objref_InterfaceDef::_objref_InterfaceDef(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CORBA::InterfaceDef::_PD_repoId, ior, id, 1),
   _objref_Container(ior, id),
   _objref_Contained(ior, id),
   _objref_IDLType(ior, id)
   
{
  _PR_setobj(this);
}

void*
CORBA::_objref_InterfaceDef::_ptrToObjRef(const char* id)
{
  if (id == ::CORBA::InterfaceDef::_PD_repoId)
    return (::CORBA::InterfaceDef_ptr) this;
  if (id == ::CORBA::Container::_PD_repoId)
    return (::CORBA::Container_ptr) this;

  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::Contained_ptr) this;

  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::IDLType_ptr) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::IRObject_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CORBA::InterfaceDef::_PD_repoId))
    return (::CORBA::InterfaceDef_ptr) this;
  if (omni::strMatch(id, ::CORBA::Container::_PD_repoId))
    return (::CORBA::Container_ptr) this;

  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::Contained_ptr) this;

  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::IDLType_ptr) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::IRObject_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CORBA::InterfaceDef::_get_base_interfaces

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mInterfaceDefSeq
class _0RL_cd_7963219a43724a61_79000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_79000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  CORBA::InterfaceDefSeq_var result;
};

void _0RL_cd_7963219a43724a61_79000000::marshalReturnedValues(cdrStream& _n)
{
  (const CORBA::InterfaceDefSeq&) result >>= _n;

}

void _0RL_cd_7963219a43724a61_79000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = new CORBA::InterfaceDefSeq;
  (CORBA::InterfaceDefSeq&)result <<= _n;

}

const char* const _0RL_cd_7963219a43724a61_79000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_89000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_79000000* tcd = (_0RL_cd_7963219a43724a61_79000000*)cd;
  CORBA::_impl_InterfaceDef* impl = (CORBA::_impl_InterfaceDef*) svnt->_ptrToInterface(CORBA::InterfaceDef::_PD_repoId);
  tcd->result = impl->base_interfaces();


}

CORBA::InterfaceDefSeq* CORBA::_objref_InterfaceDef::base_interfaces()
{
  _0RL_cd_7963219a43724a61_79000000 _call_desc(_0RL_lcfn_7963219a43724a61_89000000, "_get_base_interfaces", 21);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::InterfaceDef::_set_base_interfaces

// Proxy call descriptor class. Mangled signature:
//  void_i_cCORBA_mInterfaceDefSeq
class _0RL_cd_7963219a43724a61_99000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_99000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

    
  
  static const char* const _user_exns[];

  CORBA::InterfaceDefSeq_var arg_0_;
  const CORBA::InterfaceDefSeq* arg_0;
};

void _0RL_cd_7963219a43724a61_99000000::marshalArguments(cdrStream& _n)
{
  (const CORBA::InterfaceDefSeq&) *arg_0 >>= _n;

}

void _0RL_cd_7963219a43724a61_99000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = new CORBA::InterfaceDefSeq;
  (CORBA::InterfaceDefSeq&)arg_0_ <<= _n;
  arg_0 = &arg_0_.in();

}

const char* const _0RL_cd_7963219a43724a61_99000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_a9000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_99000000* tcd = (_0RL_cd_7963219a43724a61_99000000*)cd;
  CORBA::_impl_InterfaceDef* impl = (CORBA::_impl_InterfaceDef*) svnt->_ptrToInterface(CORBA::InterfaceDef::_PD_repoId);
  impl->base_interfaces(*tcd->arg_0);


}

void CORBA::_objref_InterfaceDef::base_interfaces(const ::CORBA::InterfaceDefSeq& _v)
{
  _0RL_cd_7963219a43724a61_99000000 _call_desc(_0RL_lcfn_7963219a43724a61_a9000000, "_set_base_interfaces", 21);
  _call_desc.arg_0 = &(::CORBA::InterfaceDefSeq&) _v;

  _invoke(_call_desc);



}


//
// Code for CORBA::InterfaceDef::is_a

// Proxy call descriptor class. Mangled signature:
//  _cboolean_i_cstring
class _0RL_cd_7963219a43724a61_b9000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_b9000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::String_var arg_0_;
  const char* arg_0;
  ::CORBA::Boolean result;
};

void _0RL_cd_7963219a43724a61_b9000000::marshalArguments(cdrStream& _n)
{
  _n.marshalString(arg_0,0);

}

void _0RL_cd_7963219a43724a61_b9000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = _n.unmarshalString(0);
  arg_0 = arg_0_.in();

}

void _0RL_cd_7963219a43724a61_b9000000::marshalReturnedValues(cdrStream& _n)
{
  _n.marshalBoolean(result);

}

void _0RL_cd_7963219a43724a61_b9000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = _n.unmarshalBoolean();

}

const char* const _0RL_cd_7963219a43724a61_b9000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_c9000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_b9000000* tcd = (_0RL_cd_7963219a43724a61_b9000000*)cd;
  CORBA::_impl_InterfaceDef* impl = (CORBA::_impl_InterfaceDef*) svnt->_ptrToInterface(CORBA::InterfaceDef::_PD_repoId);
  tcd->result = impl->is_a(tcd->arg_0);


}

::CORBA::Boolean CORBA::_objref_InterfaceDef::is_a(const char* interface_id)
{
  _0RL_cd_7963219a43724a61_b9000000 _call_desc(_0RL_lcfn_7963219a43724a61_c9000000, "is_a", 5);
  _call_desc.arg_0 = interface_id;

  _invoke(_call_desc);
  return _call_desc.result;


}


//
// Code for CORBA::InterfaceDef::describe_interface

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mInterfaceDef_mFullInterfaceDescription
class _0RL_cd_7963219a43724a61_d9000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_d9000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  CORBA::InterfaceDef::FullInterfaceDescription_var result;
};

void _0RL_cd_7963219a43724a61_d9000000::marshalReturnedValues(cdrStream& _n)
{
  (const CORBA::InterfaceDef::FullInterfaceDescription&) result >>= _n;

}

void _0RL_cd_7963219a43724a61_d9000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = new CORBA::InterfaceDef::FullInterfaceDescription;
  (CORBA::InterfaceDef::FullInterfaceDescription&)result <<= _n;

}

const char* const _0RL_cd_7963219a43724a61_d9000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_e9000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_d9000000* tcd = (_0RL_cd_7963219a43724a61_d9000000*)cd;
  CORBA::_impl_InterfaceDef* impl = (CORBA::_impl_InterfaceDef*) svnt->_ptrToInterface(CORBA::InterfaceDef::_PD_repoId);
  tcd->result = impl->describe_interface();


}

CORBA::InterfaceDef::FullInterfaceDescription* CORBA::_objref_InterfaceDef::describe_interface()
{
  _0RL_cd_7963219a43724a61_d9000000 _call_desc(_0RL_lcfn_7963219a43724a61_e9000000, "describe_interface", 19);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::InterfaceDef::create_attribute

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mAttributeDef_i_cstring_i_cstring_i_cstring_i_cCORBA_mIDLType_i_cCORBA_mAttributeMode
class _0RL_cd_7963219a43724a61_f9000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_f9000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::String_var arg_0_;
  const char* arg_0;
  ::CORBA::String_var arg_1_;
  const char* arg_1;
  ::CORBA::String_var arg_2_;
  const char* arg_2;
  CORBA::IDLType_var arg_3_;
  CORBA::IDLType_ptr arg_3;
  CORBA::AttributeMode arg_4;
  CORBA::AttributeDef_var result;
};

void _0RL_cd_7963219a43724a61_f9000000::marshalArguments(cdrStream& _n)
{
  _n.marshalString(arg_0,0);
  _n.marshalString(arg_1,0);
  _n.marshalString(arg_2,0);
  CORBA::IDLType_Helper::marshalObjRef(arg_3,_n);
  arg_4 >>= _n;

}

void _0RL_cd_7963219a43724a61_f9000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = _n.unmarshalString(0);
  arg_0 = arg_0_.in();
  arg_1_ = _n.unmarshalString(0);
  arg_1 = arg_1_.in();
  arg_2_ = _n.unmarshalString(0);
  arg_2 = arg_2_.in();
  arg_3_ = CORBA::IDLType_Helper::unmarshalObjRef(_n);
  arg_3 = arg_3_.in();
  (CORBA::AttributeMode&)arg_4 <<= _n;

}

void _0RL_cd_7963219a43724a61_f9000000::marshalReturnedValues(cdrStream& _n)
{
  CORBA::AttributeDef::_marshalObjRef(result,_n);

}

void _0RL_cd_7963219a43724a61_f9000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CORBA::AttributeDef::_unmarshalObjRef(_n);

}

const char* const _0RL_cd_7963219a43724a61_f9000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_0a000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_f9000000* tcd = (_0RL_cd_7963219a43724a61_f9000000*)cd;
  CORBA::_impl_InterfaceDef* impl = (CORBA::_impl_InterfaceDef*) svnt->_ptrToInterface(CORBA::InterfaceDef::_PD_repoId);
  tcd->result = impl->create_attribute(tcd->arg_0, tcd->arg_1, tcd->arg_2, tcd->arg_3, tcd->arg_4);


}

CORBA::AttributeDef_ptr CORBA::_objref_InterfaceDef::create_attribute(const char* id, const char* name, const char* version, ::CORBA::IDLType_ptr type, ::CORBA::AttributeMode mode)
{
  _0RL_cd_7963219a43724a61_f9000000 _call_desc(_0RL_lcfn_7963219a43724a61_0a000000, "create_attribute", 17);
  _call_desc.arg_0 = id;
  _call_desc.arg_1 = name;
  _call_desc.arg_2 = version;
  _call_desc.arg_3 = type;
  _call_desc.arg_4 = mode;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::InterfaceDef::create_operation

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mOperationDef_i_cstring_i_cstring_i_cstring_i_cCORBA_mIDLType_i_cCORBA_mOperationMode_i_cCORBA_mParDescriptionSeq_i_cCORBA_mExceptionDefSeq_i_cCORBA_mContextIdSeq
class _0RL_cd_7963219a43724a61_1a000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_1a000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::String_var arg_0_;
  const char* arg_0;
  ::CORBA::String_var arg_1_;
  const char* arg_1;
  ::CORBA::String_var arg_2_;
  const char* arg_2;
  CORBA::IDLType_var arg_3_;
  CORBA::IDLType_ptr arg_3;
  CORBA::OperationMode arg_4;
  CORBA::ParDescriptionSeq_var arg_5_;
  const CORBA::ParDescriptionSeq* arg_5;
  CORBA::ExceptionDefSeq_var arg_6_;
  const CORBA::ExceptionDefSeq* arg_6;
  CORBA::ContextIdSeq_var arg_7_;
  const CORBA::ContextIdSeq* arg_7;
  CORBA::OperationDef_var result;
};

void _0RL_cd_7963219a43724a61_1a000000::marshalArguments(cdrStream& _n)
{
  _n.marshalString(arg_0,0);
  _n.marshalString(arg_1,0);
  _n.marshalString(arg_2,0);
  CORBA::IDLType_Helper::marshalObjRef(arg_3,_n);
  arg_4 >>= _n;
  (const CORBA::ParDescriptionSeq&) *arg_5 >>= _n;
  (const CORBA::ExceptionDefSeq&) *arg_6 >>= _n;
  (const CORBA::ContextIdSeq&) *arg_7 >>= _n;

}

void _0RL_cd_7963219a43724a61_1a000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = _n.unmarshalString(0);
  arg_0 = arg_0_.in();
  arg_1_ = _n.unmarshalString(0);
  arg_1 = arg_1_.in();
  arg_2_ = _n.unmarshalString(0);
  arg_2 = arg_2_.in();
  arg_3_ = CORBA::IDLType_Helper::unmarshalObjRef(_n);
  arg_3 = arg_3_.in();
  (CORBA::OperationMode&)arg_4 <<= _n;
  arg_5_ = new CORBA::ParDescriptionSeq;
  (CORBA::ParDescriptionSeq&)arg_5_ <<= _n;
  arg_5 = &arg_5_.in();
  arg_6_ = new CORBA::ExceptionDefSeq;
  (CORBA::ExceptionDefSeq&)arg_6_ <<= _n;
  arg_6 = &arg_6_.in();
  arg_7_ = new CORBA::ContextIdSeq;
  (CORBA::ContextIdSeq&)arg_7_ <<= _n;
  arg_7 = &arg_7_.in();

}

void _0RL_cd_7963219a43724a61_1a000000::marshalReturnedValues(cdrStream& _n)
{
  CORBA::OperationDef::_marshalObjRef(result,_n);

}

void _0RL_cd_7963219a43724a61_1a000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CORBA::OperationDef::_unmarshalObjRef(_n);

}

const char* const _0RL_cd_7963219a43724a61_1a000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_2a000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_1a000000* tcd = (_0RL_cd_7963219a43724a61_1a000000*)cd;
  CORBA::_impl_InterfaceDef* impl = (CORBA::_impl_InterfaceDef*) svnt->_ptrToInterface(CORBA::InterfaceDef::_PD_repoId);
  tcd->result = impl->create_operation(tcd->arg_0, tcd->arg_1, tcd->arg_2, tcd->arg_3, tcd->arg_4, *tcd->arg_5, *tcd->arg_6, *tcd->arg_7);


}

CORBA::OperationDef_ptr CORBA::_objref_InterfaceDef::create_operation(const char* id, const char* name, const char* version, ::CORBA::IDLType_ptr result, ::CORBA::OperationMode mode, const ::CORBA::ParDescriptionSeq& params, const ::CORBA::ExceptionDefSeq& exceptions, const ::CORBA::ContextIdSeq& contexts)
{
  _0RL_cd_7963219a43724a61_1a000000 _call_desc(_0RL_lcfn_7963219a43724a61_2a000000, "create_operation", 17);
  _call_desc.arg_0 = id;
  _call_desc.arg_1 = name;
  _call_desc.arg_2 = version;
  _call_desc.arg_3 = result;
  _call_desc.arg_4 = mode;
  _call_desc.arg_5 = &(::CORBA::ParDescriptionSeq&) params;
  _call_desc.arg_6 = &(::CORBA::ExceptionDefSeq&) exceptions;
  _call_desc.arg_7 = &(::CORBA::ContextIdSeq&) contexts;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}

CORBA::_pof_InterfaceDef::~_pof_InterfaceDef() {}


omniObjRef*
CORBA::_pof_InterfaceDef::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CORBA::_objref_InterfaceDef(ior, id);
}


::CORBA::Boolean
CORBA::_pof_InterfaceDef::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CORBA::InterfaceDef::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CORBA::Container::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::Contained::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IDLType::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IRObject::_PD_repoId))
    return 1;


  return 0;
}

const CORBA::_pof_InterfaceDef _the_pof_CORBA_mInterfaceDef;

CORBA::_impl_InterfaceDef::~_impl_InterfaceDef() {}


::CORBA::Boolean
CORBA::_impl_InterfaceDef::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "_get_base_interfaces")) {

    _0RL_cd_7963219a43724a61_79000000 _call_desc(_0RL_lcfn_7963219a43724a61_89000000, "_get_base_interfaces", 21, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_base_interfaces")) {

    _0RL_cd_7963219a43724a61_99000000 _call_desc(_0RL_lcfn_7963219a43724a61_a9000000, "_set_base_interfaces", 21, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "is_a")) {

    _0RL_cd_7963219a43724a61_b9000000 _call_desc(_0RL_lcfn_7963219a43724a61_c9000000, "is_a", 5, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "describe_interface")) {

    _0RL_cd_7963219a43724a61_d9000000 _call_desc(_0RL_lcfn_7963219a43724a61_e9000000, "describe_interface", 19, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "create_attribute")) {

    _0RL_cd_7963219a43724a61_f9000000 _call_desc(_0RL_lcfn_7963219a43724a61_0a000000, "create_attribute", 17, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "create_operation")) {

    _0RL_cd_7963219a43724a61_1a000000 _call_desc(_0RL_lcfn_7963219a43724a61_2a000000, "create_operation", 17, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_Container::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_Container*)this)->
      _impl_Container::_dispatch(_handle)) {
    return 1;
  }
#endif

  
#ifndef _MSC_VER
  if (_impl_Contained::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_Contained*)this)->
      _impl_Contained::_dispatch(_handle)) {
    return 1;
  }
#endif

  
#ifndef _MSC_VER
  if (_impl_IDLType::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_IDLType*)this)->
      _impl_IDLType::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CORBA::_impl_InterfaceDef::_ptrToInterface(const char* id)
{
  if (id == ::CORBA::InterfaceDef::_PD_repoId)
    return (::CORBA::_impl_InterfaceDef*) this;
  if (id == ::CORBA::Container::_PD_repoId)
    return (::CORBA::_impl_Container*) this;

  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::_impl_Contained*) this;

  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::_impl_IDLType*) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::_impl_IRObject*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CORBA::InterfaceDef::_PD_repoId))
    return (::CORBA::_impl_InterfaceDef*) this;
  if (omni::strMatch(id, ::CORBA::Container::_PD_repoId))
    return (::CORBA::_impl_Container*) this;

  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::_impl_Contained*) this;

  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::_impl_IDLType*) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::_impl_IRObject*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CORBA::_impl_InterfaceDef::_mostDerivedRepoId()
{
  return ::CORBA::InterfaceDef::_PD_repoId;
}

void
CORBA::InterfaceDescription::operator>>= (cdrStream &_n) const
{
  _n.marshalString(name,0);
  _n.marshalString(id,0);
  _n.marshalString(defined_in,0);
  _n.marshalString(version,0);
  (const RepositoryIdSeq&) base_interfaces >>= _n;

}

void
CORBA::InterfaceDescription::operator<<= (cdrStream &_n)
{
  name = _n.unmarshalString(0);
  id = _n.unmarshalString(0);
  defined_in = _n.unmarshalString(0);
  version = _n.unmarshalString(0);
  (RepositoryIdSeq&)base_interfaces <<= _n;

}

CORBA::ValueMemberDef_ptr CORBA::ValueMemberDef_Helper::_nil() {
  return ::CORBA::ValueMemberDef::_nil();
}

::CORBA::Boolean CORBA::ValueMemberDef_Helper::is_nil(::CORBA::ValueMemberDef_ptr p) {
  return ::CORBA::is_nil(p);

}

void CORBA::ValueMemberDef_Helper::release(::CORBA::ValueMemberDef_ptr p) {
  ::CORBA::release(p);
}

void CORBA::ValueMemberDef_Helper::marshalObjRef(::CORBA::ValueMemberDef_ptr obj, cdrStream& s) {
  ::CORBA::ValueMemberDef::_marshalObjRef(obj, s);
}

CORBA::ValueMemberDef_ptr CORBA::ValueMemberDef_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CORBA::ValueMemberDef::_unmarshalObjRef(s);
}

void CORBA::ValueMemberDef_Helper::duplicate(::CORBA::ValueMemberDef_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CORBA::ValueMemberDef_ptr
CORBA::ValueMemberDef::_duplicate(::CORBA::ValueMemberDef_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CORBA::ValueMemberDef_ptr
CORBA::ValueMemberDef::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CORBA::ValueMemberDef_ptr
CORBA::ValueMemberDef::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CORBA::ValueMemberDef_ptr
CORBA::ValueMemberDef::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_ValueMemberDef _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_ValueMemberDef* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_ValueMemberDef;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CORBA::ValueMemberDef::_PD_repoId = "IDL:omg.org/CORBA/ValueMemberDef:1.0";


CORBA::_objref_ValueMemberDef::~_objref_ValueMemberDef() {
  
}


CORBA::_objref_ValueMemberDef::_objref_ValueMemberDef(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CORBA::ValueMemberDef::_PD_repoId, ior, id, 1),
   _objref_Contained(ior, id)
   
{
  _PR_setobj(this);
}

void*
CORBA::_objref_ValueMemberDef::_ptrToObjRef(const char* id)
{
  if (id == ::CORBA::ValueMemberDef::_PD_repoId)
    return (::CORBA::ValueMemberDef_ptr) this;
  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::Contained_ptr) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::IRObject_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CORBA::ValueMemberDef::_PD_repoId))
    return (::CORBA::ValueMemberDef_ptr) this;
  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::Contained_ptr) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::IRObject_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CORBA::ValueMemberDef::_get_type

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_3a000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_53000000* tcd = (_0RL_cd_7963219a43724a61_53000000*)cd;
  CORBA::_impl_ValueMemberDef* impl = (CORBA::_impl_ValueMemberDef*) svnt->_ptrToInterface(CORBA::ValueMemberDef::_PD_repoId);
  tcd->result = impl->type();


}

::CORBA::TypeCode_ptr CORBA::_objref_ValueMemberDef::type()
{
  _0RL_cd_7963219a43724a61_53000000 _call_desc(_0RL_lcfn_7963219a43724a61_3a000000, "_get_type", 10);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::ValueMemberDef::_get_type_def

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_4a000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_74000000* tcd = (_0RL_cd_7963219a43724a61_74000000*)cd;
  CORBA::_impl_ValueMemberDef* impl = (CORBA::_impl_ValueMemberDef*) svnt->_ptrToInterface(CORBA::ValueMemberDef::_PD_repoId);
  tcd->result = impl->type_def();


}

CORBA::IDLType_ptr CORBA::_objref_ValueMemberDef::type_def()
{
  _0RL_cd_7963219a43724a61_74000000 _call_desc(_0RL_lcfn_7963219a43724a61_4a000000, "_get_type_def", 14);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::ValueMemberDef::_set_type_def

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_5a000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_94000000* tcd = (_0RL_cd_7963219a43724a61_94000000*)cd;
  CORBA::_impl_ValueMemberDef* impl = (CORBA::_impl_ValueMemberDef*) svnt->_ptrToInterface(CORBA::ValueMemberDef::_PD_repoId);
  impl->type_def(tcd->arg_0);


}

void CORBA::_objref_ValueMemberDef::type_def(::CORBA::IDLType_ptr _v)
{
  _0RL_cd_7963219a43724a61_94000000 _call_desc(_0RL_lcfn_7963219a43724a61_5a000000, "_set_type_def", 14);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}


//
// Code for CORBA::ValueMemberDef::_get_access

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_6a000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_c6000000* tcd = (_0RL_cd_7963219a43724a61_c6000000*)cd;
  CORBA::_impl_ValueMemberDef* impl = (CORBA::_impl_ValueMemberDef*) svnt->_ptrToInterface(CORBA::ValueMemberDef::_PD_repoId);
  tcd->result = impl->access();


}

CORBA::Visibility CORBA::_objref_ValueMemberDef::access()
{
  _0RL_cd_7963219a43724a61_c6000000 _call_desc(_0RL_lcfn_7963219a43724a61_6a000000, "_get_access", 12);


  _invoke(_call_desc);
  return _call_desc.result;


}


//
// Code for CORBA::ValueMemberDef::_set_access

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_7a000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_e6000000* tcd = (_0RL_cd_7963219a43724a61_e6000000*)cd;
  CORBA::_impl_ValueMemberDef* impl = (CORBA::_impl_ValueMemberDef*) svnt->_ptrToInterface(CORBA::ValueMemberDef::_PD_repoId);
  impl->access(tcd->arg_0);


}

void CORBA::_objref_ValueMemberDef::access(::CORBA::Visibility _v)
{
  _0RL_cd_7963219a43724a61_e6000000 _call_desc(_0RL_lcfn_7963219a43724a61_7a000000, "_set_access", 12);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}

CORBA::_pof_ValueMemberDef::~_pof_ValueMemberDef() {}


omniObjRef*
CORBA::_pof_ValueMemberDef::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CORBA::_objref_ValueMemberDef(ior, id);
}


::CORBA::Boolean
CORBA::_pof_ValueMemberDef::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CORBA::ValueMemberDef::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CORBA::Contained::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IRObject::_PD_repoId))
    return 1;


  return 0;
}

const CORBA::_pof_ValueMemberDef _the_pof_CORBA_mValueMemberDef;

CORBA::_impl_ValueMemberDef::~_impl_ValueMemberDef() {}


::CORBA::Boolean
CORBA::_impl_ValueMemberDef::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "_get_type")) {

    _0RL_cd_7963219a43724a61_53000000 _call_desc(_0RL_lcfn_7963219a43724a61_3a000000, "_get_type", 10, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_type_def")) {

    _0RL_cd_7963219a43724a61_74000000 _call_desc(_0RL_lcfn_7963219a43724a61_4a000000, "_get_type_def", 14, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_type_def")) {

    _0RL_cd_7963219a43724a61_94000000 _call_desc(_0RL_lcfn_7963219a43724a61_5a000000, "_set_type_def", 14, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_access")) {

    _0RL_cd_7963219a43724a61_c6000000 _call_desc(_0RL_lcfn_7963219a43724a61_6a000000, "_get_access", 12, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_access")) {

    _0RL_cd_7963219a43724a61_e6000000 _call_desc(_0RL_lcfn_7963219a43724a61_7a000000, "_set_access", 12, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_Contained::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_Contained*)this)->
      _impl_Contained::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CORBA::_impl_ValueMemberDef::_ptrToInterface(const char* id)
{
  if (id == ::CORBA::ValueMemberDef::_PD_repoId)
    return (::CORBA::_impl_ValueMemberDef*) this;
  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::_impl_Contained*) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::_impl_IRObject*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CORBA::ValueMemberDef::_PD_repoId))
    return (::CORBA::_impl_ValueMemberDef*) this;
  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::_impl_Contained*) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::_impl_IRObject*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CORBA::_impl_ValueMemberDef::_mostDerivedRepoId()
{
  return ::CORBA::ValueMemberDef::_PD_repoId;
}

void
CORBA::ValueDef::FullValueDescription::operator>>= (cdrStream &_n) const
{
  _n.marshalString(name,0);
  _n.marshalString(id,0);
  _n.marshalBoolean(is_abstract);
  _n.marshalBoolean(is_custom);
  _n.marshalString(defined_in,0);
  _n.marshalString(version,0);
  (const OpDescriptionSeq&) operations >>= _n;
  (const AttrDescriptionSeq&) attributes >>= _n;
  (const ValueMemberSeq&) members >>= _n;
  (const InitializerSeq&) initializers >>= _n;
  (const RepositoryIdSeq&) supported_interfaces >>= _n;
  (const RepositoryIdSeq&) abstract_base_values >>= _n;
  _n.marshalBoolean(is_truncatable);
  _n.marshalString(base_value,0);
  ::CORBA::TypeCode::marshalTypeCode(type,_n);

}

void
CORBA::ValueDef::FullValueDescription::operator<<= (cdrStream &_n)
{
  name = _n.unmarshalString(0);
  id = _n.unmarshalString(0);
  is_abstract = _n.unmarshalBoolean();
  is_custom = _n.unmarshalBoolean();
  defined_in = _n.unmarshalString(0);
  version = _n.unmarshalString(0);
  (OpDescriptionSeq&)operations <<= _n;
  (AttrDescriptionSeq&)attributes <<= _n;
  (ValueMemberSeq&)members <<= _n;
  (InitializerSeq&)initializers <<= _n;
  (RepositoryIdSeq&)supported_interfaces <<= _n;
  (RepositoryIdSeq&)abstract_base_values <<= _n;
  is_truncatable = _n.unmarshalBoolean();
  base_value = _n.unmarshalString(0);
  type = ::CORBA::TypeCode::unmarshalTypeCode(_n);

}

CORBA::ValueDef_ptr CORBA::ValueDef_Helper::_nil() {
  return ::CORBA::ValueDef::_nil();
}

::CORBA::Boolean CORBA::ValueDef_Helper::is_nil(::CORBA::ValueDef_ptr p) {
  return ::CORBA::is_nil(p);

}

void CORBA::ValueDef_Helper::release(::CORBA::ValueDef_ptr p) {
  ::CORBA::release(p);
}

void CORBA::ValueDef_Helper::marshalObjRef(::CORBA::ValueDef_ptr obj, cdrStream& s) {
  ::CORBA::ValueDef::_marshalObjRef(obj, s);
}

CORBA::ValueDef_ptr CORBA::ValueDef_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CORBA::ValueDef::_unmarshalObjRef(s);
}

void CORBA::ValueDef_Helper::duplicate(::CORBA::ValueDef_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CORBA::ValueDef_ptr
CORBA::ValueDef::_duplicate(::CORBA::ValueDef_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CORBA::ValueDef_ptr
CORBA::ValueDef::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CORBA::ValueDef_ptr
CORBA::ValueDef::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CORBA::ValueDef_ptr
CORBA::ValueDef::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_ValueDef _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_ValueDef* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_ValueDef;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CORBA::ValueDef::_PD_repoId = "IDL:omg.org/CORBA/ValueDef:1.0";


CORBA::_objref_ValueDef::~_objref_ValueDef() {
  
}


CORBA::_objref_ValueDef::_objref_ValueDef(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CORBA::ValueDef::_PD_repoId, ior, id, 1),
   _objref_Container(ior, id),
   _objref_Contained(ior, id),
   _objref_IDLType(ior, id)
   
{
  _PR_setobj(this);
}

void*
CORBA::_objref_ValueDef::_ptrToObjRef(const char* id)
{
  if (id == ::CORBA::ValueDef::_PD_repoId)
    return (::CORBA::ValueDef_ptr) this;
  if (id == ::CORBA::Container::_PD_repoId)
    return (::CORBA::Container_ptr) this;

  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::Contained_ptr) this;

  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::IDLType_ptr) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::IRObject_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CORBA::ValueDef::_PD_repoId))
    return (::CORBA::ValueDef_ptr) this;
  if (omni::strMatch(id, ::CORBA::Container::_PD_repoId))
    return (::CORBA::Container_ptr) this;

  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::Contained_ptr) this;

  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::IDLType_ptr) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::IRObject_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CORBA::ValueDef::_get_supported_interfaces

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_8a000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_79000000* tcd = (_0RL_cd_7963219a43724a61_79000000*)cd;
  CORBA::_impl_ValueDef* impl = (CORBA::_impl_ValueDef*) svnt->_ptrToInterface(CORBA::ValueDef::_PD_repoId);
  tcd->result = impl->supported_interfaces();


}

CORBA::InterfaceDefSeq* CORBA::_objref_ValueDef::supported_interfaces()
{
  _0RL_cd_7963219a43724a61_79000000 _call_desc(_0RL_lcfn_7963219a43724a61_8a000000, "_get_supported_interfaces", 26);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::ValueDef::_set_supported_interfaces

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_9a000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_99000000* tcd = (_0RL_cd_7963219a43724a61_99000000*)cd;
  CORBA::_impl_ValueDef* impl = (CORBA::_impl_ValueDef*) svnt->_ptrToInterface(CORBA::ValueDef::_PD_repoId);
  impl->supported_interfaces(*tcd->arg_0);


}

void CORBA::_objref_ValueDef::supported_interfaces(const ::CORBA::InterfaceDefSeq& _v)
{
  _0RL_cd_7963219a43724a61_99000000 _call_desc(_0RL_lcfn_7963219a43724a61_9a000000, "_set_supported_interfaces", 26);
  _call_desc.arg_0 = &(::CORBA::InterfaceDefSeq&) _v;

  _invoke(_call_desc);



}


//
// Code for CORBA::ValueDef::_get_initializers

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mInitializerSeq
class _0RL_cd_7963219a43724a61_aa000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_aa000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  CORBA::InitializerSeq_var result;
};

void _0RL_cd_7963219a43724a61_aa000000::marshalReturnedValues(cdrStream& _n)
{
  (const CORBA::InitializerSeq&) result >>= _n;

}

void _0RL_cd_7963219a43724a61_aa000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = new CORBA::InitializerSeq;
  (CORBA::InitializerSeq&)result <<= _n;

}

const char* const _0RL_cd_7963219a43724a61_aa000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_ba000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_aa000000* tcd = (_0RL_cd_7963219a43724a61_aa000000*)cd;
  CORBA::_impl_ValueDef* impl = (CORBA::_impl_ValueDef*) svnt->_ptrToInterface(CORBA::ValueDef::_PD_repoId);
  tcd->result = impl->initializers();


}

CORBA::InitializerSeq* CORBA::_objref_ValueDef::initializers()
{
  _0RL_cd_7963219a43724a61_aa000000 _call_desc(_0RL_lcfn_7963219a43724a61_ba000000, "_get_initializers", 18);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::ValueDef::_set_initializers

// Proxy call descriptor class. Mangled signature:
//  void_i_cCORBA_mInitializerSeq
class _0RL_cd_7963219a43724a61_ca000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_ca000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

    
  
  static const char* const _user_exns[];

  CORBA::InitializerSeq_var arg_0_;
  const CORBA::InitializerSeq* arg_0;
};

void _0RL_cd_7963219a43724a61_ca000000::marshalArguments(cdrStream& _n)
{
  (const CORBA::InitializerSeq&) *arg_0 >>= _n;

}

void _0RL_cd_7963219a43724a61_ca000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = new CORBA::InitializerSeq;
  (CORBA::InitializerSeq&)arg_0_ <<= _n;
  arg_0 = &arg_0_.in();

}

const char* const _0RL_cd_7963219a43724a61_ca000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_da000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_ca000000* tcd = (_0RL_cd_7963219a43724a61_ca000000*)cd;
  CORBA::_impl_ValueDef* impl = (CORBA::_impl_ValueDef*) svnt->_ptrToInterface(CORBA::ValueDef::_PD_repoId);
  impl->initializers(*tcd->arg_0);


}

void CORBA::_objref_ValueDef::initializers(const ::CORBA::InitializerSeq& _v)
{
  _0RL_cd_7963219a43724a61_ca000000 _call_desc(_0RL_lcfn_7963219a43724a61_da000000, "_set_initializers", 18);
  _call_desc.arg_0 = &(::CORBA::InitializerSeq&) _v;

  _invoke(_call_desc);



}


//
// Code for CORBA::ValueDef::_get_base_value

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mValueDef
class _0RL_cd_7963219a43724a61_ea000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_ea000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  CORBA::ValueDef_var result;
};

void _0RL_cd_7963219a43724a61_ea000000::marshalReturnedValues(cdrStream& _n)
{
  CORBA::ValueDef_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_7963219a43724a61_ea000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CORBA::ValueDef_Helper::unmarshalObjRef(_n);

}

const char* const _0RL_cd_7963219a43724a61_ea000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_fa000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_ea000000* tcd = (_0RL_cd_7963219a43724a61_ea000000*)cd;
  CORBA::_impl_ValueDef* impl = (CORBA::_impl_ValueDef*) svnt->_ptrToInterface(CORBA::ValueDef::_PD_repoId);
  tcd->result = impl->base_value();


}

CORBA::ValueDef_ptr CORBA::_objref_ValueDef::base_value()
{
  _0RL_cd_7963219a43724a61_ea000000 _call_desc(_0RL_lcfn_7963219a43724a61_fa000000, "_get_base_value", 16);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::ValueDef::_set_base_value

// Proxy call descriptor class. Mangled signature:
//  void_i_cCORBA_mValueDef
class _0RL_cd_7963219a43724a61_0b000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_0b000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

    
  
  static const char* const _user_exns[];

  CORBA::ValueDef_var arg_0_;
  CORBA::ValueDef_ptr arg_0;
};

void _0RL_cd_7963219a43724a61_0b000000::marshalArguments(cdrStream& _n)
{
  CORBA::ValueDef_Helper::marshalObjRef(arg_0,_n);

}

void _0RL_cd_7963219a43724a61_0b000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = CORBA::ValueDef_Helper::unmarshalObjRef(_n);
  arg_0 = arg_0_.in();

}

const char* const _0RL_cd_7963219a43724a61_0b000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_1b000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_0b000000* tcd = (_0RL_cd_7963219a43724a61_0b000000*)cd;
  CORBA::_impl_ValueDef* impl = (CORBA::_impl_ValueDef*) svnt->_ptrToInterface(CORBA::ValueDef::_PD_repoId);
  impl->base_value(tcd->arg_0);


}

void CORBA::_objref_ValueDef::base_value(::CORBA::ValueDef_ptr _v)
{
  _0RL_cd_7963219a43724a61_0b000000 _call_desc(_0RL_lcfn_7963219a43724a61_1b000000, "_set_base_value", 16);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}


//
// Code for CORBA::ValueDef::_get_abstract_base_values

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mValueDefSeq
class _0RL_cd_7963219a43724a61_2b000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_2b000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  CORBA::ValueDefSeq_var result;
};

void _0RL_cd_7963219a43724a61_2b000000::marshalReturnedValues(cdrStream& _n)
{
  (const CORBA::ValueDefSeq&) result >>= _n;

}

void _0RL_cd_7963219a43724a61_2b000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = new CORBA::ValueDefSeq;
  (CORBA::ValueDefSeq&)result <<= _n;

}

const char* const _0RL_cd_7963219a43724a61_2b000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_3b000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_2b000000* tcd = (_0RL_cd_7963219a43724a61_2b000000*)cd;
  CORBA::_impl_ValueDef* impl = (CORBA::_impl_ValueDef*) svnt->_ptrToInterface(CORBA::ValueDef::_PD_repoId);
  tcd->result = impl->abstract_base_values();


}

CORBA::ValueDefSeq* CORBA::_objref_ValueDef::abstract_base_values()
{
  _0RL_cd_7963219a43724a61_2b000000 _call_desc(_0RL_lcfn_7963219a43724a61_3b000000, "_get_abstract_base_values", 26);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::ValueDef::_set_abstract_base_values

// Proxy call descriptor class. Mangled signature:
//  void_i_cCORBA_mValueDefSeq
class _0RL_cd_7963219a43724a61_4b000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_4b000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

    
  
  static const char* const _user_exns[];

  CORBA::ValueDefSeq_var arg_0_;
  const CORBA::ValueDefSeq* arg_0;
};

void _0RL_cd_7963219a43724a61_4b000000::marshalArguments(cdrStream& _n)
{
  (const CORBA::ValueDefSeq&) *arg_0 >>= _n;

}

void _0RL_cd_7963219a43724a61_4b000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = new CORBA::ValueDefSeq;
  (CORBA::ValueDefSeq&)arg_0_ <<= _n;
  arg_0 = &arg_0_.in();

}

const char* const _0RL_cd_7963219a43724a61_4b000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_5b000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_4b000000* tcd = (_0RL_cd_7963219a43724a61_4b000000*)cd;
  CORBA::_impl_ValueDef* impl = (CORBA::_impl_ValueDef*) svnt->_ptrToInterface(CORBA::ValueDef::_PD_repoId);
  impl->abstract_base_values(*tcd->arg_0);


}

void CORBA::_objref_ValueDef::abstract_base_values(const ::CORBA::ValueDefSeq& _v)
{
  _0RL_cd_7963219a43724a61_4b000000 _call_desc(_0RL_lcfn_7963219a43724a61_5b000000, "_set_abstract_base_values", 26);
  _call_desc.arg_0 = &(::CORBA::ValueDefSeq&) _v;

  _invoke(_call_desc);



}


//
// Code for CORBA::ValueDef::_get_is_abstract

// Proxy call descriptor class. Mangled signature:
//  _cboolean
class _0RL_cd_7963219a43724a61_6b000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_6b000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::Boolean result;
};

void _0RL_cd_7963219a43724a61_6b000000::marshalReturnedValues(cdrStream& _n)
{
  _n.marshalBoolean(result);

}

void _0RL_cd_7963219a43724a61_6b000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = _n.unmarshalBoolean();

}

const char* const _0RL_cd_7963219a43724a61_6b000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_7b000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_6b000000* tcd = (_0RL_cd_7963219a43724a61_6b000000*)cd;
  CORBA::_impl_ValueDef* impl = (CORBA::_impl_ValueDef*) svnt->_ptrToInterface(CORBA::ValueDef::_PD_repoId);
  tcd->result = impl->is_abstract();


}

::CORBA::Boolean CORBA::_objref_ValueDef::is_abstract()
{
  _0RL_cd_7963219a43724a61_6b000000 _call_desc(_0RL_lcfn_7963219a43724a61_7b000000, "_get_is_abstract", 17);


  _invoke(_call_desc);
  return _call_desc.result;


}


//
// Code for CORBA::ValueDef::_set_is_abstract

// Proxy call descriptor class. Mangled signature:
//  void_i_cboolean
class _0RL_cd_7963219a43724a61_8b000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_8b000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

    
  
  static const char* const _user_exns[];

  ::CORBA::Boolean arg_0;
};

void _0RL_cd_7963219a43724a61_8b000000::marshalArguments(cdrStream& _n)
{
  _n.marshalBoolean(arg_0);

}

void _0RL_cd_7963219a43724a61_8b000000::unmarshalArguments(cdrStream& _n)
{
  arg_0 = _n.unmarshalBoolean();

}

const char* const _0RL_cd_7963219a43724a61_8b000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_9b000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_8b000000* tcd = (_0RL_cd_7963219a43724a61_8b000000*)cd;
  CORBA::_impl_ValueDef* impl = (CORBA::_impl_ValueDef*) svnt->_ptrToInterface(CORBA::ValueDef::_PD_repoId);
  impl->is_abstract(tcd->arg_0);


}

void CORBA::_objref_ValueDef::is_abstract(::CORBA::Boolean _v)
{
  _0RL_cd_7963219a43724a61_8b000000 _call_desc(_0RL_lcfn_7963219a43724a61_9b000000, "_set_is_abstract", 17);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}


//
// Code for CORBA::ValueDef::_get_is_custom

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_ab000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_6b000000* tcd = (_0RL_cd_7963219a43724a61_6b000000*)cd;
  CORBA::_impl_ValueDef* impl = (CORBA::_impl_ValueDef*) svnt->_ptrToInterface(CORBA::ValueDef::_PD_repoId);
  tcd->result = impl->is_custom();


}

::CORBA::Boolean CORBA::_objref_ValueDef::is_custom()
{
  _0RL_cd_7963219a43724a61_6b000000 _call_desc(_0RL_lcfn_7963219a43724a61_ab000000, "_get_is_custom", 15);


  _invoke(_call_desc);
  return _call_desc.result;


}


//
// Code for CORBA::ValueDef::_set_is_custom

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_bb000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_8b000000* tcd = (_0RL_cd_7963219a43724a61_8b000000*)cd;
  CORBA::_impl_ValueDef* impl = (CORBA::_impl_ValueDef*) svnt->_ptrToInterface(CORBA::ValueDef::_PD_repoId);
  impl->is_custom(tcd->arg_0);


}

void CORBA::_objref_ValueDef::is_custom(::CORBA::Boolean _v)
{
  _0RL_cd_7963219a43724a61_8b000000 _call_desc(_0RL_lcfn_7963219a43724a61_bb000000, "_set_is_custom", 15);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}


//
// Code for CORBA::ValueDef::_get_is_truncatable

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_cb000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_6b000000* tcd = (_0RL_cd_7963219a43724a61_6b000000*)cd;
  CORBA::_impl_ValueDef* impl = (CORBA::_impl_ValueDef*) svnt->_ptrToInterface(CORBA::ValueDef::_PD_repoId);
  tcd->result = impl->is_truncatable();


}

::CORBA::Boolean CORBA::_objref_ValueDef::is_truncatable()
{
  _0RL_cd_7963219a43724a61_6b000000 _call_desc(_0RL_lcfn_7963219a43724a61_cb000000, "_get_is_truncatable", 20);


  _invoke(_call_desc);
  return _call_desc.result;


}


//
// Code for CORBA::ValueDef::_set_is_truncatable

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_db000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_8b000000* tcd = (_0RL_cd_7963219a43724a61_8b000000*)cd;
  CORBA::_impl_ValueDef* impl = (CORBA::_impl_ValueDef*) svnt->_ptrToInterface(CORBA::ValueDef::_PD_repoId);
  impl->is_truncatable(tcd->arg_0);


}

void CORBA::_objref_ValueDef::is_truncatable(::CORBA::Boolean _v)
{
  _0RL_cd_7963219a43724a61_8b000000 _call_desc(_0RL_lcfn_7963219a43724a61_db000000, "_set_is_truncatable", 20);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}


//
// Code for CORBA::ValueDef::is_a

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_eb000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_b9000000* tcd = (_0RL_cd_7963219a43724a61_b9000000*)cd;
  CORBA::_impl_ValueDef* impl = (CORBA::_impl_ValueDef*) svnt->_ptrToInterface(CORBA::ValueDef::_PD_repoId);
  tcd->result = impl->is_a(tcd->arg_0);


}

::CORBA::Boolean CORBA::_objref_ValueDef::is_a(const char* id)
{
  _0RL_cd_7963219a43724a61_b9000000 _call_desc(_0RL_lcfn_7963219a43724a61_eb000000, "is_a", 5);
  _call_desc.arg_0 = id;

  _invoke(_call_desc);
  return _call_desc.result;


}


//
// Code for CORBA::ValueDef::describe_value

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mValueDef_mFullValueDescription
class _0RL_cd_7963219a43724a61_fb000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_fb000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  CORBA::ValueDef::FullValueDescription_var result;
};

void _0RL_cd_7963219a43724a61_fb000000::marshalReturnedValues(cdrStream& _n)
{
  (const CORBA::ValueDef::FullValueDescription&) result >>= _n;

}

void _0RL_cd_7963219a43724a61_fb000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = new CORBA::ValueDef::FullValueDescription;
  (CORBA::ValueDef::FullValueDescription&)result <<= _n;

}

const char* const _0RL_cd_7963219a43724a61_fb000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_0c000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_fb000000* tcd = (_0RL_cd_7963219a43724a61_fb000000*)cd;
  CORBA::_impl_ValueDef* impl = (CORBA::_impl_ValueDef*) svnt->_ptrToInterface(CORBA::ValueDef::_PD_repoId);
  tcd->result = impl->describe_value();


}

CORBA::ValueDef::FullValueDescription* CORBA::_objref_ValueDef::describe_value()
{
  _0RL_cd_7963219a43724a61_fb000000 _call_desc(_0RL_lcfn_7963219a43724a61_0c000000, "describe_value", 15);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::ValueDef::create_value_member

// Proxy call descriptor class. Mangled signature:
//  _cCORBA_mValueMemberDef_i_cstring_i_cstring_i_cstring_i_cCORBA_mIDLType_i_cshort
class _0RL_cd_7963219a43724a61_1c000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_7963219a43724a61_1c000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  ::CORBA::String_var arg_0_;
  const char* arg_0;
  ::CORBA::String_var arg_1_;
  const char* arg_1;
  ::CORBA::String_var arg_2_;
  const char* arg_2;
  CORBA::IDLType_var arg_3_;
  CORBA::IDLType_ptr arg_3;
  CORBA::Visibility arg_4;
  CORBA::ValueMemberDef_var result;
};

void _0RL_cd_7963219a43724a61_1c000000::marshalArguments(cdrStream& _n)
{
  _n.marshalString(arg_0,0);
  _n.marshalString(arg_1,0);
  _n.marshalString(arg_2,0);
  CORBA::IDLType_Helper::marshalObjRef(arg_3,_n);
  arg_4 >>= _n;

}

void _0RL_cd_7963219a43724a61_1c000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = _n.unmarshalString(0);
  arg_0 = arg_0_.in();
  arg_1_ = _n.unmarshalString(0);
  arg_1 = arg_1_.in();
  arg_2_ = _n.unmarshalString(0);
  arg_2 = arg_2_.in();
  arg_3_ = CORBA::IDLType_Helper::unmarshalObjRef(_n);
  arg_3 = arg_3_.in();
  (CORBA::Visibility&)arg_4 <<= _n;

}

void _0RL_cd_7963219a43724a61_1c000000::marshalReturnedValues(cdrStream& _n)
{
  CORBA::ValueMemberDef::_marshalObjRef(result,_n);

}

void _0RL_cd_7963219a43724a61_1c000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CORBA::ValueMemberDef::_unmarshalObjRef(_n);

}

const char* const _0RL_cd_7963219a43724a61_1c000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_2c000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_1c000000* tcd = (_0RL_cd_7963219a43724a61_1c000000*)cd;
  CORBA::_impl_ValueDef* impl = (CORBA::_impl_ValueDef*) svnt->_ptrToInterface(CORBA::ValueDef::_PD_repoId);
  tcd->result = impl->create_value_member(tcd->arg_0, tcd->arg_1, tcd->arg_2, tcd->arg_3, tcd->arg_4);


}

CORBA::ValueMemberDef_ptr CORBA::_objref_ValueDef::create_value_member(const char* id, const char* name, const char* version, ::CORBA::IDLType_ptr type, ::CORBA::Visibility access)
{
  _0RL_cd_7963219a43724a61_1c000000 _call_desc(_0RL_lcfn_7963219a43724a61_2c000000, "create_value_member", 20);
  _call_desc.arg_0 = id;
  _call_desc.arg_1 = name;
  _call_desc.arg_2 = version;
  _call_desc.arg_3 = type;
  _call_desc.arg_4 = access;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::ValueDef::create_attribute

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_3c000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_f9000000* tcd = (_0RL_cd_7963219a43724a61_f9000000*)cd;
  CORBA::_impl_ValueDef* impl = (CORBA::_impl_ValueDef*) svnt->_ptrToInterface(CORBA::ValueDef::_PD_repoId);
  tcd->result = impl->create_attribute(tcd->arg_0, tcd->arg_1, tcd->arg_2, tcd->arg_3, tcd->arg_4);


}

CORBA::AttributeDef_ptr CORBA::_objref_ValueDef::create_attribute(const char* id, const char* name, const char* version, ::CORBA::IDLType_ptr type, ::CORBA::AttributeMode mode)
{
  _0RL_cd_7963219a43724a61_f9000000 _call_desc(_0RL_lcfn_7963219a43724a61_3c000000, "create_attribute", 17);
  _call_desc.arg_0 = id;
  _call_desc.arg_1 = name;
  _call_desc.arg_2 = version;
  _call_desc.arg_3 = type;
  _call_desc.arg_4 = mode;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::ValueDef::create_operation

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_4c000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_1a000000* tcd = (_0RL_cd_7963219a43724a61_1a000000*)cd;
  CORBA::_impl_ValueDef* impl = (CORBA::_impl_ValueDef*) svnt->_ptrToInterface(CORBA::ValueDef::_PD_repoId);
  tcd->result = impl->create_operation(tcd->arg_0, tcd->arg_1, tcd->arg_2, tcd->arg_3, tcd->arg_4, *tcd->arg_5, *tcd->arg_6, *tcd->arg_7);


}

CORBA::OperationDef_ptr CORBA::_objref_ValueDef::create_operation(const char* id, const char* name, const char* version, ::CORBA::IDLType_ptr result, ::CORBA::OperationMode mode, const ::CORBA::ParDescriptionSeq& params, const ::CORBA::ExceptionDefSeq& exceptions, const ::CORBA::ContextIdSeq& contexts)
{
  _0RL_cd_7963219a43724a61_1a000000 _call_desc(_0RL_lcfn_7963219a43724a61_4c000000, "create_operation", 17);
  _call_desc.arg_0 = id;
  _call_desc.arg_1 = name;
  _call_desc.arg_2 = version;
  _call_desc.arg_3 = result;
  _call_desc.arg_4 = mode;
  _call_desc.arg_5 = &(::CORBA::ParDescriptionSeq&) params;
  _call_desc.arg_6 = &(::CORBA::ExceptionDefSeq&) exceptions;
  _call_desc.arg_7 = &(::CORBA::ContextIdSeq&) contexts;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}

CORBA::_pof_ValueDef::~_pof_ValueDef() {}


omniObjRef*
CORBA::_pof_ValueDef::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CORBA::_objref_ValueDef(ior, id);
}


::CORBA::Boolean
CORBA::_pof_ValueDef::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CORBA::ValueDef::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CORBA::Container::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::Contained::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IDLType::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IRObject::_PD_repoId))
    return 1;


  return 0;
}

const CORBA::_pof_ValueDef _the_pof_CORBA_mValueDef;

CORBA::_impl_ValueDef::~_impl_ValueDef() {}


::CORBA::Boolean
CORBA::_impl_ValueDef::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "_get_supported_interfaces")) {

    _0RL_cd_7963219a43724a61_79000000 _call_desc(_0RL_lcfn_7963219a43724a61_8a000000, "_get_supported_interfaces", 26, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_supported_interfaces")) {

    _0RL_cd_7963219a43724a61_99000000 _call_desc(_0RL_lcfn_7963219a43724a61_9a000000, "_set_supported_interfaces", 26, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_initializers")) {

    _0RL_cd_7963219a43724a61_aa000000 _call_desc(_0RL_lcfn_7963219a43724a61_ba000000, "_get_initializers", 18, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_initializers")) {

    _0RL_cd_7963219a43724a61_ca000000 _call_desc(_0RL_lcfn_7963219a43724a61_da000000, "_set_initializers", 18, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_base_value")) {

    _0RL_cd_7963219a43724a61_ea000000 _call_desc(_0RL_lcfn_7963219a43724a61_fa000000, "_get_base_value", 16, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_base_value")) {

    _0RL_cd_7963219a43724a61_0b000000 _call_desc(_0RL_lcfn_7963219a43724a61_1b000000, "_set_base_value", 16, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_abstract_base_values")) {

    _0RL_cd_7963219a43724a61_2b000000 _call_desc(_0RL_lcfn_7963219a43724a61_3b000000, "_get_abstract_base_values", 26, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_abstract_base_values")) {

    _0RL_cd_7963219a43724a61_4b000000 _call_desc(_0RL_lcfn_7963219a43724a61_5b000000, "_set_abstract_base_values", 26, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_is_abstract")) {

    _0RL_cd_7963219a43724a61_6b000000 _call_desc(_0RL_lcfn_7963219a43724a61_7b000000, "_get_is_abstract", 17, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_is_abstract")) {

    _0RL_cd_7963219a43724a61_8b000000 _call_desc(_0RL_lcfn_7963219a43724a61_9b000000, "_set_is_abstract", 17, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_is_custom")) {

    _0RL_cd_7963219a43724a61_6b000000 _call_desc(_0RL_lcfn_7963219a43724a61_ab000000, "_get_is_custom", 15, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_is_custom")) {

    _0RL_cd_7963219a43724a61_8b000000 _call_desc(_0RL_lcfn_7963219a43724a61_bb000000, "_set_is_custom", 15, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_get_is_truncatable")) {

    _0RL_cd_7963219a43724a61_6b000000 _call_desc(_0RL_lcfn_7963219a43724a61_cb000000, "_get_is_truncatable", 20, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_is_truncatable")) {

    _0RL_cd_7963219a43724a61_8b000000 _call_desc(_0RL_lcfn_7963219a43724a61_db000000, "_set_is_truncatable", 20, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "is_a")) {

    _0RL_cd_7963219a43724a61_b9000000 _call_desc(_0RL_lcfn_7963219a43724a61_eb000000, "is_a", 5, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "describe_value")) {

    _0RL_cd_7963219a43724a61_fb000000 _call_desc(_0RL_lcfn_7963219a43724a61_0c000000, "describe_value", 15, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "create_value_member")) {

    _0RL_cd_7963219a43724a61_1c000000 _call_desc(_0RL_lcfn_7963219a43724a61_2c000000, "create_value_member", 20, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "create_attribute")) {

    _0RL_cd_7963219a43724a61_f9000000 _call_desc(_0RL_lcfn_7963219a43724a61_3c000000, "create_attribute", 17, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "create_operation")) {

    _0RL_cd_7963219a43724a61_1a000000 _call_desc(_0RL_lcfn_7963219a43724a61_4c000000, "create_operation", 17, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_Container::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_Container*)this)->
      _impl_Container::_dispatch(_handle)) {
    return 1;
  }
#endif

  
#ifndef _MSC_VER
  if (_impl_Contained::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_Contained*)this)->
      _impl_Contained::_dispatch(_handle)) {
    return 1;
  }
#endif

  
#ifndef _MSC_VER
  if (_impl_IDLType::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_IDLType*)this)->
      _impl_IDLType::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CORBA::_impl_ValueDef::_ptrToInterface(const char* id)
{
  if (id == ::CORBA::ValueDef::_PD_repoId)
    return (::CORBA::_impl_ValueDef*) this;
  if (id == ::CORBA::Container::_PD_repoId)
    return (::CORBA::_impl_Container*) this;

  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::_impl_Contained*) this;

  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::_impl_IDLType*) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::_impl_IRObject*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CORBA::ValueDef::_PD_repoId))
    return (::CORBA::_impl_ValueDef*) this;
  if (omni::strMatch(id, ::CORBA::Container::_PD_repoId))
    return (::CORBA::_impl_Container*) this;

  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::_impl_Contained*) this;

  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::_impl_IDLType*) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::_impl_IRObject*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CORBA::_impl_ValueDef::_mostDerivedRepoId()
{
  return ::CORBA::ValueDef::_PD_repoId;
}

void
CORBA::ValueDescription::operator>>= (cdrStream &_n) const
{
  _n.marshalString(name,0);
  _n.marshalString(id,0);
  _n.marshalBoolean(is_abstract);
  _n.marshalBoolean(is_custom);
  _n.marshalString(defined_in,0);
  _n.marshalString(version,0);
  (const RepositoryIdSeq&) supported_interfaces >>= _n;
  (const RepositoryIdSeq&) abstract_base_values >>= _n;
  _n.marshalBoolean(is_truncatable);
  _n.marshalString(base_value,0);

}

void
CORBA::ValueDescription::operator<<= (cdrStream &_n)
{
  name = _n.unmarshalString(0);
  id = _n.unmarshalString(0);
  is_abstract = _n.unmarshalBoolean();
  is_custom = _n.unmarshalBoolean();
  defined_in = _n.unmarshalString(0);
  version = _n.unmarshalString(0);
  (RepositoryIdSeq&)supported_interfaces <<= _n;
  (RepositoryIdSeq&)abstract_base_values <<= _n;
  is_truncatable = _n.unmarshalBoolean();
  base_value = _n.unmarshalString(0);

}

CORBA::ValueBoxDef_ptr CORBA::ValueBoxDef_Helper::_nil() {
  return ::CORBA::ValueBoxDef::_nil();
}

::CORBA::Boolean CORBA::ValueBoxDef_Helper::is_nil(::CORBA::ValueBoxDef_ptr p) {
  return ::CORBA::is_nil(p);

}

void CORBA::ValueBoxDef_Helper::release(::CORBA::ValueBoxDef_ptr p) {
  ::CORBA::release(p);
}

void CORBA::ValueBoxDef_Helper::marshalObjRef(::CORBA::ValueBoxDef_ptr obj, cdrStream& s) {
  ::CORBA::ValueBoxDef::_marshalObjRef(obj, s);
}

CORBA::ValueBoxDef_ptr CORBA::ValueBoxDef_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CORBA::ValueBoxDef::_unmarshalObjRef(s);
}

void CORBA::ValueBoxDef_Helper::duplicate(::CORBA::ValueBoxDef_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CORBA::ValueBoxDef_ptr
CORBA::ValueBoxDef::_duplicate(::CORBA::ValueBoxDef_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CORBA::ValueBoxDef_ptr
CORBA::ValueBoxDef::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CORBA::ValueBoxDef_ptr
CORBA::ValueBoxDef::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CORBA::ValueBoxDef_ptr
CORBA::ValueBoxDef::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_ValueBoxDef _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_ValueBoxDef* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_ValueBoxDef;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CORBA::ValueBoxDef::_PD_repoId = "IDL:omg.org/CORBA/ValueBoxDef:1.0";


CORBA::_objref_ValueBoxDef::~_objref_ValueBoxDef() {
  
}


CORBA::_objref_ValueBoxDef::_objref_ValueBoxDef(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CORBA::ValueBoxDef::_PD_repoId, ior, id, 1),
   _objref_TypedefDef(ior, id)
   
{
  _PR_setobj(this);
}

void*
CORBA::_objref_ValueBoxDef::_ptrToObjRef(const char* id)
{
  if (id == ::CORBA::ValueBoxDef::_PD_repoId)
    return (::CORBA::ValueBoxDef_ptr) this;
  if (id == ::CORBA::TypedefDef::_PD_repoId)
    return (::CORBA::TypedefDef_ptr) this;

  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::Contained_ptr) this;

  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::IDLType_ptr) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::IRObject_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CORBA::ValueBoxDef::_PD_repoId))
    return (::CORBA::ValueBoxDef_ptr) this;
  if (omni::strMatch(id, ::CORBA::TypedefDef::_PD_repoId))
    return (::CORBA::TypedefDef_ptr) this;

  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::Contained_ptr) this;

  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::IDLType_ptr) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::IRObject_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CORBA::ValueBoxDef::_get_original_type_def

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_5c000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_74000000* tcd = (_0RL_cd_7963219a43724a61_74000000*)cd;
  CORBA::_impl_ValueBoxDef* impl = (CORBA::_impl_ValueBoxDef*) svnt->_ptrToInterface(CORBA::ValueBoxDef::_PD_repoId);
  tcd->result = impl->original_type_def();


}

CORBA::IDLType_ptr CORBA::_objref_ValueBoxDef::original_type_def()
{
  _0RL_cd_7963219a43724a61_74000000 _call_desc(_0RL_lcfn_7963219a43724a61_5c000000, "_get_original_type_def", 23);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CORBA::ValueBoxDef::_set_original_type_def

// Local call call-back function.
static void
_0RL_lcfn_7963219a43724a61_6c000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_7963219a43724a61_94000000* tcd = (_0RL_cd_7963219a43724a61_94000000*)cd;
  CORBA::_impl_ValueBoxDef* impl = (CORBA::_impl_ValueBoxDef*) svnt->_ptrToInterface(CORBA::ValueBoxDef::_PD_repoId);
  impl->original_type_def(tcd->arg_0);


}

void CORBA::_objref_ValueBoxDef::original_type_def(::CORBA::IDLType_ptr _v)
{
  _0RL_cd_7963219a43724a61_94000000 _call_desc(_0RL_lcfn_7963219a43724a61_6c000000, "_set_original_type_def", 23);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}

CORBA::_pof_ValueBoxDef::~_pof_ValueBoxDef() {}


omniObjRef*
CORBA::_pof_ValueBoxDef::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CORBA::_objref_ValueBoxDef(ior, id);
}


::CORBA::Boolean
CORBA::_pof_ValueBoxDef::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CORBA::ValueBoxDef::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CORBA::TypedefDef::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::Contained::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IDLType::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IRObject::_PD_repoId))
    return 1;


  return 0;
}

const CORBA::_pof_ValueBoxDef _the_pof_CORBA_mValueBoxDef;

CORBA::_impl_ValueBoxDef::~_impl_ValueBoxDef() {}


::CORBA::Boolean
CORBA::_impl_ValueBoxDef::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "_get_original_type_def")) {

    _0RL_cd_7963219a43724a61_74000000 _call_desc(_0RL_lcfn_7963219a43724a61_5c000000, "_get_original_type_def", 23, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "_set_original_type_def")) {

    _0RL_cd_7963219a43724a61_94000000 _call_desc(_0RL_lcfn_7963219a43724a61_6c000000, "_set_original_type_def", 23, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_TypedefDef::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_TypedefDef*)this)->
      _impl_TypedefDef::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CORBA::_impl_ValueBoxDef::_ptrToInterface(const char* id)
{
  if (id == ::CORBA::ValueBoxDef::_PD_repoId)
    return (::CORBA::_impl_ValueBoxDef*) this;
  if (id == ::CORBA::TypedefDef::_PD_repoId)
    return (::CORBA::_impl_TypedefDef*) this;

  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::_impl_Contained*) this;

  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::_impl_IDLType*) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::_impl_IRObject*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CORBA::ValueBoxDef::_PD_repoId))
    return (::CORBA::_impl_ValueBoxDef*) this;
  if (omni::strMatch(id, ::CORBA::TypedefDef::_PD_repoId))
    return (::CORBA::_impl_TypedefDef*) this;

  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::_impl_Contained*) this;

  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::_impl_IDLType*) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::_impl_IRObject*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CORBA::_impl_ValueBoxDef::_mostDerivedRepoId()
{
  return ::CORBA::ValueBoxDef::_PD_repoId;
}

CORBA::AbstractInterfaceDef_ptr CORBA::AbstractInterfaceDef_Helper::_nil() {
  return ::CORBA::AbstractInterfaceDef::_nil();
}

::CORBA::Boolean CORBA::AbstractInterfaceDef_Helper::is_nil(::CORBA::AbstractInterfaceDef_ptr p) {
  return ::CORBA::is_nil(p);

}

void CORBA::AbstractInterfaceDef_Helper::release(::CORBA::AbstractInterfaceDef_ptr p) {
  ::CORBA::release(p);
}

void CORBA::AbstractInterfaceDef_Helper::marshalObjRef(::CORBA::AbstractInterfaceDef_ptr obj, cdrStream& s) {
  ::CORBA::AbstractInterfaceDef::_marshalObjRef(obj, s);
}

CORBA::AbstractInterfaceDef_ptr CORBA::AbstractInterfaceDef_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CORBA::AbstractInterfaceDef::_unmarshalObjRef(s);
}

void CORBA::AbstractInterfaceDef_Helper::duplicate(::CORBA::AbstractInterfaceDef_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CORBA::AbstractInterfaceDef_ptr
CORBA::AbstractInterfaceDef::_duplicate(::CORBA::AbstractInterfaceDef_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CORBA::AbstractInterfaceDef_ptr
CORBA::AbstractInterfaceDef::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CORBA::AbstractInterfaceDef_ptr
CORBA::AbstractInterfaceDef::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CORBA::AbstractInterfaceDef_ptr
CORBA::AbstractInterfaceDef::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_AbstractInterfaceDef _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_AbstractInterfaceDef* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_AbstractInterfaceDef;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CORBA::AbstractInterfaceDef::_PD_repoId = "IDL:omg.org/CORBA/AbstractInterfaceDef:1.0";


CORBA::_objref_AbstractInterfaceDef::~_objref_AbstractInterfaceDef() {
  
}


CORBA::_objref_AbstractInterfaceDef::_objref_AbstractInterfaceDef(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CORBA::AbstractInterfaceDef::_PD_repoId, ior, id, 1),
   _objref_InterfaceDef(ior, id)
   
{
  _PR_setobj(this);
}

void*
CORBA::_objref_AbstractInterfaceDef::_ptrToObjRef(const char* id)
{
  if (id == ::CORBA::AbstractInterfaceDef::_PD_repoId)
    return (::CORBA::AbstractInterfaceDef_ptr) this;
  if (id == ::CORBA::InterfaceDef::_PD_repoId)
    return (::CORBA::InterfaceDef_ptr) this;

  if (id == ::CORBA::Container::_PD_repoId)
    return (::CORBA::Container_ptr) this;

  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::Contained_ptr) this;

  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::IDLType_ptr) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::IRObject_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CORBA::AbstractInterfaceDef::_PD_repoId))
    return (::CORBA::AbstractInterfaceDef_ptr) this;
  if (omni::strMatch(id, ::CORBA::InterfaceDef::_PD_repoId))
    return (::CORBA::InterfaceDef_ptr) this;

  if (omni::strMatch(id, ::CORBA::Container::_PD_repoId))
    return (::CORBA::Container_ptr) this;

  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::Contained_ptr) this;

  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::IDLType_ptr) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::IRObject_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}

CORBA::_pof_AbstractInterfaceDef::~_pof_AbstractInterfaceDef() {}


omniObjRef*
CORBA::_pof_AbstractInterfaceDef::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CORBA::_objref_AbstractInterfaceDef(ior, id);
}


::CORBA::Boolean
CORBA::_pof_AbstractInterfaceDef::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CORBA::AbstractInterfaceDef::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CORBA::InterfaceDef::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::Container::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::Contained::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IDLType::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CORBA::IRObject::_PD_repoId))
    return 1;


  return 0;
}

const CORBA::_pof_AbstractInterfaceDef _the_pof_CORBA_mAbstractInterfaceDef;

CORBA::_impl_AbstractInterfaceDef::~_impl_AbstractInterfaceDef() {}


::CORBA::Boolean
CORBA::_impl_AbstractInterfaceDef::_dispatch(omniCallHandle& _handle)
{
  

  
#ifndef _MSC_VER
  if (_impl_InterfaceDef::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_InterfaceDef*)this)->
      _impl_InterfaceDef::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CORBA::_impl_AbstractInterfaceDef::_ptrToInterface(const char* id)
{
  if (id == ::CORBA::AbstractInterfaceDef::_PD_repoId)
    return (::CORBA::_impl_AbstractInterfaceDef*) this;
  if (id == ::CORBA::InterfaceDef::_PD_repoId)
    return (::CORBA::_impl_InterfaceDef*) this;

  if (id == ::CORBA::Container::_PD_repoId)
    return (::CORBA::_impl_Container*) this;

  if (id == ::CORBA::Contained::_PD_repoId)
    return (::CORBA::_impl_Contained*) this;

  if (id == ::CORBA::IDLType::_PD_repoId)
    return (::CORBA::_impl_IDLType*) this;

  if (id == ::CORBA::IRObject::_PD_repoId)
    return (::CORBA::_impl_IRObject*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CORBA::AbstractInterfaceDef::_PD_repoId))
    return (::CORBA::_impl_AbstractInterfaceDef*) this;
  if (omni::strMatch(id, ::CORBA::InterfaceDef::_PD_repoId))
    return (::CORBA::_impl_InterfaceDef*) this;

  if (omni::strMatch(id, ::CORBA::Container::_PD_repoId))
    return (::CORBA::_impl_Container*) this;

  if (omni::strMatch(id, ::CORBA::Contained::_PD_repoId))
    return (::CORBA::_impl_Contained*) this;

  if (omni::strMatch(id, ::CORBA::IDLType::_PD_repoId))
    return (::CORBA::_impl_IDLType*) this;

  if (omni::strMatch(id, ::CORBA::IRObject::_PD_repoId))
    return (::CORBA::_impl_IRObject*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CORBA::_impl_AbstractInterfaceDef::_mostDerivedRepoId()
{
  return ::CORBA::AbstractInterfaceDef::_PD_repoId;
}

POA_CORBA::IRObject::~IRObject() {}

POA_CORBA::Contained::~Contained() {}

POA_CORBA::Container::~Container() {}

POA_CORBA::IDLType::~IDLType() {}

POA_CORBA::Repository::~Repository() {}

POA_CORBA::ModuleDef::~ModuleDef() {}

POA_CORBA::ConstantDef::~ConstantDef() {}

POA_CORBA::TypedefDef::~TypedefDef() {}

POA_CORBA::StructDef::~StructDef() {}

POA_CORBA::UnionDef::~UnionDef() {}

POA_CORBA::EnumDef::~EnumDef() {}

POA_CORBA::AliasDef::~AliasDef() {}

POA_CORBA::NativeDef::~NativeDef() {}

POA_CORBA::PrimitiveDef::~PrimitiveDef() {}

POA_CORBA::StringDef::~StringDef() {}

POA_CORBA::WstringDef::~WstringDef() {}

POA_CORBA::FixedDef::~FixedDef() {}

POA_CORBA::SequenceDef::~SequenceDef() {}

POA_CORBA::ArrayDef::~ArrayDef() {}

POA_CORBA::ExceptionDef::~ExceptionDef() {}

POA_CORBA::AttributeDef::~AttributeDef() {}

POA_CORBA::OperationDef::~OperationDef() {}

POA_CORBA::InterfaceDef::~InterfaceDef() {}

POA_CORBA::ValueMemberDef::~ValueMemberDef() {}

POA_CORBA::ValueDef::~ValueDef() {}

POA_CORBA::ValueBoxDef::~ValueBoxDef() {}

POA_CORBA::AbstractInterfaceDef::~AbstractInterfaceDef() {}

