24#ifndef GCS_COMMUNICATION_INTERFACE_INCLUDED
25#define GCS_COMMUNICATION_INTERFACE_INCLUDED
This interface is implemented by those who wish to receive messages.
Definition: gcs_communication_event_listener.h:36
This interface represents all the communication facilities that a binding implementation should provi...
Definition: gcs_communication_interface.h:90
virtual int add_event_listener(const Gcs_communication_event_listener &event_listener)=0
Registers an implementation of a Gcs_communication_event_listener that will receive Communication Eve...
virtual enum_transport_protocol get_incoming_connections_protocol()=0
Get the incoming connections protocol which is currently active.
virtual enum_gcs_error send_message(const Gcs_message &message_to_send)=0
Method used to broadcast a message to a group in which this interface pertains.
virtual Gcs_protocol_version get_protocol_version() const =0
Retrieves the current GCS protocol version in use.
virtual void set_communication_protocol(enum_transport_protocol protocol)=0
Sets the communication protocol to use.
virtual Gcs_protocol_version get_maximum_supported_protocol_version() const =0
Get the maximum protocol version currently supported by the group.
virtual ~Gcs_communication_interface()=default
virtual void remove_event_listener(int event_listener_handle)=0
Removes a previously registered event listener.
virtual std::pair< bool, std::future< void > > set_protocol_version(Gcs_protocol_version new_version)=0
Modifies the GCS protocol version in use.
Class that represents the data that is exchanged within a group.
Definition: gcs_message.h:357
enum_gcs_error
This enumeration describes errors which can occur during group communication operations.
Definition: gcs_types.h:41
Gcs_protocol_version
The GCS protocol versions.
Definition: gcs_types.h:128
enum_transport_protocol
Enum that describes the available XCom Communication Stacks.
Definition: network_provider.h:45