3 //==========================================================================
5 * @file Shared_Object.h
7 * $Id: Shared_Object.h 81348 2008-04-14 09:00:32Z johnnyw $
9 * @author Douglas C. Schmidt <schmidt@cs.wustl.edu>
11 //==========================================================================
13 #ifndef ACE_SHARED_OBJECT_H
14 #define ACE_SHARED_OBJECT_H
16 #include /**/ "ace/pre.h"
18 #include /**/ "ace/ACE_export.h"
20 #if !defined (ACE_LACKS_PRAGMA_ONCE)
22 #endif /* ACE_LACKS_PRAGMA_ONCE */
24 #include "ace/os_include/sys/os_types.h"
26 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
29 * @class ACE_Shared_Object
31 * @brief Provide the abstract base class used to access dynamic
34 class ACE_Export ACE_Shared_Object
38 ACE_Shared_Object (void);
41 virtual ~ACE_Shared_Object (void);
43 /// Initializes object when dynamic linking occurs.
44 virtual int init (int argc
, ACE_TCHAR
*argv
[]);
46 /// Terminates object when dynamic unlinking occurs.
47 virtual int fini (void);
49 /// Returns information on a service object.
50 virtual int info (ACE_TCHAR
**info_string
, size_t length
= 0) const;
54 ACE_END_VERSIONED_NAMESPACE_DECL
56 #if defined (__ACE_INLINE__)
57 #include "ace/Shared_Object.inl"
58 #endif /* __ACE_INLINE__ */
60 #include /**/ "ace/post.h"
62 #endif /* ACE_SHARED_OBJECT_H */