TAO_GIOP_Message_Generator_Parser_Impl Class Reference

This class holds all the different GIOP message generators and parsers. More...

#include <GIOP_Message_Generator_Parser_Impl.h>

Collaboration diagram for TAO_GIOP_Message_Generator_Parser_Impl:

Collaboration graph
[legend]
List of all members.

Static Public Member Functions

CORBA::Boolean check_revision (CORBA::Octet incoming_major, CORBA::Octet incoming_minor)
 Performs a check of the revision numbers.


Public Attributes

TAO_GIOP_Message_Generator_Parser_10 tao_giop_10
 Version 1.0 of GIOP.

TAO_GIOP_Message_Generator_Parser_11 tao_giop_11
 Version 1.1 of GIOP.

TAO_GIOP_Message_Generator_Parser_12 tao_giop_12
 Version 1.2 of GIOP.


Detailed Description

This class holds all the different GIOP message generators and parsers.

This class can be done away with if we want to use the svc.conf file to load the right GIOP protocol. But that would require some work as we need to make sure that we have the behaviours of lower versions in the higher versions.

Definition at line 41 of file GIOP_Message_Generator_Parser_Impl.h.


Member Function Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE CORBA::Boolean TAO_GIOP_Message_Generator_Parser_Impl::check_revision CORBA::Octet  incoming_major,
CORBA::Octet  incoming_minor
[static]
 

Performs a check of the revision numbers.

Definition at line 8 of file GIOP_Message_Generator_Parser_Impl.inl.

References TAO_DEF_GIOP_MAJOR, and TAO_DEF_GIOP_MINOR.

Referenced by TAO_GIOP_Message_State::get_version_info().

00011 {
00012   CORBA::UShort const version_as_whole_num =
00013     incoming_major << 8 | incoming_minor;
00014 
00015   CORBA::UShort const max_allowable_version =
00016     TAO_DEF_GIOP_MAJOR << 8 | TAO_DEF_GIOP_MINOR;
00017 
00018   // If it's greater than the max, we know it's not allowed.
00019   if (version_as_whole_num > max_allowable_version)
00020     return 0;
00021 
00022   // If it's less than the max, though, we still have to check for
00023   // each explicit version and only allow the ones we know work.
00024   switch (version_as_whole_num)
00025     {
00026     case 0x0100:
00027     case 0x0101:
00028     case 0x0102:
00029       return 1;
00030     }
00031 
00032   return 0;
00033 }


Member Data Documentation

TAO_GIOP_Message_Generator_Parser_10 TAO_GIOP_Message_Generator_Parser_Impl::tao_giop_10
 

Version 1.0 of GIOP.

Definition at line 50 of file GIOP_Message_Generator_Parser_Impl.h.

Referenced by TAO_GIOP_Message_Base::set_state().

TAO_GIOP_Message_Generator_Parser_11 TAO_GIOP_Message_Generator_Parser_Impl::tao_giop_11
 

Version 1.1 of GIOP.

Definition at line 53 of file GIOP_Message_Generator_Parser_Impl.h.

Referenced by TAO_GIOP_Message_Base::set_state().

TAO_GIOP_Message_Generator_Parser_12 TAO_GIOP_Message_Generator_Parser_Impl::tao_giop_12
 

Version 1.2 of GIOP.

Definition at line 56 of file GIOP_Message_Generator_Parser_Impl.h.

Referenced by TAO_GIOP_Message_Base::set_state().


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 12:14:11 2006 for TAO by doxygen 1.3.6