summaryrefslogtreecommitdiff
path: root/TAO/tao/Bind_Dispatcher_Guard.i
diff options
context:
space:
mode:
authoroci <oci@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-09-19 15:58:52 +0000
committeroci <oci@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-09-19 15:58:52 +0000
commit6a18e6305d98676828669bbb325649a306994c16 (patch)
treedbf7dfcd2201408463903c58ebaf593f6edc9966 /TAO/tao/Bind_Dispatcher_Guard.i
parent1842b303e3b0780555bddefc04afdf734277d0ab (diff)
downloadATCD-6a18e6305d98676828669bbb325649a306994c16.tar.gz
ChangeLogTag: Tue Sep 19 10:46:15 2000 Chad Elliott <elliott_c@ociweb.com>
Diffstat (limited to 'TAO/tao/Bind_Dispatcher_Guard.i')
-rw-r--r--TAO/tao/Bind_Dispatcher_Guard.i47
1 files changed, 47 insertions, 0 deletions
diff --git a/TAO/tao/Bind_Dispatcher_Guard.i b/TAO/tao/Bind_Dispatcher_Guard.i
new file mode 100644
index 00000000000..3c7f9dd9b98
--- /dev/null
+++ b/TAO/tao/Bind_Dispatcher_Guard.i
@@ -0,0 +1,47 @@
+// This may look like C, but it's really -*- C++ -*-
+// $Id$
+
+// ===========================================================================
+//
+// = LIBRARY
+// TAO
+//
+// = AUTHOR
+// Carlos O'Ryan <coryan@uci.edu>,
+// Chad Elliott <elliott_c@ociweb.com>
+//
+// ===========================================================================
+
+#include "tao/Reply_Dispatcher.h"
+#include "tao/Transport_Mux_Strategy.h"
+
+
+ACE_INLINE
+TAO_Bind_Dispatcher_Guard::TAO_Bind_Dispatcher_Guard (
+ CORBA::ULong request_id,
+ TAO_Reply_Dispatcher* rd,
+ TAO_Transport_Mux_Strategy* tms)
+ : status_(0),
+ request_id_(request_id),
+ rd_(rd),
+ tms_(tms)
+{
+ this->status_ = this->tms_->bind_dispatcher (this->request_id_,
+ this->rd_);
+}
+
+
+ACE_INLINE
+TAO_Bind_Dispatcher_Guard::~TAO_Bind_Dispatcher_Guard (void)
+{
+ if (this->status_ == 0) {
+ this->tms_->unbind_dispatcher (this->request_id_);
+ }
+}
+
+
+ACE_INLINE int
+TAO_Bind_Dispatcher_Guard::status (void) const
+{
+ return status_;
+}