Stub_Factory.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    Stub_Factory.h
00006  *
00007  *  $Id: Stub_Factory.h 76551 2007-01-24 13:42:44Z johnnyw $
00008  *
00009  *   Defines the a factory interface for creating Stubs.
00010  *   This class creates the default stub, that is used in
00011  *   plain CORBA.
00012  *
00013  *
00014  *  @author  Angelo Corsaro <corsaro@cs.wustl.edu>
00015  */
00016 //=============================================================================
00017 
00018 #ifndef TAO_STUB_FACTORY_H_
00019 #define TAO_STUB_FACTORY_H_
00020 
00021 #include /**/ "ace/pre.h"
00022 
00023 #include /**/ "tao/TAO_Export.h"
00024 
00025 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00026 # pragma once
00027 #endif /* ACE_LACKS_PRAGMA_ONCE */
00028 
00029 #include /**/ "tao/Versioned_Namespace.h"
00030 
00031 #include "ace/Service_Object.h"
00032 
00033 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00034 
00035 // Forward references
00036 class TAO_MProfile;
00037 class TAO_ORB_Core;
00038 class TAO_Stub;
00039 
00040 /**
00041  * @class TAO_Stub_Factory
00042  *
00043  * This class is a factory whose product is the plain TAO_Stub used by
00044  * TAO. Its subclasses build Stub object that are specialization of
00045  * the TAO_Stub. As an example TAO_RT_Stub_Factory creates
00046  * RT_TAO_Stub. This factory, or one of its subclasses is dynamically
00047  * plugged into the ORB_Core, and is used by the ORB_Core to create
00048  * Stub Objects.
00049  */
00050 class TAO_Export TAO_Stub_Factory : public ACE_Service_Object
00051 {
00052 public:
00053   /// Destructor.
00054   virtual ~TAO_Stub_Factory (void);
00055 
00056   /// Creates a Stub Object.
00057   virtual TAO_Stub *create_stub (const char *repository_id,
00058                                  const TAO_MProfile &profiles,
00059                                  TAO_ORB_Core *orb_core) = 0;
00060 };
00061 
00062 TAO_END_VERSIONED_NAMESPACE_DECL
00063 
00064 #include /**/ "ace/post.h"
00065 #endif /* TAO_STUB_FACTORY_H_ */

Generated on Tue Feb 2 17:37:52 2010 for TAO by  doxygen 1.4.7