CEC_DynamicImplementation.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file   CEC_DynamicImplementation.h
00006  *
00007  *  $Id: CEC_DynamicImplementation.h 77001 2007-02-12 07:54:49Z johnnyw $
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 
00047   virtual CORBA::RepositoryId _primary_interface (
00048       const PortableServer::ObjectId &oid,
00049       PortableServer::POA_ptr poa);
00050 
00051   virtual PortableServer::POA_ptr _default_POA (void);
00052 
00053   // Handles the _is_a call
00054   virtual void is_a (CORBA::ServerRequest_ptr request);
00055 
00056 private:
00057   // The POA
00058   PortableServer::POA_var poa_;
00059 
00060   // The Typed Proxy Push Consumer Implementation
00061   TAO_CEC_TypedProxyPushConsumer *typed_pp_consumer_;
00062 
00063   // The Typed Event Channel Implementation
00064   TAO_CEC_TypedEventChannel *typed_event_channel_;
00065 
00066   // The RepositoryId
00067   CORBA::RepositoryId repository_id_;
00068 };
00069 
00070 TAO_END_VERSIONED_NAMESPACE_DECL
00071 
00072 #if defined(__ACE_INLINE__)
00073 #include "orbsvcs/CosEvent/CEC_DynamicImplementation.inl"
00074 #endif /* __ACE_INLINE__ */
00075 
00076 #endif /* TAO_CEC_DYNAMICIMPLEMENTATION_H */

Generated on Tue Feb 2 17:44:51 2010 for TAO_CosEvent by  doxygen 1.4.7