summaryrefslogtreecommitdiff
path: root/TAO/tao/MProfile.h
diff options
context:
space:
mode:
authorfredk <fredk@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-02-05 20:40:05 +0000
committerfredk <fredk@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-02-05 20:40:05 +0000
commit9f3c581271ef9d892acaf276ef76a203352ef5ca (patch)
treea3c3c3a07e8dfe8f1f8d593d315b87fbac117c73 /TAO/tao/MProfile.h
parent0e4e8f376f784d15df022969433c401f2631560b (diff)
downloadATCD-9f3c581271ef9d892acaf276ef76a203352ef5ca.tar.gz
*** empty log message ***
Diffstat (limited to 'TAO/tao/MProfile.h')
-rw-r--r--TAO/tao/MProfile.h36
1 files changed, 26 insertions, 10 deletions
diff --git a/TAO/tao/MProfile.h b/TAO/tao/MProfile.h
index 251c649125c..6e0a7b81a4a 100644
--- a/TAO/tao/MProfile.h
+++ b/TAO/tao/MProfile.h
@@ -25,19 +25,24 @@ typedef TAO_Profile * TAO_Profile_ptr;
// by TAO_.
typedef CORBA::ULong PHandle;
-class TAO_MProfile
+class TAO_Export TAO_MProfile
{
- // @@ Fred, please use the = TITLE and = DESCRIPTION format here...
+ // = TITLE
+ // TAO_MProfile
+ //
+ // = DESCRIPTION
// this class implements the basic interface for supporting multiple
// profiles. This can be treated either as a circular queue or a
// linear array of profiles.
- // @@ FRED: For now this list is not locked, BUT it needs to be!
+ //
+ // It is assumed that locking will only be required when a profile list
+ // is associated with a STUB_Object. Thus when the STUB_Object accepts
+ // ownership of an MProfile it also assumes responsibility for controling
+ // access (i.e. locking).
+ //
public:
// = Initalization and termination methods.
- // @@ Fred, please make sure to capitalize the first letter of each
- // sentence in your comments.
TAO_MProfile (CORBA::ULong sz);
- // ctor.
TAO_MProfile (TAO_MProfile *mprofiles);
// **NOTE: IF mprofiles->last_ > 0, THEN this->size_ will be set to
@@ -65,7 +70,8 @@ public:
// Get previous profile, stop at beginning of list and return 0
TAO_Profile_ptr get_current_profile (void);
- // @@ Fred, please document.
+ // return a pointer to the current profile, will not increment
+ // referecne pointer.
TAO_Profile_ptr get_profile (PHandle handle);
// Return a pointer to the profile referenced by handle void
@@ -108,20 +114,30 @@ public:
// references profiles!
protected:
TAO_Profile_ptr *pfiles (void) const;
- // @@ Fred, please add comments.
+ // return the complete list of profiles, this object retains ownership!
private:
- // @@ Fred, please add comments.
TAO_MProfile *fwded_mprofile_;
+ // Used for chaning references when the current profile is forwarded.
+ // Note, this will only be valid for an MProfile which contains a list of
+ // fwd_profiles for some initial or base profile.
+ // This is a backward reference to the profile list which received the
+ // relocate message. The actual profile what was forwarded will be
+ // fwded_mprofile_->get_current_profile ()
+
TAO_Profile_ptr *pfiles_;
+ // Actual list of profiles.
PHandle current_;
+ // Points to the next prfoile to be used.
// 0 ... size_
+
PHandle size_;
// Max size of array
+
PHandle last_;
- // Index plus 1 of last valid entry!
+ // Index plus 1 of last valid entry! May be < size_
};
#endif // TAO_MPROFILE_H