summaryrefslogtreecommitdiff
path: root/ACE/tests/DLL_Test_Impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/tests/DLL_Test_Impl.h')
-rw-r--r--ACE/tests/DLL_Test_Impl.h68
1 files changed, 68 insertions, 0 deletions
diff --git a/ACE/tests/DLL_Test_Impl.h b/ACE/tests/DLL_Test_Impl.h
new file mode 100644
index 00000000000..9ef3fb887a8
--- /dev/null
+++ b/ACE/tests/DLL_Test_Impl.h
@@ -0,0 +1,68 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// tests
+//
+// = FILENAME
+// DLL_Test_Impl.h
+//
+// = AUTHOR
+// Kirthika Parameswaran <kirthika@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef ACE_TESTS_DLL_TEST_IMPL_H
+#define ACE_TESTS_DLL_TEST_IMPL_H
+
+#include "DLL_Test.h"
+#include "ace/OS_Memory.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+class Hello_Impl : public Hello
+{
+ // = TITLE
+ // The Hello class in the dynamically linkable library.
+ //
+ // = DESCRIPTION
+ // This class is used in this example to show how a library can
+ // be loaded on demand and its methods called on getting the
+ // symbols from the library.
+public:
+ Hello_Impl (void);
+ // Constructor
+
+ ~Hello_Impl (void);
+ // Destructor
+
+ void say_next (void);
+ // See the documentation in the base class
+
+ ACE_TCHAR *new_info (void);
+ // Uses ACE::strnew() to allocate the returned string.
+
+ ACE_TCHAR *malloc_info (void);
+ // Uses ACE_OS::malloc() to allocate the returned string.
+
+ // Overload the new/delete opertors so the object will be
+ // created/deleted using the memory allocator associated with the
+ // DLL/SO.
+ void *operator new (size_t bytes);
+
+#if defined (ACE_HAS_NEW_NOTHROW)
+ /// Overloaded new operator, nothrow_t variant.
+ void *operator new (size_t bytes, const ACE_nothrow_t &nt);
+#if !defined (ACE_LACKS_PLACEMENT_OPERATOR_DELETE)
+ void operator delete (void *p, const ACE_nothrow_t&) throw ();
+#endif /* ACE_LACKS_PLACEMENT_OPERATOR_DELETE */
+#endif /* ACE_HAS_NEW_NOTHROW */
+
+ void operator delete (void *ptr);
+
+};
+
+#endif /* ACE_TESTS_DLL_TEST_IMPL_H */