Class

AgsThread

Description

class Ags.Thread : GObject.Object {
  gobject: GObject,
  my_flags: guint,
  connectable_flags: guint,
  status_flags: volatile guint,
  sync_tic_flags: volatile guint,
  obj_mutex: GRecMutex,
  uuid: AgsUUID*,
  current_sync_tic: volatile guint,
  delay: gdouble,
  tic_delay: gdouble,
  frequency: gdouble,
  max_precision: gdouble,
  last_run_start: gint64,
  last_run_end: gint64,
  thread: GThread*,
  wait_mutex: GMutex,
  wait_cond: GCond,
  tic_mutex: GMutex,
  tic_cond: GCond,
  start_queue: GList*,
  start_mutex: GMutex,
  start_cond: GCond,
  parent: AgsThread*,
  next: AgsThread*,
  prev: AgsThread*,
  children: AgsThread*
}
No description available.

Ancestors

Implements

Constructors

ags_thread_new

Create a new instance of AgsThread.

since: 3.0.0

Functions

ags_thread_global_get_use_sync_counter

Get global config value use sync counter.

since: 3.0.0

ags_thread_self

Thread self.

since: 3.0.0

Instance methods

ags_thread_add_child

Add child to thread.

since: 3.0.0

ags_thread_add_child_extended

Add child to thread.

since: 3.0.0

ags_thread_add_start_queue

Add child to threads start queue.

since: 3.0.0

ags_thread_add_start_queue_all

Add child to threads start queue.

since: 3.0.0

ags_thread_children

Get children thread.

since: 3.0.0

ags_thread_clear_status_flags

Clear status flags.

since: 3.0.0

ags_thread_clear_sync_tic_flags

Clear sync-tic flags.

since: 3.0.0

ags_thread_clock

Clock the thread.

since: 3.0.0

ags_thread_find_type

Find gtype as descendant of thread. If its a descendant thread, the ref-count is increased.

since: 3.0.0

ags_thread_first

Retrieve first sibling.

since: 3.0.0

ags_thread_get_current_sync_tic

Get current sync-tic.

since: 3.0.0

ags_thread_get_delay

Get delay.

since: 3.0.0

ags_thread_get_frequency

Get frequency.

since: 3.0.0

ags_thread_get_max_precision

Get max-precision.

since: 3.0.0

ags_thread_get_toplevel

Retrieve toplevel thread.

since: 3.0.0

ags_thread_is_current_ready
No description available.

ags_thread_is_tree_ready_recursive
No description available.

ags_thread_last

Retrieve last sibling.

since: 3.0.0

ags_thread_lock

Locks the threads own mutex and sets the appropriate flag.

since: 3.0.0

ags_thread_next

Get next thread.

since: 3.0.0

ags_thread_parent

Get parent thread.

since: 3.0.0

ags_thread_prepare_current_sync
No description available.

ags_thread_prepare_tree_sync_recursive
No description available.

ags_thread_prev

Get prev thread.

since: 3.0.0

ags_thread_remove_child

Remove child of thread.

since: 3.0.0

ags_thread_run

Only for internal use of ags_thread_loop but you may want to set the your very own class function namely your thread’s routine.

since: 3.0.0

ags_thread_set_current_sync
No description available.

ags_thread_set_current_sync_tic

Set current sync-tic.

since: 3.0.0

ags_thread_set_delay

Set delay.

since: 3.0.0

ags_thread_set_flags

Set flags.

since: 3.0.0

ags_thread_set_frequency

Set frequency.

since: 3.0.0

ags_thread_set_max_precision

Set max-precision.

since: 3.0.0

ags_thread_set_status_flags

Set status flags.

since: 3.0.0

ags_thread_set_sync_tic_flags

Set sync-tic flags.

since: 3.0.0

ags_thread_set_tree_sync_recursive
No description available.

ags_thread_start

Start the thread.

since: 3.0.0

ags_thread_stop

Stop the threads loop by unsetting AGS_THREAD_STATUS_RUNNING flag.

since: 3.0.0

ags_thread_test_flags

Test flags to be set on thread.

since: 3.0.0

ags_thread_test_status_flags

Test status_flags to be set on thread.

since: 3.0.0

ags_thread_test_sync_tic_flags

Test sync_tic_flags to be set on thread.

since: 3.0.0

ags_thread_trylock

Locks the threads own mutex if available and sets the appropriate flag and returning TRUE. Otherwise return FALSE without lock.

since: 3.0.0

ags_thread_unlock

Unlocks the threads own mutex and unsets the appropriate flag.

since: 3.0.0

ags_thread_unset_flags

Unset flags.

since: 3.0.0

ags_thread_unset_status_flags

Unset status flags.

since: 3.0.0

ags_thread_unset_sync_tic_flags

Unset sync-tic flags.

since: 3.0.0

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Methods inherited from AgsConnectable (13)
ags_connectable_add_to_registry

Add connectable to registry.

since: 3.0.0

ags_connectable_connect

Connect the connectable.

since: 3.0.0

ags_connectable_connect_connection

Disconnect the connectable.

since: 3.0.0

ags_connectable_disconnect

Disconnect the connectable.

since: 3.0.0

ags_connectable_disconnect_connection

Disconnect the connectable.

since: 3.0.0

ags_connectable_get_uuid

Get UUID of connectable.

since: 3.0.0

ags_connectable_has_resource

Check the connectable to have resources.

since: 3.0.0

ags_connectable_is_connected

Check if the connectable was connected.

since: 3.0.0

ags_connectable_is_ready

Connect the connectable.

since: 3.0.0

ags_connectable_list_resource

List resources as an XML element and return it.

since: 3.0.0

ags_connectable_remove_from_registry

Remove connectable from registry.

since: 3.0.0

ags_connectable_xml_compose

Compose an XML element and return it.

since: 3.0.0

ags_connectable_xml_parse

Parse node as XML element and apply it.

since: 3.0.0

Properties

Ags.Thread:delay

The delay until next tic.

since: 3.0.0

Ags.Thread:frequency

The frequency to run at in Hz.

since: 3.0.0

Ags.Thread:max-precision

The max-frequency to run at in Hz.

since: 3.0.0

Signals

Ags.Thread::clock

The ::clock() signal is invoked every thread tic.

since: 3.0.0

Ags.Thread::run

The ::run() signal is invoked during run loop.

since: 3.0.0

Ags.Thread::start

The ::start() signal is invoked as thread started.

since: 3.0.0

Ags.Thread::stop

The ::stop() signal is invoked as thread stopped.

since: 3.0.0

Signals inherited from GObject (1)
GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

Class structure

struct AgsThreadClass {
  GObjectClass gobject;
  guint (* clock) (
    AgsThread* thread
  );
  void (* start) (
    AgsThread* thread
  );
  void (* run) (
    AgsThread* thread
  );
  void (* stop) (
    AgsThread* thread
  );
  
}
No description available.
Class members
gobject: GObjectClass
No description available.
clock: guint (* clock) ( AgsThread* thread )
No description available.
start: void (* start) ( AgsThread* thread )
No description available.
run: void (* run) ( AgsThread* thread )
No description available.
stop: void (* stop) ( AgsThread* thread )
No description available.

Virtual methods

Ags.ThreadClass.clock

Clock the thread.

since: 3.0.0

Ags.ThreadClass.run

Only for internal use of ags_thread_loop but you may want to set the your very own class function namely your thread’s routine.

since: 3.0.0

Ags.ThreadClass.start

Start the thread.

since: 3.0.0

Ags.ThreadClass.stop

Stop the threads loop by unsetting AGS_THREAD_STATUS_RUNNING flag.

since: 3.0.0