summaryrefslogtreecommitdiff
path: root/TAO/tao/target_specification.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/target_specification.h')
-rw-r--r--TAO/tao/target_specification.h124
1 files changed, 66 insertions, 58 deletions
diff --git a/TAO/tao/target_specification.h b/TAO/tao/target_specification.h
index 907b0d184e5..488511a0ca8 100644
--- a/TAO/tao/target_specification.h
+++ b/TAO/tao/target_specification.h
@@ -1,21 +1,19 @@
//-*- C++ -*-
-// $Id$
-
-// ============================================================================
-//
-// = LIBRARY
-// TAO
-//
-// = FILENAME
-// target_identifier.h
-//
-// = DESCRIPTION
-// A class that encapsulates the target identification details.
-//
-//
-// = AUTHOR
-// Balachandran Natarajan <bala@cs.wustl.edu>
-// ============================================================================
+
+//=============================================================================
+/**
+ * @file target_specification.h
+ *
+ * $Id$
+ *
+ * A class that encapsulates the target identification details.
+ *
+ *
+ *
+ * @author Balachandran Natarajan <bala@cs.wustl.edu>
+ */
+//=============================================================================
+
#ifndef TAO_TARGET_SPECIFICATION_H
#define TAO_TARGET_SPECIFICATION_H
@@ -25,30 +23,32 @@
#include "tao/IOPC.h"
+/**
+ * @class TAO_Target_Specification
+ *
+ * @brief 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.
+ */
class TAO_Export TAO_Target_Specification
{
- // = TITLE
- // A class to encapsulate all the ways of specifying targets.
- //
- // = DESCRIPTION
- // @@ 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.
// @@ Bala: i hate to be picky on these matters, but you are not
// writing a novel or your memoirs, 'I foresee' does not look like
@@ -67,8 +67,8 @@ class TAO_Export TAO_Target_Specification
// required.
public:
+ /// Ctor
TAO_Target_Specification (void);
- // Ctor
enum TAO_Target_Address
{
// Note that this could be extended for other protocols
@@ -80,38 +80,46 @@ public:
// Note: Please do not pass in a identifiers that is allocated on
// stack. These methods does not make a copy but holds the pointer
// passed in.
+ /// Set the target specification by giving the object key.
void target_specifier (const TAO_ObjectKey &key);
- // Set the target specification by giving the object key.
+ /// Set the target specification by passing in an IOP::TaggedProfile.
void target_specifier (IOP::TaggedProfile &profile);
- // Set the target specification by passing in an IOP::TaggedProfile.
+ /**
+ * 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.
+ */
void 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.
+ /**
+ * 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
+ */
const TAO_ObjectKey* 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
+ /**
+ * 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
+ */
const IOP::TaggedProfile *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
+ /**
+ * 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.
+ */
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. If the stored specifier is not of the
- // right type then this would return a NULL.
+ /// Access the TArget_Address specifier
TAO_Target_Address specifier (void);
- // Access the TArget_Address specifier
private:
union
@@ -122,11 +130,11 @@ private:
} u_;
// The union of all the possibilities
+ /// The enum identifier
TAO_Target_Address specifier_;
- // The enum identifier
+ /// The profile index
CORBA::ULong profile_index_;
- // The profile index
};
#if defined (__ACE_INLINE__)