Merge pull request #2216 from jwillemsen/jwi-cxxversionchecks
[ACE_TAO.git] / ACE / protocols / ace / TMCast / Group.hpp
blob4dd08ab77baec59936d50bd223d29e4ec9f1cf4e
1 // author : Boris Kolpackov <boris@dre.vanderbilt.edu>
3 #ifndef TMCAST_GROUP_HPP
4 #define TMCAST_GROUP_HPP
6 #include <ace/INET_Addr.h>
7 #include "Export.hpp"
8 #include <memory>
10 namespace ACE_TMCast
12 class ACE_TMCast_Export Group
14 public:
15 class Aborted {};
16 class Failed {};
17 class InvalidArg {};
18 class InsufficienSpace {};
20 public:
21 ~Group ();
23 Group (ACE_INET_Addr const& addr, char const* id);
25 public:
26 void
27 send (void const* msg, size_t size);
29 size_t
30 recv (void* msg, size_t size);
32 private:
33 bool
34 failed ();
36 private:
37 class GroupImpl;
38 std::unique_ptr<GroupImpl> pimpl_;
40 private:
41 Group (Group const&);
43 Group&
44 operator= (Group const&);
48 #endif // TMCAST_GROUP_HPP