Once

A #GOnce struct controls a one-time initialization function. Any one-time initialization function must have its own unique #GOnce struct.

Constructors

this
this(GOnce* gOnce, bool ownedRef)

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

Destructor

~this
~this()
Undocumented in source.

Members

Functions

getOnceStruct
GOnce* getOnceStruct(bool transferOwnership)

Get the main Gtk struct

getStruct
void* getStruct()

the main Gtk struct as a void*

impl
void* impl(GThreadFunc func, void* arg)

Properties

retval
void* retval [@property getter]
void* retval [@property setter]

the value returned by the call to the function, if @status is %G_ONCE_STATUS_READY

status
GOnceStatus status [@property getter]
GOnceStatus status [@property setter]

the status of the #GOnce

Static functions

initEnter
bool initEnter(void* location)

Function to be called when starting a critical initialization section. The argument @location must point to a static 0-initialized variable that will be set to a value other than 0 at the end of the initialization section. In combination with g_once_init_leave() and the unique address @value_location, it can be ensured that an initialization section will be executed only once during a program's life time, and that concurrent threads are blocked until initialization completed. To be used in constructs like this:

initLeave
void initLeave(void* location, size_t result)

Counterpart to g_once_init_enter(). Expects a location of a static 0-initialized initialization variable, and an initialization value other than 0. Sets the variable to the initialization value, and releases concurrent threads blocking in g_once_init_enter() on this initialization variable.

Variables

gOnce
GOnce* gOnce;

the main Gtk struct

ownedRef
bool ownedRef;
Undocumented in source.

Meta