### Class

# Atk Socket

#### Description [src]

    class Atk.Socket : Atk.Object
      implements Atk.Component {
      /* No available fields */
    }

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_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_get_id()` and atk_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_embed()` in order to embed it.

For the same reasons, an implementor doesn’t need to implement `atk_object_get_n_accessible_children()` and atk_object_ref_accessible_child(). All the logic related to those functions will be implemented by the IPC layer.

See `AtkPlug`.

#### Ancestors

- AtkObject
- GObject

#### Implements

- AtkComponent

#### Constructors

###### atk_socket_new

Creates a new `AtkSocket`.

#### Instance methods

###### atk_socket_embed

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.

since: 1.30

###### atk_socket_is_occupied

Determines whether or not the socket has an embedded plug.

since: 1.30

##### Methods inherited from AtkObject (28)

Please see AtkObject for a full list of methods.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from AtkComponent (16)

###### atk_component_add_focus_handler

Add the specified handler to the set of functions to be called when this object receives focus events (in or out). If the handler is already added it is not added again.

deprecated: 2.9.4

###### atk_component_contains

Checks whether the specified point is within the extent of the `component`.

###### atk_component_get_alpha

Returns the alpha value (i.e. the opacity) for this `component`, on a scale from 0 (fully transparent) to 1.0 (fully opaque).

since: 1.12

###### atk_component_get_extents

Gets the rectangle which gives the extent of the `component`.

###### atk_component_get_layer

Gets the layer of the component.

###### atk_component_get_mdi_zorder

Gets the zorder of the component. The value G_MININT will be returned if the layer of the component is not ATK_LAYER_MDI or ATK_LAYER_WINDOW.

###### atk_component_get_position

Gets the position of `component` in the form of a point specifying `component`‘s top-left corner.

deprecated: Unknown

###### atk_component_get_size

Gets the size of the `component` in terms of width and height.

deprecated: Unknown

###### atk_component_grab_focus

Grabs focus for this `component`.

###### atk_component_ref_accessible_at_point

Gets a reference to the accessible child, if one exists, at the coordinate point specified by `x` and `y`.

###### atk_component_remove_focus_handler

Remove the handler specified by `handler_id` from the list of functions to be executed when this object receives focus events (in or out).

deprecated: 2.9.4

###### atk_component_scroll_to

Makes `component` visible on the screen by scrolling all necessary parents.

since: 2.30

###### atk_component_scroll_to_point

Move the top-left of `component` to a given position of the screen by scrolling all necessary parents.

since: 2.30

###### atk_component_set_extents

Sets the extents of `component`.

###### atk_component_set_position

Sets the position of `component`.

###### atk_component_set_size

Set the size of the `component` in terms of width and height.

#### Properties

##### Properties inherited from AtkObject (17)

###### Atk.Object:accessible-component-layer

No description available.

###### Atk.Object:accessible-component-mdi-zorder

No description available.

###### Atk.Object:accessible-description

No description available.

###### Atk.Object:accessible-help-text

No description available.

###### Atk.Object:accessible-hypertext-nlinks

No description available.

###### Atk.Object:accessible-id

No description available.

###### Atk.Object:accessible-name

No description available.

###### Atk.Object:accessible-parent

No description available.

###### Atk.Object:accessible-role

No description available.

###### Atk.Object:accessible-table-caption

Table caption.

deprecated: Unknown

###### Atk.Object:accessible-table-caption-object

No description available.

###### Atk.Object:accessible-table-column-description

Accessible table column description.

deprecated: Unknown

###### Atk.Object:accessible-table-column-header

Accessible table column header.

deprecated: Unknown

###### Atk.Object:accessible-table-row-description

Accessible table row description.

deprecated: Unknown

###### Atk.Object:accessible-table-row-header

Accessible table row header.

deprecated: Unknown

###### Atk.Object:accessible-table-summary

No description available.

###### Atk.Object:accessible-value

Numeric value of this object, in case being and AtkValue.

deprecated: Unknown

#### Signals

##### Signals inherited from AtkObject (9)

###### AtkObject::active-descendant-changed

The “active-descendant-changed” signal is emitted by an object which has the state ATK_STATE_MANAGES_DESCENDANTS when the focus object in the object changes. For instance, a table will emit the signal when the cell in the table which has focus changes.

###### AtkObject::announcement

The “announcement” signal can be emitted to pass an announcement on to be read by a screen reader.

since: 2.46

###### AtkObject::attribute-changed

The “attribute-changed” signal should be emitted when one of an object’s attributes changes.

since: 2.52

###### AtkObject::children-changed

The signal “children-changed” is emitted when a child is added or removed from an object. It supports two details: “add” and “remove”.

###### AtkObject::focus-event

The signal “focus-event” is emitted when an object gained or lost focus.

deprecated: 2.9.4

###### AtkObject::notification

The “notification” signal can be emitted to pass an announcement on to be read by a screen reader.

since: 2.50

###### AtkObject::property-change

The signal “property-change” is emitted when an object’s property value changes. `arg1` contains an `AtkPropertyValues` with the name and the new value of the property whose value has changed. Note that, as with GObject notify, getting this signal does not guarantee that the value of the property has actually changed; it may also be emitted when the setter of the property is called to reinstate the previous value.

###### AtkObject::state-change

The “state-change” signal is emitted when an object’s state changes. The detail value identifies the state type which has changed.

###### AtkObject::visible-data-changed

The “visible-data-changed” signal is emitted when the visual appearance of the object changed.

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

##### Signals inherited from AtkComponent (1)

###### AtkComponent::bounds-changed

The ‘bounds-changed” signal is emitted when the position or size of the component changes.

#### Class structure

    struct AtkSocketClass {
      AtkObjectClass parent_class;
      void (* embed) (
        AtkSocket* obj,
        const gchar* plug_id
      );

    }

No description available.

###### Class members

`parent_class: AtkObjectClass`

  No description available.

`embed: void (* embed) ( AtkSocket* obj, const gchar* plug_id )`

  No description available.

#### Virtual methods

###### Atk.SocketClass.embed

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.

since: 1.30