Infinity.CommunicationGroup

g GObject.Object GObject.Object Infinity.CommunicationGroup Infinity.CommunicationGroup GObject.Object->Infinity.CommunicationGroup

Subclasses:

Infinity.CommunicationHostedGroup, Infinity.CommunicationJoinedGroup

Methods

Inherited:

GObject.Object (37)

Structs:

GObject.ObjectClass (5)

cancel_messages (connection)

get_method_for_connection (conn)

get_method_for_network (network)

get_name ()

get_publisher_id (for_connection)

get_target ()

is_member (connection)

send_group_message (xml)

send_message (connection, xml)

set_target (target)

Virtual Methods

Inherited:

GObject.Object (7)

do_get_method (index)

do_get_publisher_id (for_connection)

do_member_added (connection)

do_member_removed (connection)

Properties

Name

Type

Flags

Short Description

communication-manager

Infinity.CommunicationManager

w/co

The communication manager used for sending requests

communication-registry

Infinity.CommunicationRegistry

w/co

The registry to register connections with

name

str

r/w/co

The name of the group

target

Infinity.CommunicationObject

r/w

The communication object to call on received and sent data

Signals

Inherited:

GObject.Object (1)

Name

Short Description

member-added

This signal is emitted when a connection has been added to the group.

member-removed

This signal is emitted when a connection has been removed from the group.

Fields

Inherited:

GObject.Object (1)

Name

Type

Access

Description

parent_instance

GObject.Object

r

Class Details

class Infinity.CommunicationGroup(**kwargs)
Bases:

GObject.Object

Abstract:

Yes

Structure:

Infinity.CommunicationGroupClass

Infinity.CommunicationGroup is an opaque data type. You should only access it via the public API functions.

cancel_messages(connection)
Parameters:

connection (Infinity.XmlConnection) – The Infinity.XmlConnection for which to cancel messages.

Stops all messages scheduled to be sent to connection from being sent. Messages for which Infinity.CommunicationObject.enqueued() has already been called cannot be cancelled anymore.

get_method_for_connection(conn)
Parameters:

conn (Infinity.XmlConnection) – The Infinity.XmlConnection for which to retrieve the method.

Returns:

A method name. The string is owned by the group, you don’t need to free it.

Return type:

str

Returns the method name of the method used for communication on conn's network within group. conn does not need to be a member of self for this function to be called.

get_method_for_network(network)
Parameters:

network (str) – A network specifier, such as “tcp/ip” or “jabber”.

Returns:

A method name. The string is owned by the group, you don’t need to free it.

Return type:

str

Returns the method name of the method used for communication on network within self.

get_name()
Returns:

The name of the group. The returned string is owned by the group, you don’t need to free it.

Return type:

str

Returns the name of the group.

get_publisher_id(for_connection)
Parameters:

for_connection (Infinity.XmlConnection) – A Infinity.XmlConnection.

Returns:

The publisher’s host ID. Free with GLib.free().

Return type:

str

Returns a host identifier for the group’s publisher (see Infinity.XmlConnection :local-id and Infinity.XmlConnection :remote-id). If the local host is the publisher, then this will simply return for_connection's local ID, otherwise the remote ID of the connection to the publisher on for_connection's network is returned.

get_target()
Returns:

A Infinity.CommunicationGroup, or None.

Return type:

Infinity.CommunicationObject or None

Returns the group’s target. The target of a group is the Infinity.CommunicationObject to which received and sent messages are reported.

is_member(connection)
Parameters:

connection (Infinity.XmlConnection) – A Infinity.XmlConnection.

Returns:

True if connection is a member of self, False otherwise.

Return type:

bool

Returns whether connection is a member of self.

send_group_message(xml)
Parameters:

xml (libxml2.NodePtr) – The message to send.

Sends a message to all members of self. This function takes ownership of xml.

send_message(connection, xml)
Parameters:

Sends a message connection which must be a member of self. connection needs to be a member of this group. This function takes ownership of xml.

set_target(target)
Parameters:

target (Infinity.CommunicationObject) – A Infinity.CommunicationObject, or None.

Sets the group’s target. The target of a group is the Infinity.CommunicationObject to which received and sent messages are reported. If target is None, then the target will be unset.

You can safely call this function with an object that holds a reference on the group since the Infinity.CommunicationGroup only holds a weak reference to its target. This means that you need to keep a reference on target yourself.

do_get_method(index) virtual
Parameters:

index (int) –

Return type:

str

do_get_publisher_id(for_connection) virtual
Parameters:

for_connection (Infinity.XmlConnection) – A Infinity.XmlConnection.

Returns:

The publisher’s host ID. Free with GLib.free().

Return type:

str

Returns a host identifier for the group’s publisher (see Infinity.XmlConnection :local-id and Infinity.XmlConnection :remote-id). If the local host is the publisher, then this will simply return for_connection's local ID, otherwise the remote ID of the connection to the publisher on for_connection's network is returned.

do_member_added(connection) virtual
Parameters:

connection (Infinity.XmlConnection) –

do_member_removed(connection) virtual
Parameters:

connection (Infinity.XmlConnection) –

Signal Details

Infinity.CommunicationGroup.signals.member_added(communication_group, connection)
Signal Name:

member-added

Flags:

RUN_LAST

Parameters:

This signal is emitted when a connection has been added to the group.

Infinity.CommunicationGroup.signals.member_removed(communication_group, connection)
Signal Name:

member-removed

Flags:

RUN_LAST

Parameters:

This signal is emitted when a connection has been removed from the group.

Property Details

Infinity.CommunicationGroup.props.communication_manager
Name:

communication-manager

Type:

Infinity.CommunicationManager

Default Value:

None

Flags:

WRITABLE, CONSTRUCT_ONLY

The communication manager used for sending requests

Infinity.CommunicationGroup.props.communication_registry
Name:

communication-registry

Type:

Infinity.CommunicationRegistry

Default Value:

None

Flags:

WRITABLE, CONSTRUCT_ONLY

The registry to register connections with

Infinity.CommunicationGroup.props.name
Name:

name

Type:

str

Default Value:

None

Flags:

READABLE, WRITABLE, CONSTRUCT_ONLY

The name of the group

Infinity.CommunicationGroup.props.target
Name:

target

Type:

Infinity.CommunicationObject

Default Value:

None

Flags:

READABLE, WRITABLE

The communication object to call on received and sent data