diff options
author | William R. Otte <wotte@dre.vanderbilt.edu> | 2006-07-24 15:50:21 +0000 |
---|---|---|
committer | William R. Otte <wotte@dre.vanderbilt.edu> | 2006-07-24 15:50:21 +0000 |
commit | 0e49389337be86641451a5c36c24bf742fe97523 (patch) | |
tree | 197c810e5f5bce17b1233a7cb8d7b50c0bcd25e2 /TAO/tao/Object_Loader.h | |
parent | 8008dd09ccf88d4edef237a184a698cac42f2952 (diff) | |
download | ATCD-0e49389337be86641451a5c36c24bf742fe97523.tar.gz |
Repo restructuring
Diffstat (limited to 'TAO/tao/Object_Loader.h')
-rw-r--r-- | TAO/tao/Object_Loader.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/TAO/tao/Object_Loader.h b/TAO/tao/Object_Loader.h new file mode 100644 index 00000000000..69b1a7559bc --- /dev/null +++ b/TAO/tao/Object_Loader.h @@ -0,0 +1,71 @@ +// -*- C++ -*- + +// ================================================================ +/** + * @file Object_Loader.h + * + * $Id$ + * + * @author Carlos O'Ryan (coryan@cs.wustl.edu) + */ +// ================================================================ + +#ifndef TAO_OBJECT_LOADER_H +#define TAO_OBJECT_LOADER_H + +#include /**/ "ace/pre.h" +#include "ace/Service_Object.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "tao/SystemException.h" + +TAO_BEGIN_VERSIONED_NAMESPACE_DECL + +namespace CORBA +{ + class Object; + typedef Object *Object_ptr; + + class ORB; + typedef ORB *ORB_ptr; +} + +/** + * @class TAO_Object_Loader + * + * @brief A class to dynamically load object implementations into an + * ORB. + * + * Many services and components of the ORB can be dynamically + * loaded, often these components are returned to the application via + * an object reference (CORBA::Object_ptr). This class is used to + * dynamically load such components, and encapsulate the creation of + * the object reference. + * + */ +class TAO_Export TAO_Object_Loader : public ACE_Service_Object +{ +public: + /// The destructor + virtual ~TAO_Object_Loader (void); + + /** + * Create and activate a new object into the orb. + * This method cannot throw any exception, but it can return a nil + * object to indicate an error condition. + */ + virtual CORBA::Object_ptr create_object (CORBA::ORB_ptr orb, + int argc, + ACE_TCHAR* argv [] + ACE_ENV_ARG_DECL_NOT_USED) + ACE_THROW_SPEC ((CORBA::SystemException)) = 0; +}; + +TAO_END_VERSIONED_NAMESPACE_DECL + +#include /**/ "ace/post.h" + +#endif /* TAO_OBJECT_LOADER_H */ |