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
SocketGidBuilder builder()Get builder for [atk.socket.Socket] Returns: New builder objectvoid 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