summaryrefslogtreecommitdiff
path: root/TAO/tao/POA_Extension_Initializer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/POA_Extension_Initializer.cpp')
-rw-r--r--TAO/tao/POA_Extension_Initializer.cpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/TAO/tao/POA_Extension_Initializer.cpp b/TAO/tao/POA_Extension_Initializer.cpp
new file mode 100644
index 00000000000..fcfc5440c8d
--- /dev/null
+++ b/TAO/tao/POA_Extension_Initializer.cpp
@@ -0,0 +1,44 @@
+// $Id$
+
+#include "POA_Extension_Initializer.h"
+#include "Environment.h"
+
+ACE_RCSID(tao, TAO_POA_Extension_Initializer, "$Id$")
+
+TAO_POA_Extension_Initializer::TAO_POA_Extension_Initializer (void)
+ : next_ (0)
+{
+ // No-Op.
+}
+
+TAO_POA_Extension_Initializer::~TAO_POA_Extension_Initializer (void)
+{
+ delete this->next_;
+}
+
+void
+TAO_POA_Extension_Initializer::add_initializer (TAO_POA_Extension_Initializer *initializer)
+{
+ if (this->next_ == 0)
+ this->next_ = initializer;
+ else
+ {
+ initializer->next_ = this->next_;
+ this->next_ = initializer;
+ }
+}
+
+void
+TAO_POA_Extension_Initializer::register_hooks (TAO_Object_Adapter &object_adapter,
+ CORBA::Environment &ACE_TRY_ENV)
+{
+ this->register_hooks_impl (object_adapter, ACE_TRY_ENV);
+ ACE_CHECK;
+
+ if (this->next_ != 0)
+ {
+ this->next_->register_hooks (object_adapter, ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+}
+