summaryrefslogtreecommitdiff
path: root/ACE/examples/DLL/Today.cpp
diff options
context:
space:
mode:
authorWilliam R. Otte <wotte@dre.vanderbilt.edu>2006-07-24 15:50:30 +0000
committerWilliam R. Otte <wotte@dre.vanderbilt.edu>2006-07-24 15:50:30 +0000
commit7a52d43a162b23d9e85e7b955e9b2c8e9caf550e (patch)
tree66a84b20d47f2269d8bdc6e0323f338763424d3a /ACE/examples/DLL/Today.cpp
parent0e49389337be86641451a5c36c24bf742fe97523 (diff)
downloadATCD-7a52d43a162b23d9e85e7b955e9b2c8e9caf550e.tar.gz
Repo restructuring
Diffstat (limited to 'ACE/examples/DLL/Today.cpp')
-rw-r--r--ACE/examples/DLL/Today.cpp55
1 files changed, 55 insertions, 0 deletions
diff --git a/ACE/examples/DLL/Today.cpp b/ACE/examples/DLL/Today.cpp
new file mode 100644
index 00000000000..b80bfff2b0a
--- /dev/null
+++ b/ACE/examples/DLL/Today.cpp
@@ -0,0 +1,55 @@
+// $Id$
+
+#define ACE_BUILD_SVC_DLL
+
+#include "Today.h"
+#include "ace/Log_Msg.h"
+#include "ace/svc_export.h"
+#include "ace/OS_Memory.h"
+
+// Implementation of the abstract class method which describes the
+// magazine.
+
+void
+Today::title (void)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "Today: XML Special Apr 02\n"));
+}
+
+void *
+Today::operator new (size_t bytes)
+{
+ return ::new char[bytes];
+}
+#if defined (ACE_HAS_NEW_NOTHROW)
+void *
+Today::operator new (size_t bytes, const ACE_nothrow_t&)
+{
+ return ::new (ACE_nothrow) char[bytes];
+}
+#if !defined (ACE_LACKS_PLACEMENT_OPERATOR_DELETE)
+void
+Today::operator delete (void *p, const ACE_nothrow_t&) throw ()
+{
+ delete [] static_cast <char *> (p);
+}
+#endif /* ACE_LACKS_PLACEMENT_OPERATOR_DELETE */
+#endif
+void
+Today::operator delete (void *ptr)
+{
+ delete [] static_cast <char *> (ptr);
+}
+
+// Returns the pointer to the Today class.
+// The ACE_BUILD_SVC_DLL and ACE_Svc_Export directives are necessary to
+// take care of exporting the function for Win32 platforms.
+extern "C" ACE_Svc_Export Magazine *create_magazine (void);
+
+Magazine *create_magazine (void)
+{
+ Magazine *mag = 0;
+ ACE_NEW_RETURN (mag, Today, 0);
+ return mag;
+}