CEC_DynamicImplementation.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file   CEC_DynamicImplementation.h
00006  *
00007  *  CEC_DynamicImplementation.h,v 1.4 2006/03/14 06:14:24 jtc Exp
00008  *
00009  *  @author Jon Astle (jon@astle45.fsnet.co.uk)
00010  */
00011 //=============================================================================
00012 
00013 
00014 #ifndef TAO_CEC_DYNAMICIMPLEMENTATION_H
00015 #define TAO_CEC_DYNAMICIMPLEMENTATION_H
00016 
00017 #include "orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.h"
00018 #include "orbsvcs/CosEvent/CEC_TypedEventChannel.h"
00019 #include "tao/DynamicInterface/Server_Request.h"
00020 #include "tao/DynamicInterface/Dynamic_Implementation.h"
00021 #include "tao/ORB.h"
00022 
00023 
00024 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00025 
00026 class TAO_CEC_DynamicImplementationServer : public TAO_DynamicImplementation
00027 {
00028   // = TITLE
00029   //   DSI TAO_CEC_DynamicImplementationServer implementation
00030   //
00031   // = DESCRIPTION
00032   //   Implements the DSI impl object
00033   //
00034 public:
00035 
00036   // Constructure
00037   TAO_CEC_DynamicImplementationServer (PortableServer::POA_ptr poa,
00038                                        TAO_CEC_TypedProxyPushConsumer *typed_pp_consumer,
00039                                        TAO_CEC_TypedEventChannel *typed_event_channel);
00040 
00041   //Destructor 
00042   virtual ~TAO_CEC_DynamicImplementationServer (void);
00043 
00044   // = The DynamicImplementation methods.
00045   virtual void invoke (CORBA::ServerRequest_ptr request
00046                        ACE_ENV_ARG_DECL)
00047       ACE_THROW_SPEC ((CORBA::SystemException));
00048 
00049   virtual CORBA::RepositoryId _primary_interface (
00050       const PortableServer::ObjectId &oid,
00051       PortableServer::POA_ptr poa
00052       ACE_ENV_ARG_DECL
00053     )
00054       ACE_THROW_SPEC (());
00055 
00056   virtual PortableServer::POA_ptr _default_POA (
00057       ACE_ENV_SINGLE_ARG_DECL
00058     );
00059 
00060   // Handles the _is_a call
00061   virtual void is_a (CORBA::ServerRequest_ptr request
00062                      ACE_ENV_ARG_DECL);
00063 
00064 private:
00065   // The POA
00066   PortableServer::POA_var poa_;
00067 
00068   // The Typed Proxy Push Consumer Implementation
00069   TAO_CEC_TypedProxyPushConsumer *typed_pp_consumer_;
00070 
00071   // The Typed Event Channel Implementation
00072   TAO_CEC_TypedEventChannel *typed_event_channel_;
00073 
00074   // The RepositoryId
00075   CORBA::RepositoryId repository_id_;
00076 };
00077 
00078 TAO_END_VERSIONED_NAMESPACE_DECL
00079 
00080 #if defined(__ACE_INLINE__)
00081 #include "orbsvcs/CosEvent/CEC_DynamicImplementation.i"
00082 #endif /* __ACE_INLINE__ */
00083 
00084 #endif /* TAO_CEC_DYNAMICIMPLEMENTATION_H */

Generated on Thu Nov 9 13:18:16 2006 for TAO_CosEvent by doxygen 1.3.6