Package ch.bailu.gtk.gio
Klasse SocketControlMessage
java.lang.Object
ch.bailu.gtk.type.Type
ch.bailu.gtk.type.Pointer
ch.bailu.gtk.gobject.Object
ch.bailu.gtk.type.PropertyHolder
ch.bailu.gtk.gio.SocketControlMessage
- Alle implementierten Schnittstellen:
PointerInterface
- Bekannte direkte Unterklassen:
UnixCredentialsMessage
,UnixFDMessage
A `GSocketControlMessage` is a special-purpose utility message that
can be sent to or received from a [class@Gio.Socket]. These types of
messages are often called ‘ancillary data’.
The message can represent some sort of special instruction to or
information from the socket or can represent a special kind of
transfer to the peer (for example, sending a file descriptor over
a UNIX socket).
These messages are sent with [method@Gio.Socket.send_message] and received
with [method@Gio.Socket.receive_message].
To extend the set of control message that can be sent, subclass this
class and override the `get_size`, `get_level`, `get_type` and `serialize`
methods.
To extend the set of control messages that can be received, subclass
this class and implement the `deserialize` method. Also, make sure your
class is registered with the [type@GObject.Type] type system before calling
[method@Gio.Socket.receive_message] to read such a message.
can be sent to or received from a [class@Gio.Socket]. These types of
messages are often called ‘ancillary data’.
The message can represent some sort of special instruction to or
information from the socket or can represent a special kind of
transfer to the peer (for example, sending a file descriptor over
a UNIX socket).
These messages are sent with [method@Gio.Socket.send_message] and received
with [method@Gio.Socket.receive_message].
To extend the set of control message that can be sent, subclass this
class and override the `get_size`, `get_level`, `get_type` and `serialize`
methods.
To extend the set of control messages that can be received, subclass
this class and implement the `deserialize` method. Also, make sure your
class is registered with the [type@GObject.Type] type system before calling
[method@Gio.Socket.receive_message] to read such a message.
-
Verschachtelte Klassen - Übersicht
Von Klasse geerbte verschachtelte Klassen/Schnittstellen ch.bailu.gtk.gobject.Object
Object.OnBindingTransformFunc, Object.OnDestroyNotify, Object.OnDuplicateFunc, Object.OnNotify, Object.OnToggleNotify, Object.OnWeakNotify
-
Feldübersicht
Von Klasse geerbte Felder ch.bailu.gtk.gobject.Object
SIGNAL_ON_NOTIFY
-
Konstruktorübersicht
Konstruktoren -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungstatic SocketControlMessage
deserialize
(int level, int type, long size, Pointer data) Tries to deserialize a socket control message of a given
@level and @type.static ClassHandler
static int
int
getLevel()
Returns the "level" (i.e. the originating protocol) of the control message.int
Returns the protocol specific type of the control message.static long
static TypeSystem.TypeSize
long
getSize()
Returns the space required for the control message, not including
headers or alignment.static long
static TypeSystem.TypeSize
void
Converts the data in the message to bytes placed in the
message.Von Klasse geerbte Methoden ch.bailu.gtk.type.PropertyHolder
getBooleanProperty, getIntProperty, getObjectProperty, getStringProperty, getStrProperty, setBooleanProperty, setIntProperty, setObjectProperty, setStringProperty, setStrProperty
Von Klasse geerbte Methoden ch.bailu.gtk.gobject.Object
addToggleRef, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, disconnect, disconnect, dupData, dupData, dupQdata, forceFloating, freezeNotify, get, get, getData, getData, getProperty, getProperty, getQdata, interfaceFindProperty, interfaceInstallProperty, isFloating, notify, notify, notifyByPspec, onNotify, ref, refSink, removeToggleRef, replaceData, replaceData, replaceQdata, runDispose, set, set, setData, setData, setDataFull, setDataFull, setProperty, setProperty, setQdata, setQdataFull, stealData, stealData, stealQdata, takeRef, thawNotify, unref, watchClosure, weakRef, weakUnref
Von Klasse geerbte Methoden ch.bailu.gtk.type.Pointer
asCPointer, cast, connectSignal, disconnectSignals, disconnectSignals, equals, hashCode, throwIfNull, throwNullPointerException, toString, unregisterCallbacks, unregisterCallbacks
Von Klasse geerbte Methoden ch.bailu.gtk.type.Type
asCPointer, asCPointer, asCPointerNotNull, asJnaPointer, asJnaPointer, asPointer, asPointer, cast, cast, throwIfNull
Von Klasse geerbte Methoden java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Von Schnittstelle geerbte Methoden ch.bailu.gtk.type.PointerInterface
asCPointerNotNull, asJnaPointer, asPointer, isNotNull, isNull
-
Konstruktordetails
-
SocketControlMessage
-
-
Methodendetails
-
getClassHandler
-
getLevel
public int getLevel()Returns the "level" (i.e. the originating protocol) of the control message.
This is often SOL_SOCKET.- Gibt zurück:
- an integer describing the level
-
getMsgType
public int getMsgType()Returns the protocol specific type of the control message.
For instance, for UNIX fd passing this would be SCM_RIGHTS.- Gibt zurück:
- an integer describing the type of control message
-
getSize
public long getSize()Returns the space required for the control message, not including
headers or alignment.- Gibt zurück:
- The number of bytes required.
-
serialize
Converts the data in the message to bytes placed in the
message.
@data is guaranteed to have enough space to fit the size
returned by g_socket_control_message_get_size() on this
object.- Parameter:
data
- A buffer to write data to
-
deserialize
public static SocketControlMessage deserialize(int level, int type, long size, @Nonnull Pointer data) Tries to deserialize a socket control message of a given
@level and @type. This will ask all known (to GType) subclasses
of #GSocketControlMessage if they can understand this kind
of message and if so deserialize it into a #GSocketControlMessage.
If there is no implementation for this kind of control message, %NULL
will be returned.- Parameter:
level
- a socket leveltype
- a socket control message type for the given @levelsize
- the size of the data in bytesdata
- pointer to the message data- Gibt zurück:
- the deserialized message or %NULL
-
getTypeID
public static long getTypeID() -
getParentTypeID
public static long getParentTypeID() -
getTypeSize
-
getParentTypeSize
-
getInstanceSize
public static int getInstanceSize()
-