AgsConcurrencyProvider

AgsConcurrencyProvider — concurrency interface

Functions

Types and Values

Includes

#include <ags/thread/ags_concurrency_provider.h>

Description

The AgsConcurrencyProvider gives you unique access to threads.

Functions

ags_concurrency_provider_get_mutex_manager ()

AgsMutexManager *
ags_concurrency_provider_get_mutex_manager
                               (AgsConcurrencyProvider *concurrency_provider);

Get mutex manager of application context.

Parameters

concurrency_provider

the AgsConcurrencyProvider

 

Returns

the assigned AgsMutexManager

Since: 0.7.0


ags_concurrency_provider_get_main_loop ()

AgsThread *
ags_concurrency_provider_get_main_loop
                               (AgsConcurrencyProvider *concurrency_provider);

Get main loop of application context.

Parameters

concurrency_provider

the AgsConcurrencyProvider

 

Returns

the AgsThread implementing AgsMainLoop interface

Since: 0.7.0


ags_concurrency_provider_get_task_thread ()

AgsThread *
ags_concurrency_provider_get_task_thread
                               (AgsConcurrencyProvider *concurrency_provider);

Get task thread of application context.

Parameters

concurrency_provider

the AgsConcurrencyProvider

 

Returns

the AgsThread implementing AgsAsyncQueue interface

Since: 0.7.0


ags_concurrency_provider_get_thread_pool ()

AgsThreadPool *
ags_concurrency_provider_get_thread_pool
                               (AgsConcurrencyProvider *concurrency_provider);

Get thread pool of application context.

Parameters

concurrency_provider

the AgsConcurrencyProvider

 

Returns

the AgsThreadPool

Since: 0.7.0


ags_concurrency_provider_get_type ()

GType
ags_concurrency_provider_get_type ();

Types and Values

struct AgsConcurrencyProviderInterface

struct AgsConcurrencyProviderInterface {
  GTypeInterface interface;

  AgsMutexManager* (*get_mutex_manager)(AgsConcurrencyProvider *concurrency_provider);
  
  AgsThread* (*get_main_loop)(AgsConcurrencyProvider *concurrency_provider);
  AgsThread* (*get_task_thread)(AgsConcurrencyProvider *concurrency_provider);
  
  AgsThreadPool* (*get_thread_pool)(AgsConcurrencyProvider *concurrency_provider);
};


AGS_TYPE_CONCURRENCY_PROVIDER

#define AGS_TYPE_CONCURRENCY_PROVIDER                    (ags_concurrency_provider_get_type())