EC_Lifetime_Utils_T.h File Reference

#include "orbsvcs/Event/EC_Lifetime_Utils.h"
#include "orbsvcs/Event/EC_Lifetime_Utils_T.i"

Include dependency graph for EC_Lifetime_Utils_T.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Classes

class  TAO_EC_Auto_Command
class  TAO_EC_Shutdown_Command
class  TAO_EC_Servant_Var

Functions

template<typename T> TAO_BEGIN_VERSIONED_NAMESPACE_DECL
void 
activate (T &obj_ref, PortableServer::POA_ptr poa, PortableServer::ServantBase *servant, TAO_EC_Object_Deactivator &object_deactivator)
 Helper for activating objects. Activates servant with poa and returns the object reference via obj_ref. If object_deactivator != 0, it is populated with info necessary to deactivate the servant from poa.

template<class X, class Y> bool operator== (TAO_EC_Servant_Var< X > const &x, TAO_EC_Servant_Var< Y > const &y)
 Compare two TAO_EC_Servant_Vars for equivalence.

template<class X, class Y> bool operator!= (TAO_EC_Servant_Var< X > const &x, TAO_EC_Servant_Var< Y > const &y)
 Compare two TAO_EC_Servant_Vars for non-equivalence.


Detailed Description

EC_Lifetime_Utils_T.h,v 1.5 2006/03/14 06:14:25 jtc Exp

Author:
Jody Hagins (jody@atdesk.com)

Marina Spivak (marina@atdesk.com)

This file is a temporary place for general CORBA application utility classes. These classes will be moved out from the EC library and into TAO or will be replaced by other TAO classes with similar functionality.

Definition in file EC_Lifetime_Utils_T.h.


Function Documentation

template<typename T>
TAO_BEGIN_VERSIONED_NAMESPACE_DECL void activate T &  obj_ref,
PortableServer::POA_ptr  poa,
PortableServer::ServantBase servant,
TAO_EC_Object_Deactivator object_deactivator
 

Helper for activating objects. Activates servant with poa and returns the object reference via obj_ref. If object_deactivator != 0, it is populated with info necessary to deactivate the servant from poa.

Definition at line 16 of file EC_Lifetime_Utils_T.cpp.

References ACE_CHECK, ACE_ENV_ARG_PARAMETER, ACE_THROW, and CORBA::is_nil().

Referenced by TAO_ECG_UDP_Sender::new_connect(), TAO_ECG_UDP_Receiver::new_connect(), TAO_ECG_Mcast_EH::open(), and TAO_ECG_Mcast_Gateway::run().

00021 {
00022   // Activate the servant into the POA.
00023   PortableServer::ObjectId_var obj_id =
00024     poa->activate_object (servant
00025                           ACE_ENV_ARG_PARAMETER);
00026   ACE_CHECK;
00027 
00028   suggested_object_deactivator.set_values (poa, obj_id.in ());
00029 
00030   // Get the object reference of the activated object.
00031   CORBA::Object_var obj =
00032     poa->id_to_reference (obj_id.in () ACE_ENV_ARG_PARAMETER);
00033   ACE_CHECK;
00034 
00035   // Don't try to use T::_obj_type::_narrow, some compilers don't like it so
00036   // do this in two steps
00037   typedef typename T::_obj_type my_object_type;
00038 
00039   obj_ref =
00040     my_object_type::_narrow (obj.in() ACE_ENV_ARG_PARAMETER);
00041   ACE_CHECK;
00042 
00043   if (CORBA::is_nil (obj_ref.in ()))
00044   {
00045     ACE_THROW (CORBA::INTERNAL ());
00046   }
00047 }

template<class X, class Y>
bool operator!= TAO_EC_Servant_Var< X > const &  x,
TAO_EC_Servant_Var< Y > const &  y
 

Compare two TAO_EC_Servant_Vars for non-equivalence.

Definition at line 334 of file EC_Lifetime_Utils_T.i.

References TAO_EC_Servant_Var< T >::in().

00336 {
00337   return x.in() != y.in();
00338 }

template<class X, class Y>
bool operator== TAO_EC_Servant_Var< X > const &  x,
TAO_EC_Servant_Var< Y > const &  y
 

Compare two TAO_EC_Servant_Vars for equivalence.

Definition at line 326 of file EC_Lifetime_Utils_T.i.

References TAO_EC_Servant_Var< T >::in().

00328 {
00329   return x.in() == y.in();
00330 }


Generated on Thu Nov 9 13:12:16 2006 for TAO_RTEvent by doxygen 1.3.6