summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/performance-tests/RTEvent/lib/Auto_Disconnect.inl
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/performance-tests/RTEvent/lib/Auto_Disconnect.inl')
-rw-r--r--TAO/orbsvcs/performance-tests/RTEvent/lib/Auto_Disconnect.inl24
1 files changed, 24 insertions, 0 deletions
diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/Auto_Disconnect.inl b/TAO/orbsvcs/performance-tests/RTEvent/lib/Auto_Disconnect.inl
new file mode 100644
index 00000000000..c3b6ed4b9a2
--- /dev/null
+++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/Auto_Disconnect.inl
@@ -0,0 +1,24 @@
+/**
+ * @file Auto_Disconnect.inl
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan <coryan@uci.edu>
+ */
+#include "ace/CORBA_macros.h"
+
+template<class Client> ACE_INLINE void
+Disconnect<Client>::operator () (Client *client)
+{
+ try
+ {
+ client->disconnect ();
+ }
+ catch (const CORBA::Exception&){ };
+}
+
+template<class Client> ACE_INLINE
+Auto_Disconnect<Client>::Auto_Disconnect (Client *client)
+ : ACE_Utils::Auto_Functor<Client,Disconnect<Client> > (client)
+{
+}