Package ch.bailu.gtk.gio
Class UnixFDList
java.lang.Object
ch.bailu.gtk.type.Type
ch.bailu.gtk.type.Pointer
ch.bailu.gtk.gobject.Object
ch.bailu.gtk.gio.UnixFDList
- All Implemented Interfaces:
PointerInterface
A #GUnixFDList contains a list of file descriptors. It owns the file
descriptors that it contains, closing them when finalized.
It may be wrapped in a #GUnixFDMessage and sent over a #GSocket in
the %G_SOCKET_FAMILY_UNIX family by using g_socket_send_message()
and received using g_socket_receive_message().
Before 2.74, `<gio/gunixfdlist.h>` belonged to the UNIX-specific GIO
interfaces, thus you had to use the `gio-unix-2.0.pc` pkg-config file when
using it.
Since 2.74, the API is available for Windows.
descriptors that it contains, closing them when finalized.
It may be wrapped in a #GUnixFDMessage and sent over a #GSocket in
the %G_SOCKET_FAMILY_UNIX family by using g_socket_send_message()
and received using g_socket_receive_message().
Before 2.74, `<gio/gunixfdlist.h>` belonged to the UNIX-specific GIO
interfaces, thus you had to use the `gio-unix-2.0.pc` pkg-config file when
using it.
Since 2.74, the API is available for Windows.
-
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 #GUnixFDList containing no file descriptors.UnixFDList
(PointerContainer pointer) -
Method Summary
Modifier and TypeMethodDescriptionint
append
(int fd) Adds a file descriptor to @list.int
get
(int index_) Gets a file descriptor out of @list.static ClassHandler
static int
int
Gets the length of @list (ie: the number of file descriptors
contained within).static long
static TypeSystem.TypeSize
static long
static TypeSystem.TypeSize
Returns the array of file descriptors that is contained in this
object.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
-
UnixFDList
-
UnixFDList
public UnixFDList()Creates a new #GUnixFDList containing no file descriptors.
-
-
Method Details
-
getClassHandler
-
append
Adds a file descriptor to @list.
The file descriptor is duplicated using dup(). You keep your copy
of the descriptor and the copy contained in @list will be closed
when @list is finalized.
A possible cause of failure is exceeding the per-process or
system-wide file descriptor limit.
The index of the file descriptor in the list is returned. If you use
this index with g_unix_fd_list_get() then you will receive back a
duplicated copy of the same file descriptor.- Parameters:
fd
- a valid open file descriptor- Returns:
- the index of the appended fd in case of success, else -1 (and @error is set)
- Throws:
AllocationError
-
get
Gets a file descriptor out of @list.
@index_ specifies the index of the file descriptor to get. It is a
programmer error for @index_ to be out of range; see
g_unix_fd_list_get_length().
The file descriptor is duplicated using dup() and set as
close-on-exec before being returned. You must call close() on it
when you are done.
A possible cause of failure is exceeding the per-process or
system-wide file descriptor limit.- Parameters:
index_
- the index into the list- Returns:
- the file descriptor, or -1 in case of error
- Throws:
AllocationError
-
getLength
public int getLength()Gets the length of @list (ie: the number of file descriptors
contained within).- Returns:
- the length of @list
-
stealFds
Returns the array of file descriptors that is contained in this
object.
After this call, the descriptors are no longer contained in
@list. 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. The file descriptors in the array are set to
close-on-exec.
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 @list, 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()
-