atk.socket

Module for [Socket] class

Types 3

Container for AtkPlug objects from other processes

Together with #AtkPlug, #AtkSocket provides the ability to embed accessibles from one process into another in a fashion that is transparent to assistive technologies. #AtkSocket works as the container of #AtkPlug, embedding it using the method [atk.socket.Socket.embed]. Any accessible contained in the #AtkPlug will appear to the assistive technologies as being inside the application that created the #AtkSocket.

The communication between a #AtkSocket and a #AtkPlug is done by the IPC layer of the accessibility framework, normally implemented by the D-Bus based implementation of AT-SPI (at-spi2). If that is the case, at-spi-atk2 is the responsible to implement the abstract methods [atk.plug.Plug.getId] and [atk.socket.Socket.embed], so an ATK implementor shouldn't reimplement them. The process that contains the #AtkPlug is responsible to send the ID returned by atk_plug_id() to the process that contains the #AtkSocket, so it could call the method [atk.socket.Socket.embed] in order to embed it.

For the same reasons, an implementor doesn't need to implement [atk.object.ObjectWrap.getNAccessibleChildren] and [atk.object.ObjectWrap.refAccessibleChild]. All the logic related to those functions will be implemented by the IPC layer.

See class@AtkPlug

Methods
GType _gType() @property
Socket self()Returns `this`, for use in `with` statements.
SocketGidBuilder builder()Get builder for [atk.socket.Socket] Returns: New builder object
void embed(string plugId)Embeds the children of an #AtkPlug as the children of the #AtkSocket. The plug may be in the same process or in a different process.
bool isOccupied()Determines whether or not the socket has an embedded plug. Returns: TRUE if a plug is embedded in the socket
Constructors
this(void * ptr, Flag!"Take" take)
this()Creates a new #AtkSocket. Returns: the newly created #AtkSocket instance

Fluent builder for [atk.socket.Socket]

Methods