summaryrefslogtreecommitdiff
path: root/trunk/TAO/orbsvcs/tests/Event/Basic/BCast.h
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/TAO/orbsvcs/tests/Event/Basic/BCast.h')
-rw-r--r--trunk/TAO/orbsvcs/tests/Event/Basic/BCast.h85
1 files changed, 85 insertions, 0 deletions
diff --git a/trunk/TAO/orbsvcs/tests/Event/Basic/BCast.h b/trunk/TAO/orbsvcs/tests/Event/Basic/BCast.h
new file mode 100644
index 00000000000..3d1b701984a
--- /dev/null
+++ b/trunk/TAO/orbsvcs/tests/Event/Basic/BCast.h
@@ -0,0 +1,85 @@
+/* -*- C++ -*- */
+//=============================================================================
+/**
+ * @file BCast.h
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan (coryan@cs.wustl.edu)
+ */
+//=============================================================================
+
+
+#ifndef EC_BCAST_H
+#define EC_BCAST_H
+
+#include "Driver.h"
+#include "orbsvcs/RtecUDPAdminS.h"
+
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+class ACE_INET_Addr;
+ACE_END_VERSIONED_NAMESPACE_DECL
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+/**
+ * @class EC_BCast
+ *
+ * @brief Test the EC bcast
+ *
+ */
+class EC_BCast : public EC_Driver
+{
+public:
+ /// Constructor
+ EC_BCast (void);
+
+ // = The EC_Driver methods
+ /// add some command line args to enable/disable bcastions
+ virtual int parse_args (int& argc, char* argv[]);
+ virtual void print_args (void) const;
+ virtual void print_usage (void);
+
+ /// set the bcastion flags
+ virtual void modify_attributes (TAO_EC_Event_Channel_Attributes& attr);
+
+ /// Don't run the suppliers, just test connect and disconnect calls.
+ void execute_test (ACE_ENV_SINGLE_ARG_DECL);
+
+ /// Don't dump the EC_Driver results, they are meaningless.
+ void dump_results (void);
+
+private:
+ /// The IP address used to broadcast
+ const char* bcast_address_;
+
+ /// The port used to send and receive bcast messages...
+ u_short bcast_port_;
+};
+
+// ****************************************************************
+
+/**
+ * @class Simple_Address_Server
+ *
+ * A fixed address server
+ */
+class Simple_Address_Server : public POA_RtecUDPAdmin::AddrServer
+{
+public:
+ /// constructo
+ Simple_Address_Server (const ACE_INET_Addr& address);
+
+ virtual void get_addr (const RtecEventComm::EventHeader& header,
+ RtecUDPAdmin::UDP_Addr& address
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+private:
+ /// The UDP addres...
+ RtecUDPAdmin::UDP_Addr address_;
+};
+
+#endif /* EC_BCAST_H */