2 // Detection of flags in the CDR Stream
4 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
6 ACE_INLINE CORBA::Boolean
7 TAO_OBV_GIOP_Flags::is_null_ref (CORBA::Long tag)
9 return (tag == Null_tag);
12 ACE_INLINE CORBA::Boolean
13 TAO_OBV_GIOP_Flags::is_value_tag (CORBA::Long tag)
15 return ((tag & Value_tag_sigbits) == 0x7FFFFF00L);
18 ACE_INLINE CORBA::Boolean
19 TAO_OBV_GIOP_Flags::has_codebase_url (CORBA::Long tag)
21 return (CORBA::Boolean) (tag & Codebase_url);
24 ACE_INLINE CORBA::Boolean
25 TAO_OBV_GIOP_Flags::has_no_type_info (CORBA::Long tag)
27 return ((tag & Type_info_sigbits) == Type_info_none);
30 ACE_INLINE CORBA::Boolean
31 TAO_OBV_GIOP_Flags::has_single_type_info (CORBA::Long tag)
33 return ((tag & Type_info_sigbits) == Type_info_single);
36 ACE_INLINE CORBA::Boolean
37 TAO_OBV_GIOP_Flags::has_list_type_info (CORBA::Long tag)
39 return ((tag & Type_info_sigbits) == Type_info_list);
42 ACE_INLINE CORBA::Boolean
43 TAO_OBV_GIOP_Flags::is_chunked (CORBA::Long tag)
45 return (CORBA::Boolean) (tag & 8);
48 ACE_INLINE CORBA::Boolean
49 TAO_OBV_GIOP_Flags::is_indirection_tag (CORBA::Long tag)
51 return tag == Indirection_tag;
55 ACE_INLINE CORBA::Boolean
56 TAO_OBV_GIOP_Flags::is_indirection (CORBA::Long value)
58 return (0x80000000L < static_cast<unsigned>(value) &&
59 static_cast<unsigned>(value) <= (0xFFFFFFFFL - 4));
63 ACE_INLINE CORBA::Boolean
64 TAO_OBV_GIOP_Flags::is_block_size (CORBA::Long value)
66 return (0 < static_cast<unsigned>(value) &&
67 static_cast<unsigned>(value) < 0x7FFFFF00L);
70 ACE_INLINE CORBA::Boolean
71 TAO_OBV_GIOP_Flags::is_end_tag (CORBA::Long tag)
73 return (0x80000000L < (unsigned)tag);
76 TAO_END_VERSIONED_NAMESPACE_DECL