summaryrefslogtreecommitdiff
path: root/ace/Service_Record.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ace/Service_Record.cpp')
-rw-r--r--ace/Service_Record.cpp365
1 files changed, 0 insertions, 365 deletions
diff --git a/ace/Service_Record.cpp b/ace/Service_Record.cpp
deleted file mode 100644
index 21cd5462e71..00000000000
--- a/ace/Service_Record.cpp
+++ /dev/null
@@ -1,365 +0,0 @@
-// Service_Record.cpp
-// $Id$
-
-#define ACE_BUILD_DLL
-#include "ace/Service_Record.h"
-
-#if !defined (ACE_SERVICE_RECORD_C)
-#define ACE_SERVICE_RECORD_C
-
-#if !defined (__ACE_INLINE__)
-#include "ace/Service_Record.i"
-#endif /* __ACE_INLINE__ */
-
-ACE_Service_Object_Type::ACE_Service_Object_Type (ACE_Service_Object *so,
- const char *s_name,
- unsigned int f)
- : ACE_Service_Type ((const void *) so, s_name, f)
-{
- ACE_TRACE ("ACE_Service_Object_Type::ACE_Service_Object_Type");
-}
-
-int
-ACE_Service_Object_Type::init (int argc, char *argv[]) const
-{
- ACE_TRACE ("ACE_Service_Object_Type::init");
- const void *obj = this->object ();
- ACE_Service_Object *so = (ACE_Service_Object *) obj;
-
- if (so == 0)
- return -1;
- else
- return so->init (argc, argv);
-}
-
-ACE_ALLOC_HOOK_DEFINE(ACE_Module_Type)
-
-void
-ACE_Module_Type::dump (void) const
-{
- ACE_TRACE ("ACE_Module_Type::dump");
-}
-
-ACE_Module_Type::ACE_Module_Type (MT_Module *m,
- const char *m_name,
- u_int f)
- : ACE_Service_Type ((const void *) m, m_name, f)
-{
- ACE_TRACE ("ACE_Module_Type::ACE_Module_Type");
-}
-
-int
-ACE_Module_Type::init (int argc, char *argv[]) const
-{
- ACE_TRACE ("ACE_Module_Type::init");
- const void *obj = this->object ();
- MT_Module *mod = (MT_Module *) obj;
- MT_Task *reader = mod->reader ();
- MT_Task *writer = mod->writer ();
-
- if (reader->init (argc, argv) == -1
- || writer->init (argc, argv) == -1)
- return -1;
- else
- return 0;
-}
-
-int
-ACE_Module_Type::suspend (void) const
-{
- ACE_TRACE ("ACE_Module_Type::suspend");
- const void *obj = this->object ();
- MT_Module *mod = (MT_Module *) obj;
- MT_Task *reader = mod->reader ();
- MT_Task *writer = mod->writer ();
-
- if (reader->suspend () == -1
- || writer->suspend () == -1)
- return -1;
- else
- return 0;
-}
-
-int
-ACE_Module_Type::resume (void) const
-{
- ACE_TRACE ("ACE_Module_Type::resume");
- const void *obj = this->object ();
- MT_Module *mod = (MT_Module *) obj;
- MT_Task *reader = mod->reader ();
- MT_Task *writer = mod->writer ();
-
- if (reader->resume () == -1
- || writer->resume () == -1)
- return -1;
- else
- return 0;
-}
-
-// Note, these operations are somewhat too familiar with the
-// implementation of ACE_Module and ACE_Module::close...
-
-int
-ACE_Module_Type::fini (void) const
-{
- ACE_TRACE ("ACE_Module_Type::fini");
-
- const void *obj = this->object ();
- MT_Module *mod = (MT_Module *) obj;
- MT_Task *reader = mod->reader ();
- MT_Task *writer = mod->writer ();
-
- if (reader != 0)
- reader->fini ();
-
- if (writer != 0)
- writer->fini ();
-
- // Close the module and delete the memory.
- mod->close (MT_Module::M_DELETE);
- return ACE_Service_Type::fini ();
-}
-
-int
-ACE_Module_Type::info (char **str, size_t len) const
-{
- ACE_TRACE ("ACE_Module_Type::info");
- char buf[BUFSIZ];
-
- ACE_OS::sprintf (buf, "%s\t %s", this->name (), "# ACE_Module\n");
-
- if (*str == 0 && (*str = ACE_OS::strdup (buf)) == 0)
- return -1;
- else
- ACE_OS::strncpy (*str, buf, len);
- return ACE_OS::strlen (buf);
-}
-
-void
-ACE_Module_Type::link (ACE_Module_Type *n)
-{
- ACE_TRACE ("ACE_Module_Type::link");
- this->next_ = n;
-}
-
-ACE_Module_Type *
-ACE_Module_Type::link (void) const
-{
- ACE_TRACE ("ACE_Module_Type::link");
- return this->next_;
-}
-
-ACE_ALLOC_HOOK_DEFINE(ACE_Stream_Type)
-
-void
-ACE_Stream_Type::dump (void) const
-{
- ACE_TRACE ("ACE_Stream_Type::dump");
-}
-
-int
-ACE_Stream_Type::init (int, char *[]) const
-{
- ACE_TRACE ("ACE_Stream_Type::init");
- return 0;
-}
-
-int
-ACE_Stream_Type::suspend (void) const
-{
- ACE_TRACE ("ACE_Stream_Type::suspend");
- for (ACE_Module_Type *m = this->head_; m != 0; m = m->link ())
- m->suspend ();
-
- return 0;
-}
-
-int
-ACE_Stream_Type::resume (void) const
-{
- ACE_TRACE ("ACE_Stream_Type::resume");
- for (ACE_Module_Type *m = this->head_; m != 0; m = m->link ())
- m->resume ();
-
- return 0;
-}
-
-ACE_Stream_Type::ACE_Stream_Type (MT_Stream *s,
- const char *s_name,
- unsigned int f)
- : ACE_Service_Type ((const void *) s, s_name, f),
- head_ (0)
-{
- ACE_TRACE ("ACE_Stream_Type::ACE_Stream_Type");
-}
-
-int
-ACE_Stream_Type::info (char **str, size_t len) const
-{
- ACE_TRACE ("ACE_Stream_Type::info");
- char buf[BUFSIZ];
-
- ACE_OS::sprintf (buf, "%s\t %s", this->name (), "# STREAM\n");
-
- if (*str == 0 && (*str = ACE_OS::strdup (buf)) == 0)
- return -1;
- else
- ACE_OS::strncpy (*str, buf, len);
- return ACE_OS::strlen (buf);
-}
-
-int
-ACE_Stream_Type::fini (void) const
-{
- ACE_TRACE ("ACE_Stream_Type::fini");
- const void *obj = this->object ();
- MT_Stream *str = (MT_Stream *) obj;
-
- for (ACE_Module_Type *m = this->head_; m != 0; )
- {
- ACE_Module_Type *t = m->link ();
-
- // Final arg is an indication to *not* delete the Module.
- str->remove (m->name (), MT_Module::M_DELETE_NONE);
-
- // Finalize the Module (this may delete it, but we don't really
- // care since we don't access it again).
- m->fini ();
- m = t;
- }
-
- str->close ();
- return ACE_Service_Type::fini ();
-}
-
-// Locate and remove <mod_name> from the ACE_Stream.
-
-int
-ACE_Stream_Type::remove (ACE_Module_Type *mod)
-{
- ACE_TRACE ("ACE_Stream_Type::remove");
- ACE_Module_Type *prev = 0;
- const void *obj = this->object ();
- MT_Stream *str = (MT_Stream *) obj;
- int result = 0;
-
- for (ACE_Module_Type *m = this->head_; m != 0; )
- {
- // We need to do this first so we don't bomb out if we delete m!
- ACE_Module_Type *next = m->link ();
-
- if (m == mod)
- {
- if (prev == 0)
- this->head_ = next;
- else
- prev->link (next);
-
- // Final arg is an indication to *not* delete the Module.
- if (str->remove (m->name (), MT_Module::M_DELETE_NONE) == -1)
- result = -1;
-
- // This call may end up deleting m, which is ok since we
- // don't access it again!
- m->fini ();
- }
- else
- prev = m;
-
- m = next;
- }
-
- return result;
-}
-
-int
-ACE_Stream_Type::push (ACE_Module_Type *new_module)
-{
- ACE_TRACE ("ACE_Stream_Type::push");
- const void *obj = this->object ();
- MT_Stream *str = (MT_Stream *) obj;
-
- new_module->link (this->head_);
- this->head_ = new_module;
- obj = new_module->object ();
- return str->push ((MT_Module *) obj);
-}
-
-ACE_Module_Type *
-ACE_Stream_Type::find (const char *mod_name) const
-{
- ACE_TRACE ("ACE_Stream_Type::find");
-
- for (ACE_Module_Type *m = this->head_;
- m != 0;
- m = m->link ())
- if (ACE_OS::strcmp (m->name (), mod_name) == 0)
- return m;
-
- return 0;
-}
-
-ACE_ALLOC_HOOK_DEFINE(ACE_Service_Record)
-
-void
-ACE_Service_Record::dump (void) const
-{
- ACE_TRACE ("ACE_Service_Record::dump");
-}
-
-ACE_Service_Record::ACE_Service_Record (const char *n,
- ACE_Service_Type *t,
- const void *h,
- int active)
- : type_ (t), handle_ (h), active_ (active)
-{
- ACE_TRACE ("ACE_Service_Record::ACE_Service_Record");
- this->name (n);
-}
-
-ACE_Service_Record::~ACE_Service_Record (void)
-{
- ACE_TRACE ("ACE_Service_Record::~ACE_Service_Record");
- this->type_->fini ();
- if (this->handle_ != 0)
- ACE_OS::dlclose ((void *) this->handle_);
- delete [] (char *) this->name_;
-}
-
-void
-ACE_Service_Record::suspend (void) const
-{
- ACE_TRACE ("ACE_Service_Record::suspend");
- ((ACE_Service_Record *) this)->active_ = 0;
- this->type_->suspend ();
-}
-
-void
-ACE_Service_Record::resume (void) const
-{
- ACE_TRACE ("ACE_Service_Record::resume");
- ((ACE_Service_Record *) this)->active_ = 1;
- this->type_->resume ();
-}
-
-int
-ACE_Service_Object_Type::fini (void) const
-{
- ACE_TRACE ("ACE_Service_Object_Type::fini");
- ACE_Service_Object *so = (ACE_Service_Object *) this->object ();
- so->fini ();
- return ACE_Service_Type::fini ();
-}
-
-#if defined (ACE_TEMPLATES_REQUIRE_SPECIALIZATION)
-template class ACE_Module<ACE_SYNCH>;
-template class ACE_Stream<ACE_SYNCH>;
-template class ACE_Task<ACE_SYNCH>;
-template class ACE_Message_Queue<ACE_SYNCH>;
-template class ACE_TSS<ACE_Task_Exit>;
-template class ACE_Thru_Task<ACE_SYNCH>;
-template class ACE_Stream_Head<ACE_SYNCH>;
-template class ACE_Stream_Tail<ACE_SYNCH>;
-#endif /* ACE_TEMPLATES_REQUIRE_SPECIALIZATION */
-
-#endif /* ACE_SERVICE_RECORD_C */