// file : TMCast/Group.hpp // author : Boris Kolpackov // cvs-id : $Id$ #ifndef TMCAST_GROUP_HPP #define TMCAST_GROUP_HPP #include #include #include "Export.hpp" namespace TMCast { class 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 pimpl_; private: Group (Group const&); Group& operator= (Group const&); }; } #endif // TMCAST_GROUP_HPP