Together with Plug, Socket provides the ability to embed accessibles
from one process into another in a fashion that is transparent to assistive technologies.
Socket works as the container of Plug, embedding it using the
method embed. Any accessible contained in the
Plug will appear to the assistive technologies as being inside the application that created the
Socket.
The communication between a Socket and a Plug 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 get_id and
embed, so an ATK implementor shouldn't reimplement them. The process that
contains the Plug is responsible to send the ID returned by atk_plug_id to the
process that contains the Socket, so it could call the method
embed in order to embed it.
For the same reasons, an implementor doesn't need to implement
get_n_accessible_children and ref_accessible_child. All the logic
related to those functions will be implemented by the IPC layer.