Infinity.DiscoveryAvahi

g GObject.GInterface GObject.GInterface Infinity.Discovery Infinity.Discovery GObject.GInterface->Infinity.Discovery Infinity.LocalPublisher Infinity.LocalPublisher GObject.GInterface->Infinity.LocalPublisher GObject.Object GObject.Object Infinity.DiscoveryAvahi Infinity.DiscoveryAvahi GObject.Object->Infinity.DiscoveryAvahi Infinity.Discovery->Infinity.DiscoveryAvahi Infinity.LocalPublisher->Infinity.DiscoveryAvahi

Subclasses:None

Methods

Inherited:GObject.Object (37), Infinity.Discovery (7), Infinity.LocalPublisher (2)
Structs:GObject.ObjectClass (5)
class new (io, manager, creds, sasl_context, sasl_mechanisms)
  get_keepalive ()
  get_security_policy ()
  set_keepalive (keepalive)
  set_security_policy (plcy)

Properties

Name Type Flags Short Description
credentials Infinity.CertificateCredentials r/w The GnuTLS certificate credentials used for encrypting XMPP streams
io Infinity.Io r/w/co The IO object used for watching sockets and timeouts
keepalive Infinity.Keepalive r/w The keepalive settings for new connections
sasl-context Infinity.SaslContext r/w The SASL context used for authentication
sasl-mechanisms str r/w The accepted SASL mechanisms for authentication
security-policy Infinity.XmppConnectionSecurityPolicy r/w How to decide whether to use TLS
xmpp-manager Infinity.XmppManager r/w/co The XMPP manager to register resolved XMPP connections

Fields

Inherited:GObject.Object (1), Infinity.Discovery (2)
Name Type Access Description
parent GObject.Object r  

Class Details

class Infinity.DiscoveryAvahi(**kwargs)
Bases:GObject.Object, Infinity.Discovery, Infinity.LocalPublisher
Abstract:No
Structure:Infinity.DiscoveryAvahiClass

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

classmethod new(io, manager, creds, sasl_context, sasl_mechanisms)
Parameters:
Returns:

A new Infinity.DiscoveryAvahi.

Return type:

Infinity.DiscoveryAvahi

Created a new Infinity.DiscoveryAvahi object which can be used to publish and discovery Infinote services on the local network. When resolving a Infinity.DiscoveryInfo (which means obtaining a Infinity.XmlConnection for the discovered service) a new Infinity.XmppConnection needs to be created if there is not already one for the destination host in manager. Such connections are created with the creds and sasl_context parameters. These may be None in which case Infinity.XmppConnection uses builtin credentials or a builtin context, respectively.

If this Infinity.DiscoveryAvahi is not used to discover services but only to publish any, then creds, sasl_context and sasl_mechanisms are ignored and can safely set to be None.

sasl_mechanisms specifies allowed mechanisms used for authentication with the server. It can be None, in which case all available mechanisms are accepted.

get_keepalive()
Returns:A Infinity.Keepalive set for new connections, owned by self.
Return type:Infinity.Keepalive

Returns the keepalive settings that will be used for new connections.

get_security_policy()
Returns:The current security policy.
Return type:Infinity.XmppConnectionSecurityPolicy

Returns the current security policy used for new Infinity.XmppConnection s.

set_keepalive(keepalive)
Parameters:keepalive (Infinity.Keepalive) – The new keepalive configuration.

Sets the keepalive settings for newly created connections. It does not affect already existing connections.

set_security_policy(plcy)
Parameters:plcy (Infinity.XmppConnectionSecurityPolicy) – The new security policy.

Sets the Infinity.XmppConnectionSecurityPolicy for newly created Infinity.XmppConnection s. It does not affect already existing connections.

Property Details

Infinity.DiscoveryAvahi.props.credentials
Name:credentials
Type:Infinity.CertificateCredentials
Default Value:None
Flags:READABLE, WRITABLE

The GnuTLS certificate credentials used for encrypting XMPP streams

Infinity.DiscoveryAvahi.props.io
Name:io
Type:Infinity.Io
Default Value:None
Flags:READABLE, WRITABLE, CONSTRUCT_ONLY

The IO object used for watching sockets and timeouts

Infinity.DiscoveryAvahi.props.keepalive
Name:keepalive
Type:Infinity.Keepalive
Default Value:None
Flags:READABLE, WRITABLE

The keepalive settings for new connections

Infinity.DiscoveryAvahi.props.sasl_context
Name:sasl-context
Type:Infinity.SaslContext
Default Value:None
Flags:READABLE, WRITABLE

The SASL context used for authentication

Infinity.DiscoveryAvahi.props.sasl_mechanisms
Name:sasl-mechanisms
Type:str
Default Value:None
Flags:READABLE, WRITABLE

The accepted SASL mechanisms for authentication

Infinity.DiscoveryAvahi.props.security_policy
Name:security-policy
Type:Infinity.XmppConnectionSecurityPolicy
Default Value:Infinity.XmppConnectionSecurityPolicy.BOTH_PREFER_TLS
Flags:READABLE, WRITABLE

How to decide whether to use TLS

Infinity.DiscoveryAvahi.props.xmpp_manager
Name:xmpp-manager
Type:Infinity.XmppManager
Default Value:None
Flags:READABLE, WRITABLE, CONSTRUCT_ONLY

The XMPP manager to register resolved XMPP connections