summaryrefslogtreecommitdiff
path: root/TAO/tao/ior_dll/Object_Loader.h
blob: d06472c6afe86b7a8fa17712ab1b75f4a4291e4b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
// $Id$

// ============================================================================
//
// = LIBRARY
//   TAO
//
// = FILENAME
//   Object_Loader.h
//
// = AUTHOR
//   Carlos O'Ryan (coryan@cs.wustl.edu)
//
// ============================================================================

#ifndef TAO_OBJECT_LOADER_H
#define TAO_OBJECT_LOADER_H
#include "ace/pre.h"

#include "tao/corbafwd.h"
#include "ior_dll_export.h"

#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */

#include "ace/Service_Object.h"

class TAO_IOR_DLL_Export TAO_Object_Loader : public ACE_Service_Object
{
  // = TITLE
  //   A class to dynamically load object implementations into an
  //   ORB.
  //
  // = DESCRIPTION
  //   Many services and components of the ORB can be dynamically
  //   loaded, this is the class used to implement ....
  //   @@ TODO
  //
public:
  virtual ~TAO_Object_Loader (void);
  // The destructor

  virtual CORBA::Object_ptr create_object (CORBA::ORB_ptr orb,
                                           CORBA::Environment &)
    ACE_THROW_SPEC (()) = 0;
  // 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.
};

#if defined (__ACE_INLINE__)
# include "Object_Loader.i"
#endif /* __ACE_INLINE__ */

#include "ace/post.h"
#endif /* TAO_OBJECT_LOADER_H */