Priority_Mapping_Manager.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file   Priority_Mapping_Manager.h
00006  *
00007  *  $Id: Priority_Mapping_Manager.h 81429 2008-04-24 18:49:54Z johnnyw $
00008  *
00009  *  @author Marina Spivak (marina@cs.wustl.edu)
00010  */
00011 //=============================================================================
00012 
00013 
00014 #ifndef TAO_PRIORITY_MAPPING_MANAGER_H
00015 #define TAO_PRIORITY_MAPPING_MANAGER_H
00016 #include /**/ "ace/pre.h"
00017 
00018 #include "tao/orbconf.h"
00019 
00020 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00021 # pragma once
00022 #endif /* ACE_LACKS_PRAGMA_ONCE */
00023 
00024 #if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0
00025 
00026 #include "tao/RTCORBA/rtcorba_export.h"
00027 #include "tao/RTCORBA/Priority_Mapping.h"
00028 #include "tao/LocalObject.h"
00029 
00030 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00031 
00032 class TAO_Priority_Mapping_Manager;
00033 class TAO_Priority_Mapping_Manager_var;
00034 typedef TAO_Priority_Mapping_Manager *TAO_Priority_Mapping_Manager_ptr;
00035 
00036 
00037 /**
00038  * @class TAO_Priority_Mapping_Manager
00039  *
00040  * @brief Priority_Mapping_Manager pseudo-objref.
00041  *
00042  * Allows setting of user-defined Priority_Mapping at run-time.
00043  */
00044 class TAO_RTCORBA_Export TAO_Priority_Mapping_Manager :
00045   public virtual ::CORBA::LocalObject
00046 {
00047 
00048 public:
00049   /// Constructor.
00050   TAO_Priority_Mapping_Manager (RTCORBA::PriorityMapping * mapping);
00051 
00052   ///
00053   void mapping (RTCORBA::PriorityMapping * mapping);
00054 
00055   ///
00056   RTCORBA::PriorityMapping *mapping (void);
00057 
00058 public:
00059   typedef TAO_Priority_Mapping_Manager_ptr _ptr_type;
00060   typedef TAO_Priority_Mapping_Manager_var _var_type;
00061 
00062   // the static operations
00063   static TAO_Priority_Mapping_Manager_ptr _duplicate (TAO_Priority_Mapping_Manager_ptr obj);
00064   static TAO_Priority_Mapping_Manager_ptr _narrow (CORBA::Object_ptr obj);
00065 
00066   static TAO_Priority_Mapping_Manager_ptr _nil (void)
00067     {
00068       return (TAO_Priority_Mapping_Manager_ptr)0;
00069     }
00070 
00071   virtual const char* _interface_repository_id (void) const;
00072 
00073 protected:
00074 
00075   /// Protected destructor to enforce proper memory management of this
00076   /// reference counted object.
00077   ~TAO_Priority_Mapping_Manager (void);
00078 
00079 private:
00080 
00081   TAO_Priority_Mapping_Manager (const TAO_Priority_Mapping_Manager &);
00082   void operator= (const TAO_Priority_Mapping_Manager &);
00083 
00084 private:
00085 
00086   TAO_Priority_Mapping *mapping_;
00087 };
00088 
00089 class TAO_RTCORBA_Export TAO_Priority_Mapping_Manager_var
00090   : private TAO_Base_var
00091 {
00092 public:
00093   TAO_Priority_Mapping_Manager_var (void); // default constructor
00094   TAO_Priority_Mapping_Manager_var (TAO_Priority_Mapping_Manager_ptr);
00095   TAO_Priority_Mapping_Manager_var (const TAO_Priority_Mapping_Manager_var &); // copy constructor
00096   ~TAO_Priority_Mapping_Manager_var (void); // destructor
00097 
00098   TAO_Priority_Mapping_Manager_var &operator= (TAO_Priority_Mapping_Manager_ptr);
00099   TAO_Priority_Mapping_Manager_var &operator= (const TAO_Priority_Mapping_Manager_var &);
00100   TAO_Priority_Mapping_Manager_ptr operator-> (void) const;
00101 
00102   /// in, inout, out, _retn
00103   operator const TAO_Priority_Mapping_Manager_ptr &() const;
00104   operator TAO_Priority_Mapping_Manager_ptr &();
00105   TAO_Priority_Mapping_Manager_ptr in (void) const;
00106   TAO_Priority_Mapping_Manager_ptr &inout (void);
00107   TAO_Priority_Mapping_Manager_ptr &out (void);
00108   TAO_Priority_Mapping_Manager_ptr _retn (void);
00109   TAO_Priority_Mapping_Manager_ptr ptr (void) const;
00110 
00111   // Hooks used by template sequence and object manager classes
00112   // for non-defined forward declared interfaces.
00113   static TAO_Priority_Mapping_Manager_ptr duplicate (TAO_Priority_Mapping_Manager_ptr);
00114   static void release (TAO_Priority_Mapping_Manager_ptr);
00115   static TAO_Priority_Mapping_Manager_ptr nil (void);
00116   static TAO_Priority_Mapping_Manager_ptr narrow (CORBA::Object * );
00117   static CORBA::Object * upcast (void *);
00118 
00119 private:
00120   /// Unimplemented - prevents widening assignment.
00121   TAO_Priority_Mapping_Manager_ptr ptr_;
00122   TAO_Priority_Mapping_Manager_var (const TAO_Base_var &rhs);
00123   TAO_Priority_Mapping_Manager_var &operator= (const TAO_Base_var &rhs);
00124 };
00125 
00126 class TAO_RTCORBA_Export TAO_Priority_Mapping_Manager_out
00127 {
00128 public:
00129   TAO_Priority_Mapping_Manager_out (TAO_Priority_Mapping_Manager_ptr &);
00130   TAO_Priority_Mapping_Manager_out (TAO_Priority_Mapping_Manager_var &);
00131   TAO_Priority_Mapping_Manager_out (const TAO_Priority_Mapping_Manager_out &);
00132   TAO_Priority_Mapping_Manager_out &operator= (const TAO_Priority_Mapping_Manager_out &);
00133   TAO_Priority_Mapping_Manager_out &operator= (const TAO_Priority_Mapping_Manager_var &);
00134   TAO_Priority_Mapping_Manager_out &operator= (TAO_Priority_Mapping_Manager_ptr);
00135   operator TAO_Priority_Mapping_Manager_ptr &();
00136   TAO_Priority_Mapping_Manager_ptr &ptr (void);
00137   TAO_Priority_Mapping_Manager_ptr operator-> (void);
00138 
00139 private:
00140   TAO_Priority_Mapping_Manager_ptr &ptr_;
00141 };
00142 
00143 TAO_END_VERSIONED_NAMESPACE_DECL
00144 
00145 #if defined (__ACE_INLINE__)
00146 #include "tao/RTCORBA/Priority_Mapping_Manager.inl"
00147 #endif /* __ACE_INLINE__ */
00148 
00149 #endif /* TAO_HAS_CORBA_MESSAGING && TAO_HAS_CORBA_MESSAGING != 0 */
00150 
00151 #include /**/ "ace/post.h"
00152 #endif /* TAO_PRIORITY_MAPPING_MANAGER_H */

Generated on Tue Feb 2 17:42:49 2010 for TAO_RTCORBA by  doxygen 1.4.7