Object_Loader.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 // ================================================================
00004 /**
00005  *  @file   Object_Loader.h
00006  *
00007  *  $Id: Object_Loader.h 76995 2007-02-11 12:51:42Z johnnyw $
00008  *
00009  *  @author Carlos O'Ryan (coryan@cs.wustl.edu)
00010  */
00011 // ================================================================
00012 
00013 #ifndef TAO_OBJECT_LOADER_H
00014 #define TAO_OBJECT_LOADER_H
00015 
00016 #include /**/ "ace/pre.h"
00017 #include "ace/Service_Object.h"
00018 
00019 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00020 # pragma once
00021 #endif /* ACE_LACKS_PRAGMA_ONCE */
00022 
00023 #include "tao/orbconf.h"
00024 #include "tao/TAO_Export.h"
00025 
00026 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00027 
00028 namespace CORBA
00029 {
00030   class Object;
00031   typedef Object *Object_ptr;
00032 
00033   class ORB;
00034   typedef ORB *ORB_ptr;
00035 }
00036 
00037 /**
00038  * @class TAO_Object_Loader
00039  *
00040  * @brief A class to dynamically load object implementations into an
00041  * ORB.
00042  *
00043  * Many services and components of the ORB can be dynamically
00044  * loaded, often these components are returned to the application via
00045  * an object reference (CORBA::Object_ptr).  This class is used to
00046  * dynamically load such components, and encapsulate the creation of
00047  * the object reference.
00048  *
00049  */
00050 class TAO_Export TAO_Object_Loader : public ACE_Service_Object
00051 {
00052 public:
00053   /// The destructor
00054   virtual ~TAO_Object_Loader (void);
00055 
00056   /**
00057    * Create and activate a new object into the orb.
00058    * This method cannot throw any exception, but it can return a nil
00059    * object to indicate an error condition.
00060    */
00061   virtual CORBA::Object_ptr create_object (CORBA::ORB_ptr orb,
00062                                            int argc,
00063                                            ACE_TCHAR* argv []) = 0;
00064 };
00065 
00066 TAO_END_VERSIONED_NAMESPACE_DECL
00067 
00068 #include /**/ "ace/post.h"
00069 
00070 #endif /* TAO_OBJECT_LOADER_H */

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