Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

TAO_Target_Specification Class Reference

A class to encapsulate all the ways of specifying targets. More...

#include <target_specification.h>

Collaboration diagram for TAO_Target_Specification:

Collaboration graph
[legend]
List of all members.

Public Types

enum  TAO_Target_Address { Key_Addr = 0, Profile_Addr, Reference_Addr }

Public Methods

 TAO_Target_Specification (void)
 Ctor. More...

void target_specifier (const TAO_ObjectKey &key)
 Set the target specification by giving the object key. More...

void target_specifier (IOP::TaggedProfile &profile)
 Set the target specification by passing in an IOP::TaggedProfile. More...

void target_specifier (IOP::IOR &ior, CORBA::ULong prof_index)
 Specify the target by passing in the IOP::IOR with a profile index. More...

const TAO_ObjectKeyobject_key (void)
 Returns the object key after a check of the stored specifier. More...

const IOP::TaggedProfileprofile (void)
 Returns the IOP::TaggedProfile after a check of the stored specifier. More...

CORBA::ULong iop_ior (IOP::IOR *&ior)
 Returns a pointer to IOP::IOR through the parameters and the index of the selected profile as a return parameter after a check of the stored specifier. More...

TAO_Target_Address specifier (void)
 Access the TArget_Address specifier. More...


Private Attributes

union {
   TAO_ObjectKey *   object_key_
   IOP::TaggedProfile *   profile_
   IOP::IOR *   ior_
u_
TAO_Target_Address specifier_
 The enum identifier. More...

CORBA::ULong profile_index_
 The profile index. More...


Detailed Description

A class to encapsulate all the ways of specifying targets.

@ Bala: do we have examples of how other protocols map object keys? @ Carlos: The way HTTP-NG does is not quite intuitive. But they too have a sequnce of Octet which more or less fits this model. You are also allowed to specify is a Cache Index (14 bits). I think that can also be worked out and shouldn't be a big deal. @ Bala:What if they pass something around that does not fit this model? @ Carlos:As long as we dont know it is ok. But then if we get to some point where we have something floating around, obviously we would have well defined data structure in TAO. BTW, in IMHO it is not possible for me to think the myriad data structures that a designer can come up with. So, I can look ahead possibily a couple of days but not a life time :-) But you have a good question though. Please sont remove these discussions. It could be useful for someone someday.


Member Enumeration Documentation

enum TAO_Target_Specification::TAO_Target_Address
 

Enumeration values:
Key_Addr 
Profile_Addr 
Reference_Addr 


Constructor & Destructor Documentation

ACE_INLINE TAO_Target_Specification::TAO_Target_Specification void   
 

Ctor.


Member Function Documentation

ACE_INLINE CORBA::ULong TAO_Target_Specification::iop_ior IOP::IOR *&    ior
 

Returns a pointer to IOP::IOR through the parameters and the index of the selected profile as a return parameter after a check of the stored specifier.

If the stored specifier is not of the right type then this would return a NULL.

ACE_INLINE const TAO_ObjectKey * TAO_Target_Specification::object_key void   
 

Returns the object key after a check of the stored specifier.

If the stored specifier is not of the right type then this would return a NULL

ACE_INLINE const IOP::TaggedProfile * TAO_Target_Specification::profile void   
 

Returns the IOP::TaggedProfile after a check of the stored specifier.

If the stored specifier is not of the right type then this would return a NULL

ACE_INLINE TAO_Target_Specification::TAO_Target_Address TAO_Target_Specification::specifier void   
 

Access the TArget_Address specifier.

ACE_INLINE void TAO_Target_Specification::target_specifier IOP::IOR   ior,
CORBA::ULong    prof_index
 

Specify the target by passing in the IOP::IOR with a profile index.

Please see the header file IOPC.h on why a profile index is required.

ACE_INLINE void TAO_Target_Specification::target_specifier IOP::TaggedProfile   profile
 

Set the target specification by passing in an IOP::TaggedProfile.

ACE_INLINE void TAO_Target_Specification::target_specifier const TAO_ObjectKey   key
 

Set the target specification by giving the object key.


Member Data Documentation

IOP::IOR* TAO_Target_Specification::ior_ [private]
 

TAO_ObjectKey* TAO_Target_Specification::object_key_ [private]
 

IOP::TaggedProfile* TAO_Target_Specification::profile_ [private]
 

CORBA::ULong TAO_Target_Specification::profile_index_ [private]
 

The profile index.

TAO_Target_Address TAO_Target_Specification::specifier_ [private]
 

The enum identifier.

union { ... } TAO_Target_Specification::u_ [private]
 


The documentation for this class was generated from the following files:
Generated on Thu Oct 10 18:53:13 2002 for TAO by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001