Private

The glib.Private 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.

glib.Private is a very limited resource (as far as 128 per program, shared between all libraries). It is also not possible to destroy a glib.Private after it has been used. As such, it is only ever acceptable to use glib.Private in static scope, and even then sparingly so.

See G_PRIVATE_INIT() for a couple of examples.

The glib.Private structure should be considered opaque. It should only be accessed via the g_private_ functions.

Constructors

this
this(GPrivate* gPrivate, bool ownedRef)

Sets our main struct and passes it to the parent class.

Members

Functions

get
void* get()

Returns the current value of the thread local variable key.

getPrivateStruct
GPrivate* getPrivateStruct(bool transferOwnership)

Get the main Gtk struct

getStruct
void* getStruct()

the main Gtk struct as a void*

replace
void replace(void* value)

Sets the thread local variable key to have the value value in the current thread.

set
void set(void* value)

Sets the thread local variable key to have the value value in the current thread.

Variables

gPrivate
GPrivate* gPrivate;

the main Gtk struct