?? typecode.h
字號:
TypeCode_base* pd_compactTc; // The Kind of this TypeCode object CORBA::TCKind pd_tck;private: TypeCode_base();};//////////////////////////////////////////////////////////////////////////// Complex TypeCode sub-classes, used to generate typecodes for complex //// types. The following typecode sub-classes all use TypeCode_base as //// their base, so that all they have to do is override the functions //// relevant to their type. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// TypeCode_string ////////////////////////////////////////////////////////////////////////////////////////////////class TypeCode_string : public TypeCode_base {public: // omniORB interface: TypeCode_string(CORBA::ULong maxLen); virtual ~TypeCode_string(); virtual void NP_marshalSimpleParams(cdrStream&, TypeCode_offsetTable*) const; static TypeCode_base* NP_unmarshalSimpleParams(cdrStream& s, TypeCode_offsetTable*); // OMG Interface: virtual CORBA::Boolean NP_extendedEqual(const TypeCode_base* TCp, CORBA::Boolean equivalent, const TypeCode_pairlist* tcpl) const; virtual CORBA::ULong NP_length() const; virtual CORBA::Long NP_param_count() const; virtual CORBA::Any* NP_parameter(CORBA::Long) const;private: TypeCode_string(); CORBA::ULong pd_length;};///////////////////////////////////////////////////////////////////////////////////////////////// TypeCode_fixed /////////////////////////////////////////////////////////////////////////////////////////////////class TypeCode_fixed : public TypeCode_base {public: // omniORB interface: TypeCode_fixed(CORBA::UShort digits, CORBA::Short scale); virtual ~TypeCode_fixed(); virtual void NP_marshalSimpleParams(cdrStream&, TypeCode_offsetTable*) const; static TypeCode_base* NP_unmarshalSimpleParams(cdrStream& s, TypeCode_offsetTable*); // OMG Interface: virtual CORBA::Boolean NP_extendedEqual(const TypeCode_base* TCp, CORBA::Boolean equivalent, const TypeCode_pairlist* tcpl) const; virtual CORBA::UShort NP_fixed_digits() const; virtual CORBA::Short NP_fixed_scale() const;private: TypeCode_fixed(); CORBA::UShort pd_digits; CORBA::Short pd_scale;};///////////////////////////////////////////////////////////////////////////////////////////////// TypeCode_wstring ///////////////////////////////////////////////////////////////////////////////////////////////class TypeCode_wstring : public TypeCode_base {public: // omniORB interface: TypeCode_wstring(CORBA::ULong maxLen); virtual ~TypeCode_wstring(); virtual void NP_marshalSimpleParams(cdrStream&, TypeCode_offsetTable*) const; static TypeCode_base* NP_unmarshalSimpleParams(cdrStream& s, TypeCode_offsetTable*); // OMG Interface: virtual CORBA::Boolean NP_extendedEqual(const TypeCode_base* TCp, CORBA::Boolean equivalent, const TypeCode_pairlist* tcpl) const; virtual CORBA::ULong NP_length() const; virtual CORBA::Long NP_param_count() const; virtual CORBA::Any* NP_parameter(CORBA::Long) const;private: TypeCode_wstring(); CORBA::ULong pd_length;};///////////////////////////////////////////////////////////////////////////////////////////////// TypeCode_objref ////////////////////////////////////////////////////////////////////////////////////////////////class TypeCode_objref : public TypeCode_base {public: TypeCode_objref(const char* repositoryId, const char* name); virtual ~TypeCode_objref(); // omniORB marshalling routines specific to complex types virtual void NP_marshalComplexParams(cdrStream&, TypeCode_offsetTable*) const; static TypeCode_base* NP_unmarshalComplexParams(cdrStream &s, TypeCode_offsetTable* otbl); virtual TypeCode_paramListType NP_paramListType() const; // OMG Interface: virtual CORBA::Boolean NP_extendedEqual(const TypeCode_base* TCp, CORBA::Boolean equivalent, const TypeCode_pairlist* tcpl) const; virtual const char* NP_id() const; virtual const char* NP_name() const; virtual CORBA::Long NP_param_count() const; virtual CORBA::Any* NP_parameter(CORBA::Long) const; virtual void removeOptionalNames();private: TypeCode_objref(); CORBA::String_member pd_repoId; CORBA::String_member pd_name;};///////////////////////////////////////////////////////////////////////////////////////////////// TypeCode_alias /////////////////////////////////////////////////////////////////////////////////////////////////class TypeCode_alias : public TypeCode_base {public: TypeCode_alias(const char* repositoryId, const char* name, TypeCode_base* contentTC); virtual ~TypeCode_alias(); // omniORB marshalling routines specific to complex types virtual void NP_marshalComplexParams(cdrStream&, TypeCode_offsetTable*) const; static TypeCode_base* NP_unmarshalComplexParams(cdrStream& s, TypeCode_offsetTable*); // omniORB recursive typecode handling virtual CORBA::Boolean NP_complete_recursive_sequences(TypeCode_base* tc, CORBA::ULong offset); virtual CORBA::Boolean NP_complete_recursive(TypeCode_base* tc, const char* repoId); // OMG Interface: virtual CORBA::Boolean NP_extendedEqual(const TypeCode_base* TCp, CORBA::Boolean equivalent, const TypeCode_pairlist* tcpl) const; virtual const char* NP_id() const; virtual const char* NP_name() const; virtual TypeCode_base* NP_content_type() const; virtual CORBA::Long NP_param_count() const; virtual CORBA::Any* NP_parameter(CORBA::Long) const; virtual CORBA::Boolean NP_containsAnAlias(); virtual TypeCode_base* NP_aliasExpand(TypeCode_pairlist*); virtual void removeOptionalNames();private: inline TypeCode_alias() : TypeCode_base(CORBA::tk_alias) {} CORBA::String_member pd_repoId; CORBA::String_member pd_name; CORBA::TypeCode_member pd_content;};//////////////////////////////////////////////////////////////////////////////////////////////// TypeCode_sequence ///////////////////////////////////////////////////////////////////////////////////////////////class TypeCode_sequence : public TypeCode_base {public: TypeCode_sequence(CORBA::ULong maxLen, TypeCode_base* contentTC); // Normal constructor TypeCode_sequence(CORBA::ULong maxLen, CORBA::ULong offset); // For recursive sequence members TypeCode_sequence(CORBA::ULong maxLen); // For sequence of forward declared struct/union. Resolved later // with PR_resolve_forward(). virtual ~TypeCode_sequence(); // omniORB marshalling routines specific to complex types virtual void NP_marshalComplexParams(cdrStream&, TypeCode_offsetTable*) const; static TypeCode_base* NP_unmarshalComplexParams(cdrStream& s, TypeCode_offsetTable*); // omniORB recursive typecode handling virtual CORBA::Boolean NP_complete_recursive_sequences(TypeCode_base* tc, CORBA::ULong offset); virtual CORBA::Boolean NP_complete_recursive(TypeCode_base* tc, const char* repoId); // omniORB parameter list handling virtual TypeCode_paramListType NP_paramListType() const; // OMG Interface: virtual CORBA::Boolean NP_extendedEqual(const TypeCode_base* TCp, CORBA::Boolean equivalent, const TypeCode_pairlist* tcpl) const; virtual CORBA::ULong NP_length() const; virtual TypeCode_base* NP_content_type() const; virtual CORBA::Long NP_param_count() const; virtual CORBA::Any* NP_parameter(CORBA::Long) const; virtual CORBA::Boolean NP_containsAnAlias(); virtual TypeCode_base* NP_aliasExpand(TypeCode_pairlist*); virtual void removeOptionalNames(); inline CORBA::Boolean PR_content_is_assigned() const { return !CORBA::is_nil(pd_content); } virtual int PR_resolve_forward(CORBA::TypeCode_ptr tc);private: TypeCode_sequence(); CORBA::ULong pd_length; CORBA::TypeCode_member pd_content; CORBA::ULong pd_offset;};///////////////////////////////////////////////////////////////////////////////////////////////// TypeCode_array /////////////////////////////////////////////////////////////////////////////////////////////////class TypeCode_array : public TypeCode_base {public: TypeCode_array(CORBA::ULong maxLen, TypeCode_base* contentTC); virtual ~TypeCode_array(); // omniORB marshalling routines specific to complex types virtual void NP_marshalComplexParams(cdrStream&, TypeCode_offsetTable*) const; static TypeCode_base* NP_unmarshalComplexParams(cdrStream& s, TypeCode_offsetTable*); // omniORB recursive typecode handling virtual CORBA::Boolean NP_complete_recursive_sequences(TypeCode_base* tc, CORBA::ULong offset); virtual CORBA::Boolean NP_complete_recursive(TypeCode_base* tc, const char* repoId); // OMG Interface: virtual CORBA::Boolean NP_extendedEqual(const TypeCode_base* TCp, CORBA::Boolean equivalent, const TypeCode_pairlist* tcpl) const; virtual CORBA::ULong NP_length() const; virtual TypeCode_base* NP_content_type() const; virtual CORBA::Long NP_param_count() const; virtual CORBA::Any* NP_parameter(CORBA::Long) const; virtual CORBA::Boolean NP_containsAnAlias(); virtual TypeCode_base* NP_aliasExpand(TypeCode_pairlist*); virtual void removeOptionalNames();private: inline TypeCode_array() : TypeCode_base(CORBA::tk_array) {} void generateAlignmentTable(); CORBA::ULong pd_length; CORBA::TypeCode_member pd_content;};///////////////////////////////////////////////////////////////////////////////////////////////// TypeCode_struct ////////////////////////////////////////////////////////////////////////////////////////////////class TypeCode_struct : public TypeCode_base {public: struct Member { char* name; CORBA::TypeCode_ptr type; }; TypeCode_struct(char* repositoryId, char* name, Member* members, CORBA::ULong memberCount); // Consumes <repositoryId>, <name> and <members> (and all // the strings and TypeCodes in <members>). Assumes all // arguments are present and correct. virtual ~TypeCode_struct(); // omniORB marshalling routines specific to complex types virtual void NP_marshalComplexParams(cdrStream&, TypeCode_offsetTable*) const; static TypeCode_base* NP_unmarshalComplexParams(cdrStream&, TypeCode_offsetTable*); // omniORB recursive typecode handling virtual CORBA::Boolean NP_complete_recursive_sequences(TypeCode_base* tc, CORBA::ULong offset); virtual CORBA::Boolean NP_complete_recursive(TypeCode_base* tc, const char* repoId); // OMG Interface: virtual CORBA::Boolean NP_extendedEqual(const TypeCode_base* TCp, CORBA::Boolean equivalent, const TypeCode_pairlist* tcpl) const; virtual const char* NP_id() const; virtual const char* NP_name() const; virtual CORBA::ULong NP_member_count() const; virtual const char* NP_member_name(CORBA::ULong index) const; virtual TypeCode_base* NP_member_type(CORBA::ULong index) const; virtual CORBA::Long NP_param_count() const; virtual CORBA::Any* NP_parameter(CORBA::Long) const; virtual CORBA::Boolean NP_containsAnAlias(); virtual TypeCode_base* NP_aliasExpand(TypeCode_pairlist*); virtual void removeOptionalNames();private: inline TypeCode_struct() : TypeCode_base(CORBA::tk_struct), pd_members(0), pd_nmembers(0) {} // Private constructor - used when unmarshalling a TypeCode. void generateAlignmentTable(); CORBA::String_member pd_repoId; CORBA::String_member pd_name; Member* pd_members; CORBA::ULong pd_nmembers;};///////////////////////////////////////////////////////////////////////////////////////////////// TypeCode_except ////////////////////////////////////////////////////////////////////////////////////////////////class TypeCode_except : public TypeCode_base {public: TypeCode_except(char* repositoryId, char* name, TypeCode_struct::Member* members, CORBA::ULong memberCount); // Consumes <repositoryId>, <name> and <members> (and all // the strings and TypeCodes in <members>). Assumes all // arguments are present and correct. virtual ~TypeCode_except(); // omniORB marshalling routines specific to complex types virtual void NP_marshalComplexParams(cdrStream&, TypeCode_offsetTable*) const; static TypeCode_base* NP_unmarshalComplexParams(cdrStream&, TypeCode_offsetTable*); // omniORB recursive typecode handling virtual CORBA::Boolean NP_complete_recursive_sequences(TypeCode_base* tc, CORBA::ULong offset); virtual CORBA::Boolean NP_complete_recursive(TypeCode_base* tc, const char* repoId); // OMG Interface: virtual CORBA::Boolean NP_extendedEqual(const TypeCode_base* TCp, CORBA::Boolean equivalent, const TypeCode_pairlist* tcpl) const; virtual const char* NP_id() const; virtual const char* NP_name() const; virtual CORBA::ULong NP_member_count() const;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -