Package ch.bailu.gtk.glib
Class Private
java.lang.Object
ch.bailu.gtk.type.Type
ch.bailu.gtk.type.Pointer
ch.bailu.gtk.type.Record
ch.bailu.gtk.glib.Private
- All Implemented Interfaces:
PointerInterface
The #GPrivate struct is an opaque data structure to represent a
thread-local data key. It is approximately equivalent to the
pthread_setspecific()/pthread_getspecific() APIs on POSIX and to
TlsSetValue()/TlsGetValue() on Windows.
If you don't already know why you might want this functionality,
then you probably don't need it.
#GPrivate is a very limited resource (as far as 128 per program,
shared between all libraries). It is also not possible to destroy a
#GPrivate after it has been used. As such, it is only ever acceptable
to use #GPrivate in static scope, and even then sparingly so.
See G_PRIVATE_INIT() for a couple of examples.
The #GPrivate structure should be considered opaque. It should only
be accessed via the g_private_ functions.
thread-local data key. It is approximately equivalent to the
pthread_setspecific()/pthread_getspecific() APIs on POSIX and to
TlsSetValue()/TlsGetValue() on Windows.
If you don't already know why you might want this functionality,
then you probably don't need it.
#GPrivate is a very limited resource (as far as 128 per program,
shared between all libraries). It is also not possible to destroy a
#GPrivate after it has been used. As such, it is only ever acceptable
to use #GPrivate in static scope, and even then sparingly so.
See G_PRIVATE_INIT() for a couple of examples.
The #GPrivate structure should be considered opaque. It should only
be accessed via the g_private_ functions.
-
Nested Class Summary
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionget()
Returns the current value of the thread local variable @key.static ClassHandler
ch.bailu.gtk.glib.JnaPrivate.OnDestroyNotify
void
Sets the thread local variable @key to have the value @value in the
current thread.void
Sets the thread local variable @key to have the value @value in the
current thread.void
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
-
Field Details
-
P
- See Also:
-
NOTIFY
- See Also:
-
-
Constructor Details
-
Private
-
-
Method Details
-
getClassHandler
-
getFieldP
-
setFieldNotify
-
getFieldNotify
public ch.bailu.gtk.glib.JnaPrivate.OnDestroyNotify getFieldNotify() -
get
Returns the current value of the thread local variable @key.
If the value has not yet been set in this thread, %NULL is returned.
Values are never copied between threads (when a new thread is
created, for example).- Returns:
- the thread-local value
-
replace
Sets the thread local variable @key to have the value @value in the
current thread.
This function differs from g_private_set() in the following way: if
the previous value was non-%NULL then the #GDestroyNotify handler for
@key is run on it.- Parameters:
value
- the new value
-
set
Sets the thread local variable @key to have the value @value in the
current thread.
This function differs from g_private_replace() in the following way:
the #GDestroyNotify for @key is not called on the old value.- Parameters:
value
- the new value
-