Package ch.bailu.gtk.gio
Class UnixFDMessage
java.lang.Object
ch.bailu.gtk.type.Type
ch.bailu.gtk.type.Pointer
ch.bailu.gtk.gobject.Object
ch.bailu.gtk.gio.SocketControlMessage
ch.bailu.gtk.gio.UnixFDMessage
- All Implemented Interfaces:
PointerInterface
This #GSocketControlMessage contains a #GUnixFDList.
It may be sent using g_socket_send_message() and received using
g_socket_receive_message() over UNIX sockets (ie: sockets in the
%G_SOCKET_FAMILY_UNIX family). The file descriptors are copied
between processes by the kernel.
For an easier way to send and receive file descriptors over
stream-oriented UNIX sockets, see g_unix_connection_send_fd() and
g_unix_connection_receive_fd().
Note that `<gio/gunixfdmessage.h>` belongs to the UNIX-specific GIO
interfaces, thus you have to use the `gio-unix-2.0.pc` pkg-config
file when using it.
It may be sent using g_socket_send_message() and received using
g_socket_receive_message() over UNIX sockets (ie: sockets in the
%G_SOCKET_FAMILY_UNIX family). The file descriptors are copied
between processes by the kernel.
For an easier way to send and receive file descriptors over
stream-oriented UNIX sockets, see g_unix_connection_send_fd() and
g_unix_connection_receive_fd().
Note that `<gio/gunixfdmessage.h>` belongs to the UNIX-specific GIO
interfaces, thus you have to use the `gio-unix-2.0.pc` pkg-config
file when using it.
-
Nested Class Summary
Nested classes/interfaces inherited from class ch.bailu.gtk.gobject.Object
Object.OnBindingTransformFunc, Object.OnDestroyNotify, Object.OnDuplicateFunc, Object.OnNotify, Object.OnToggleNotify, Object.OnWeakNotify
-
Field Summary
Fields inherited from class ch.bailu.gtk.gobject.Object
SIGNAL_ON_NOTIFY
-
Constructor Summary
ConstructorDescriptionCreates a new #GUnixFDMessage containing an empty file descriptor
list.UnixFDMessage
(PointerContainer pointer) -
Method Summary
Modifier and TypeMethodDescriptionboolean
appendFd
(int fd) Adds a file descriptor to @message.static ClassHandler
Gets the #GUnixFDList contained in @message.static int
static long
static TypeSystem.TypeSize
static long
static TypeSystem.TypeSize
static UnixFDMessage
newWithFdListUnixFDMessage
(UnixFDList fd_list) Creates a new #GUnixFDMessage containing @list.Returns the array of file descriptors that is contained in this
object.Methods inherited from class ch.bailu.gtk.gio.SocketControlMessage
deserialize, getLevel, getMsgType, getSize, serialize
Methods inherited from class 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
Methods inherited from class ch.bailu.gtk.type.Pointer
asCPointer, cast, connectSignal, disconnectSignals, disconnectSignals, equals, hashCode, throwIfNull, throwNullPointerException, toString, unregisterCallbacks, unregisterCallbacks
Methods inherited from class ch.bailu.gtk.type.Type
asCPointer, asCPointer, asCPointerNotNull, asJnaPointer, asJnaPointer, asPointer, asPointer, cast, cast, throwIfNull
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface ch.bailu.gtk.type.PointerInterface
asCPointerNotNull, asJnaPointer, asPointer, isNotNull, isNull
-
Constructor Details
-
UnixFDMessage
-
UnixFDMessage
public UnixFDMessage()Creates a new #GUnixFDMessage containing an empty file descriptor
list.
-
-
Method Details
-
getClassHandler
-
newWithFdListUnixFDMessage
Creates a new #GUnixFDMessage containing @list.- Parameters:
fd_list
- a #GUnixFDList- Returns:
- a new #GUnixFDMessage
-
appendFd
Adds a file descriptor to @message.
The file descriptor is duplicated using dup(). You keep your copy
of the descriptor and the copy contained in @message will be closed
when @message is finalized.
A possible cause of failure is exceeding the per-process or
system-wide file descriptor limit.- Parameters:
fd
- a valid open file descriptor- Returns:
- %TRUE in case of success, else %FALSE (and @error is set)
- Throws:
AllocationError
-
getFdList
Gets the #GUnixFDList contained in @message. This function does not
return a reference to the caller, but the returned list is valid for
the lifetime of @message.- Returns:
- the #GUnixFDList from @message
-
stealFds
Returns the array of file descriptors that is contained in this
object.
After this call, the descriptors are no longer contained in
@message. Further calls will return an empty list (unless more
descriptors have been added).
The return result of this function must be freed with g_free().
The caller is also responsible for closing all of the file
descriptors.
If @length is non-%NULL then it is set to the number of file
descriptors in the returned array. The returned array is also
terminated with -1.
This function never returns %NULL. In case there are no file
descriptors contained in @message, an empty array is returned.- Parameters:
length
- pointer to the length of the returned array, or %NULL- Returns:
- an array of file descriptors
-
getTypeID
public static long getTypeID() -
getParentTypeID
public static long getParentTypeID() -
getTypeSize
-
getParentTypeSize
-
getInstanceSize
public static int getInstanceSize()
-