summaryrefslogtreecommitdiff
path: root/ACE/protocols/ace/TMCast/Group.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/protocols/ace/TMCast/Group.hpp')
-rw-r--r--ACE/protocols/ace/TMCast/Group.hpp51
1 files changed, 51 insertions, 0 deletions
diff --git a/ACE/protocols/ace/TMCast/Group.hpp b/ACE/protocols/ace/TMCast/Group.hpp
new file mode 100644
index 00000000000..13c49f210bb
--- /dev/null
+++ b/ACE/protocols/ace/TMCast/Group.hpp
@@ -0,0 +1,51 @@
+// file : ACE_TMCast/Group.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef TMCAST_GROUP_HPP
+#define TMCAST_GROUP_HPP
+
+#include <ace/Auto_Ptr.h>
+#include <ace/INET_Addr.h>
+
+#include "Export.hpp"
+
+namespace ACE_TMCast
+{
+ class ACE_TMCast_Export Group
+ {
+ public:
+ class Aborted {};
+ class Failed {};
+ class InvalidArg {};
+ class InsufficienSpace {};
+
+ public:
+ ~Group ();
+
+ Group (ACE_INET_Addr const& addr, char const* id) throw (Failed);
+
+ public:
+ void
+ send (void const* msg, size_t size) throw (InvalidArg, Failed, Aborted);
+
+ size_t
+ recv (void* msg, size_t size) throw (Failed, InsufficienSpace);
+
+ private:
+ bool
+ failed ();
+
+ private:
+ class GroupImpl;
+ auto_ptr<GroupImpl> pimpl_;
+
+ private:
+ Group (Group const&);
+
+ Group&
+ operator= (Group const&);
+ };
+}
+
+#endif // TMCAST_GROUP_HPP