⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dynanyimpl.h

📁 编译工具
💻 H
📖 第 1 页 / 共 3 页
字号:
  virtual ~DynUnionEnumDisc();  /*******************  * public interface *  *******************/  virtual DynamicAny::DynAny_ptr copy();  virtual char* get_as_string();  virtual void set_as_string(const char* value);  virtual CORBA::ULong get_as_ulong();  virtual void set_as_ulong(CORBA::ULong value);  /****************************  * exposed private interface *  ****************************/  virtual int NP_nodetype() const;  /***********  * internal *  ***********/  void set_to_initial_value();  virtual void set_value(TypeCode_union::Discriminator v);  // Must NOT hold DynAnyImplBase::lock.  TypeCode_enum* actualTc() const {    return (TypeCode_enum*) DynAnyImplBase::actualTc();  }  virtual void _NP_incrRefCount();  virtual void _NP_decrRefCount();  // Must not hold DynAnyImplBase::refCountLock.  virtual void* _ptrToObjRef(const char* repoId);};///////////////////////////////////////////////////////////////////////////////////////////////// DynUnionImpl ///////////////////////////////////////////////////////////////////////////////////////////////////class DynUnionImpl : public DynAnyImplBase,		     public DynamicAny::DynUnion{public:  DynUnionImpl(TypeCode_base* tc, CORBA::Boolean is_root=1);  virtual ~DynUnionImpl();  /*******************  * public interface *  *******************/  virtual void assign(DynamicAny::DynAny_ptr dyn_any);  virtual DynamicAny::DynAny_ptr copy();  virtual CORBA::Boolean equal(DynamicAny::DynAny_ptr dyn_any);  virtual void insert_boolean   (CORBA::Boolean      	value);  virtual void insert_octet     (CORBA::Octet        	value);  virtual void insert_char      (CORBA::Char         	value);  virtual void insert_short     (CORBA::Short        	value);  virtual void insert_ushort    (CORBA::UShort       	value);  virtual void insert_long      (CORBA::Long         	value);  virtual void insert_ulong     (CORBA::ULong        	value);#ifndef NO_FLOAT				 	        virtual void insert_float     (CORBA::Float        	value);  virtual void insert_double    (CORBA::Double       	value);#endif						 	        virtual void insert_string    (const char*         	value);  virtual void insert_reference (CORBA::Object_ptr   	value);  virtual void insert_typecode  (CORBA::TypeCode_ptr 	value);#ifdef HAS_LongLong				 	        virtual void insert_longlong  (CORBA::LongLong     	value);  virtual void insert_ulonglong (CORBA::ULongLong    	value);#endif						 	      #ifdef HAS_LongDouble				 	        virtual void insert_longdouble(CORBA::LongDouble   	value);#endif						 	        virtual void insert_wchar     (CORBA::WChar        	value);  virtual void insert_wstring   (const CORBA::WChar* 	value);  virtual void insert_any       (const CORBA::Any&   	value);  virtual void insert_dyn_any   (DynamicAny::DynAny_ptr value);  virtual CORBA::Boolean      	 get_boolean();  virtual CORBA::Octet        	 get_octet();  virtual CORBA::Char         	 get_char();  virtual CORBA::Short        	 get_short();  virtual CORBA::UShort       	 get_ushort();  virtual CORBA::Long         	 get_long();  virtual CORBA::ULong        	 get_ulong();#ifndef NO_FLOAT  virtual CORBA::Float        	 get_float();  virtual CORBA::Double       	 get_double();#endif			 	     virtual char*               	 get_string();  virtual CORBA::Object_ptr   	 get_reference();  virtual CORBA::TypeCode_ptr 	 get_typecode();#ifdef HAS_LongLong  virtual CORBA::LongLong     	 get_longlong();  virtual CORBA::ULongLong    	 get_ulonglong();#endif			 	   #ifdef HAS_LongDouble  virtual CORBA::LongDouble   	 get_longdouble();#endif  virtual CORBA::WChar        	 get_wchar();  virtual CORBA::WChar*       	 get_wstring();  virtual CORBA::Any*         	 get_any();  virtual DynamicAny::DynAny_ptr get_dyn_any();  virtual void insert_boolean_seq   (CORBA::BooleanSeq&    value);  virtual void insert_octet_seq     (CORBA::OctetSeq&      value);  virtual void insert_char_seq      (CORBA::CharSeq&       value);  virtual void insert_short_seq     (CORBA::ShortSeq&      value);  virtual void insert_ushort_seq    (CORBA::UShortSeq&     value);  virtual void insert_long_seq      (CORBA::LongSeq&       value);  virtual void insert_ulong_seq     (CORBA::ULongSeq&      value);#ifndef NO_FLOAT  virtual void insert_float_seq     (CORBA::FloatSeq&      value);  virtual void insert_double_seq    (CORBA::DoubleSeq&     value);#endif#ifdef HAS_LongLong  virtual void insert_longlong_seq  (CORBA::LongLongSeq&   value);  virtual void insert_ulonglong_seq (CORBA::ULongLongSeq&  value);#endif#ifdef HAS_LongDouble						   virtual void insert_longdouble_seq(CORBA::LongDoubleSeq& value);#endif								   virtual void insert_wchar_seq     (CORBA::WCharSeq&      value);  virtual CORBA::BooleanSeq*    get_boolean_seq();  virtual CORBA::OctetSeq*      get_octet_seq();  virtual CORBA::CharSeq*       get_char_seq();  virtual CORBA::ShortSeq*      get_short_seq();  virtual CORBA::UShortSeq*     get_ushort_seq();  virtual CORBA::LongSeq*       get_long_seq();  virtual CORBA::ULongSeq* 	get_ulong_seq();#ifndef NO_FLOAT  virtual CORBA::FloatSeq* 	get_float_seq();  virtual CORBA::DoubleSeq*     get_double_seq();#endif#ifdef HAS_LongLong  virtual CORBA::LongLongSeq*   get_longlong_seq();  virtual CORBA::ULongLongSeq*  get_ulonglong_seq();#endif#ifdef HAS_LongDouble  virtual CORBA::LongDoubleSeq* get_longdouble_seq();#endif  virtual CORBA::WCharSeq*      get_wchar_seq();  virtual CORBA::Boolean seek(CORBA::Long index);  virtual void rewind();  virtual CORBA::Boolean next();  virtual CORBA::ULong component_count();  virtual DynamicAny::DynAny_ptr current_component();  virtual DynamicAny::DynAny_ptr get_discriminator();  virtual void set_discriminator(DynamicAny::DynAny_ptr d);  virtual void set_to_default_member();  virtual void set_to_no_active_member();  virtual CORBA::Boolean has_no_active_member();  virtual CORBA::TCKind discriminator_kind();  virtual DynamicAny::DynAny_ptr member();  virtual char*  member_name();  virtual CORBA::TCKind member_kind();  virtual CORBA::Boolean is_set_to_default_member();  /****************************  * exposed private interface *  ****************************/  virtual int NP_nodetype() const;  virtual void _NP_incrRefCount();  virtual void _NP_decrRefCount();  // Must not hold DynAnyImplBase::refCountLock.  virtual void* _ptrToObjRef(const char* repoId);  static const char* _PD_repoId;  // Fake repoId for use by _ptrToObjRef  /***********  * internal *  ***********/  virtual void set_to_initial_value();  virtual int copy_to(cdrMemoryStream& mbs);  virtual int copy_from(cdrMemoryStream& mbs);  virtual void onDispose();  void discriminatorHasChanged();  // If necassary detaches the old member, and creates a new member  // of the appropriate type.  inline TypeCode_union::Discriminator NP_disc_value() const {    return pd_disc_value;  }  inline CORBA::Long NP_disc_index() const {    return pd_member ? pd_disc_index : -1;  }  TypeCode_union* actualTc() const {    return (TypeCode_union*) DynAnyImplBase::actualTc();  }private:  cdrMemoryStream& writeCurrent(CORBA::TCKind kind) {    switch( pd_curr_index ) {    case 0:      if( kind != pd_disc_kind )  throw DynamicAny::DynAny::TypeMismatch();      pd_disc->pd_buf.rewindPtrs();      pd_disc->setValid();      return pd_disc->pd_buf;    case 1:      if( pd_member_kind != kind )  throw DynamicAny::DynAny::TypeMismatch();      pd_member->pd_buf.rewindPtrs();      // Must be a DynAnyImpl ...      ToDynAnyImpl(pd_member)->setValid();      return pd_member->pd_buf;    default:      throw DynamicAny::DynAny::InvalidValue();    }#ifdef NEED_DUMMY_RETURN    return pd_buf;#endif  }  cdrMemoryStream& readCurrent(CORBA::TCKind kind) {    switch( pd_curr_index ) {    case 0:      if( kind != pd_disc_kind || !pd_disc->isValid() )	throw DynamicAny::DynAny::TypeMismatch();      pd_disc->pd_buf.rewindInputPtr();      return pd_disc->pd_buf;    case 1:      // If !pd_member, then pd_member_kind == tk_null.      if( pd_member_kind != kind || !ToDynAnyImpl(pd_member)->isValid() )	throw DynamicAny::DynAny::TypeMismatch();      pd_member->pd_buf.rewindInputPtr();      return pd_member->pd_buf;    default:      throw DynamicAny::DynAny::InvalidValue();    }#ifdef NEED_DUMMY_RETURN    return pd_buf;#endif  }  void detachMember() {    if( pd_member ) {      pd_member->detach();      pd_member->destroy();      pd_member->_NP_decrRefCount();      pd_member = 0;      pd_member_kind = CORBA::tk_null;    }  }  /*  ** DynUnionImpl does not use an internal buffer to store the value.  ** Instead an instance of a DynAny is created for each of the  ** discriminator and the member value.  */  DynUnionDisc*                 pd_disc;  TypeCode_base*                pd_disc_type;  CORBA::TCKind                 pd_disc_kind;  TypeCode_union::Discriminator pd_disc_value;  CORBA::Long                   pd_disc_index;  // invalid if !pd_member  DynAnyImplBase* pd_member;            // may be 0  CORBA::TCKind   pd_member_kind;       // tk_null if !pd_member  int pd_curr_index;                    // -1, 0 or 1};/////////////////////////////////////////////////////////////////////////////////////////////// DynSequenceImpl //////////////////////////////////////////////////////////////////////////////////////////////////class DynSequenceImpl : public DynAnyConstrBase,			public DynamicAny::DynSequence{public:  DynSequenceImpl(TypeCode_base* tc, CORBA::Boolean is_root=1);  virtual ~DynSequenceImpl();  /*******************  * public interface *  *******************/  virtual DynamicAny::DynAny_ptr copy();  virtual CORBA::ULong get_length();  virtual void set_length (CORBA::ULong len);  virtual DynamicAny::AnySeq* get_elements();  virtual void set_elements(const DynamicAny::AnySeq& value);  virtual DynamicAny::DynAnySeq* get_elements_as_dyn_any();  virtual void set_elements_as_dyn_any(const DynamicAny::DynAnySeq& value);  /****************************  * exposed private interface *  ****************************/  virtual int NP_nodetype() const;  virtual void _NP_incrRefCount();  virtual void _NP_decrRefCount();  // Must not hold DynAnyImplBase::refCountLock.  virtual void* _ptrToObjRef(const char* repoId);  /***********  * internal *  ***********/  virtual int copy_to(cdrMemoryStream& mbs);  virtual int copy_from(cdrMemoryStream& mbs);  virtual TypeCode_base* nthComponentTC(unsigned n);  // Overrides DynAnyConstrBase  virtual SeqLocation prepareSequenceWrite(CORBA::TCKind kind,					   CORBA::ULong len);  virtual SeqLocation prepareSequenceRead(CORBA::TCKind kind);private:  CORBA::ULong pd_bound;  // 0 if unbounded sequence, bound otherwise};///////////////////////////////////////////////////////////////////////////////////////////////// DynArrayImpl ///////////////////////////////////////////////////////////////////////////////////////////////////class DynArrayImpl : public DynAnyConstrBase,		     public DynamicAny::DynArray{public:  DynArrayImpl(TypeCode_base* tc, CORBA::Boolean is_root=1);  virtual ~DynArrayImpl();  /*******************  * public interface *  *******************/  virtual DynamicAny::DynAny_ptr copy();  virtual DynamicAny::AnySeq* get_elements();  virtual void set_elements(const DynamicAny::AnySeq& value);  virtual DynamicAny::DynAnySeq* get_elements_as_dyn_any();  virtual void set_elements_as_dyn_any(const DynamicAny::DynAnySeq& value);  /****************************  * exposed private interface *  ****************************/  virtual int NP_nodetype() const;  virtual void _NP_incrRefCount();  virtual void _NP_decrRefCount();  // Must not hold DynAnyImplBase::refCountLock.  virtual void* _ptrToObjRef(const char* repoId);  /***********  * internal *  ***********/  virtual TypeCode_base* nthComponentTC(unsigned n);  // Overrides DynAnyConstrBase  virtual SeqLocation prepareSequenceWrite(CORBA::TCKind kind,					   CORBA::ULong len);  virtual SeqLocation prepareSequenceRead(CORBA::TCKind kind);private:};//////////////////////////////////////////////////////////////////////////////////////////////////// Narrowing ///////////////////////////////////////////////////////////////////////////////////////////////////// <p> must not be nil.inline DynAnyImplBase* ToDynAnyImplBase(DynamicAny::DynAny_ptr p){  DynAnyImplBase* daib =    (DynAnyImplBase*)p->_ptrToObjRef(DynAnyImplBase::_PD_repoId);  OMNIORB_ASSERT(daib);  return daib;}// <p> must not be nil.inline DynAnyImpl* ToDynAnyImpl(DynamicAny::DynAny_ptr p){  DynAnyImpl* dai = (DynAnyImpl*)p->_ptrToObjRef(DynAnyImpl::_PD_repoId);  OMNIORB_ASSERT(dai);  return dai;}// <p> must not be nil.inline DynAnyConstrBase* ToDynAnyConstrBase(DynamicAny::DynAny_ptr p){  DynAnyConstrBase* dacb = (DynAnyConstrBase*)p->                                   _ptrToObjRef(DynAnyConstrBase::_PD_repoId);  OMNIORB_ASSERT(dacb);  return dacb;}// <p> must not be nil.inline DynUnionImpl* ToDynUnionImpl(DynamicAny::DynAny_ptr p){  DynUnionImpl* daui = (DynUnionImpl*)p->                                  _ptrToObjRef(DynUnionImpl::_PD_repoId);  OMNIORB_ASSERT(daui);  return daui;}///////////////////////////////////////////////////////////////////////////////////////////////// DynAnyFactoryImpl //////////////////////////////////////////////////////////////////////////////////////////////class DynAnyFactoryImpl : public DynamicAny::DynAnyFactory{public:  DynAnyFactoryImpl() :    OMNIORB_BASE_CTOR(DynamicAny::)DynAnyFactory(0), pd_refCount(1) {}  virtual ~DynAnyFactoryImpl();  // IDL defined functions  virtual DynamicAny::DynAny_ptr  create_dyn_any(const CORBA::Any& value);  virtual DynamicAny::DynAny_ptr  create_dyn_any_from_type_code(CORBA::TypeCode_ptr type);  // Internals  virtual void* _ptrToObjRef(const char* repoId);  virtual void _NP_incrRefCount();  virtual void _NP_decrRefCount();  static DynamicAny::DynAnyFactory_ptr theFactory();private:  int pd_refCount;};OMNI_NAMESPACE_END(omni)#endif  // __DYNANYIMPL_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -