SocketProtocol
public protocol SocketProtocol : ComponentProtocol, ObjectProtocol
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.
The SocketProtocol protocol exposes the methods and properties of an underlying AtkSocket instance.
The default implementation of these can be found in the protocol extension below.
For a concrete class that implements these methods and properties, see Socket.
Alternatively, use SocketRef as a lighweight, unowned reference if you already have an instance you just want to use.
-
Untyped pointer to the underlying
AtkSocketinstance.Declaration
Swift
var ptr: UnsafeMutableRawPointer! { get } -
socket_ptrDefault implementationTyped pointer to the underlying
AtkSocketinstance.Default Implementation
Return the stored, untyped pointer as a typed pointer to the
AtkSocketinstance.Declaration
Swift
var socket_ptr: UnsafeMutablePointer<AtkSocket>! { get } -
Required Initialiser for types conforming to
SocketProtocolDeclaration
Swift
init(raw: UnsafeMutableRawPointer)
-
bind(property:Extension methodto: _: flags: transformFrom: transformTo: ) Bind a
SocketPropertyNamesource property to a given target object.Declaration
Swift
@discardableResult @inlinable func bind<Q, T>(property source_property: SocketPropertyName, to target: T, _ target_property: Q, flags f: BindingFlags = .default, transformFrom transform_from: @escaping GLibObject.ValueTransformer = { $0.transform(destValue: $1) }, transformTo transform_to: @escaping GLibObject.ValueTransformer = { $0.transform(destValue: $1) }) -> BindingRef! where Q : PropertyNameProtocol, T : ObjectProtocolParameters
source_propertythe source property to bind
targetthe target object to bind to
target_propertythe target property to bind to
flagsthe flags to pass to the
Bindingtransform_fromValueTransformerto use for forward transformationtransform_toValueTransformerto use for backwards transformationReturn Value
binding reference or
nilin case of an error -
get(property:Extension method) Get the value of a Socket property
Declaration
Swift
@inlinable func get(property: SocketPropertyName) -> GLibObject.ValueParameters
propertythe property to get the value for
Return Value
the value of the named property
-
set(property:Extension methodvalue: ) Set the value of a Socket property. Note that this will only have an effect on properties that are writable and not construct-only!
Declaration
Swift
@inlinable func set(property: SocketPropertyName, value v: GLibObject.Value)Parameters
propertythe property to get the value for
Return Value
the value of the named property
-
embed(plugId:Extension method) Embeds the children of an
AtkPlugas the children of theAtkSocket. The plug may be in the same process or in a different process.The class item used by this function should be filled in by the IPC layer (usually at-spi2-atk). The implementor of the AtkSocket should call this function and pass the id for the plug as returned by
atk_plug_get_id(). It is the responsibility of the application to pass the plug id on to the process implementing theAtkSocketas needed.Declaration
Swift
@inlinable func embed(plugId: UnsafePointer<gchar>!) -
isOccupiedExtension methodDetermines whether or not the socket has an embedded plug.
Declaration
Swift
@inlinable var isOccupied: Bool { get } -
parentExtension methodUndocumented
Declaration
Swift
@inlinable var parent: AtkObject { get }
View on GitHub
Install in Dash
SocketProtocol Protocol Reference