AgsApplicationContext

AgsApplicationContext — The application context

Functions

Properties

GObject * config Read / Write
GObject * file Read / Write
GObject * main-loop Read / Write
GObject * task-launcher Read / Write

Signals

Types and Values

Object Hierarchy

    GObject
    ╰── AgsApplicationContext
        ├── AgsServerApplicationContext
        ╰── AgsThreadApplicationContext

Implemented Interfaces

AgsApplicationContext implements AgsConnectable.

Includes

#include <ags/object/ags_application_context.h>

Description

AgsApplicationContext is a context provider is your and libraries entry point to the application. You might subtype it to implement your own contices. Thus you should consider to create a provider interface for reusability.

Functions

AGS_APPLICATION_CONTEXT_GET_OBJ_MUTEX()

#define AGS_APPLICATION_CONTEXT_GET_OBJ_MUTEX(obj) (&(((AgsApplicationContext *) obj)->obj_mutex))

ags_application_context_test_flags ()

gboolean
ags_application_context_test_flags (AgsApplicationContext *application_context,
                                    guint flags);

Test flags to be set on application_context .

Parameters

application_context

the AgsApplicationContext

 

flags

the flags

 

Returns

TRUE if flags are set, else FALSE

Since: 3.0.0


ags_application_context_set_flags ()

void
ags_application_context_set_flags (AgsApplicationContext *application_context,
                                   guint flags);

Enable a feature of AgsApplicationContext.

Parameters

application_context

the AgsApplicationContext

 

flags

see enum AgsApplicationContextFlags

 

Since: 3.0.0


ags_application_context_unset_flags ()

void
ags_application_context_unset_flags (AgsApplicationContext *application_context,
                                     guint flags);

Disable a feature of AgsApplicationContext.

Parameters

application_context

the AgsApplicationContext

 

flags

see enum AgsApplicationContextFlags

 

Since: 3.0.0


ags_application_context_load_config ()

void
ags_application_context_load_config (AgsApplicationContext *application_context);

Signal to load and parse configuration.

Parameters

application_context

the AgsApplicationContext

 

Since: 3.0.0


ags_application_context_prepare ()

void
ags_application_context_prepare (AgsApplicationContext *application_context);

Prepare application_context .

Parameters

application_context

the AgsApplicationContext

 

Since: 3.0.0


ags_application_context_setup ()

void
ags_application_context_setup (AgsApplicationContext *application_context);

Setup application_context .

Parameters

application_context

the AgsApplicationContext

 

Since: 3.0.0


ags_application_context_register_types ()

void
ags_application_context_register_types
                               (AgsApplicationContext *application_context);

Notification to register your types.

Parameters

application_context

the AgsApplicationContext

 

Since: 3.0.0


ags_application_context_quit ()

void
ags_application_context_quit (AgsApplicationContext *application_context);

Calls exit()

Parameters

application_context

the AgsApplicationContext

 

Since: 3.0.0


ags_application_context_get_instance ()

AgsApplicationContext *
ags_application_context_get_instance ();

Get your application context instance.

Returns

the AgsApplicationContext instance.

[transfer none]

Since: 3.0.0


ags_application_context_new ()

AgsApplicationContext *
ags_application_context_new (GObject *main_loop,
                             AgsConfig *config);

Create a new instance of AgsApplicationContext

Parameters

main_loop

the AgsMainLoop.

[nullable]

config

the AgsConfig.

[nullable]

Returns

the AgsApplicationContext instance

Since: 3.0.0


AGS_APPLICATION_CONTEXT()

#define AGS_APPLICATION_CONTEXT(obj)                (G_TYPE_CHECK_INSTANCE_CAST((obj), AGS_TYPE_APPLICATION_CONTEXT, AgsApplicationContext))

AGS_APPLICATION_CONTEXT_CLASS()

#define AGS_APPLICATION_CONTEXT_CLASS(class)        (G_TYPE_CHECK_CLASS_CAST(class, AGS_TYPE_APPLICATION_CONTEXT, AgsApplicationContextClass))

AGS_APPLICATION_CONTEXT_GET_CLASS()

#define AGS_APPLICATION_CONTEXT_GET_CLASS(obj)      (G_TYPE_INSTANCE_GET_CLASS(obj, AGS_TYPE_APPLICATION_CONTEXT, AgsApplicationContextClass))

AGS_IS_APPLICATION_CONTEXT()

#define AGS_IS_APPLICATION_CONTEXT(obj)             (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AGS_TYPE_APPLICATION_CONTEXT))

AGS_IS_APPLICATION_CONTEXT_CLASS()

#define AGS_IS_APPLICATION_CONTEXT_CLASS(class)     (G_TYPE_CHECK_CLASS_TYPE ((class), AGS_TYPE_APPLICATION_CONTEXT))

ags_application_context_get_type ()

GType
ags_application_context_get_type ();

Types and Values

AGS_VERSION

#define AGS_VERSION "3.0.0"

AGS_BUILD_ID

#define AGS_BUILD_ID "Wed Nov  6 18:28:15 UTC 2019"

AGS_DEFAULT_DIRECTORY

#define AGS_DEFAULT_DIRECTORY ".gsequencer"

AGS_DEFAULT_CONFIG

#define AGS_DEFAULT_CONFIG "ags.conf"

enum AgsApplicationContextFlags

Enum values to control the behavior or indicate internal state of AgsApplicationContext by enable/disable as flags.

Members

AGS_APPLICATION_CONTEXT_ADDED_TO_REGISTRY

indicates the application context was added to AgsRegistry

 

AGS_APPLICATION_CONTEXT_CONNECTED

indicates the application context was connected by calling AgsConnectable::connect()

 

AGS_APPLICATION_CONTEXT_TYPES_REGISTERED

indicates the types have been registered

 

AGS_TYPE_APPLICATION_CONTEXT

#define AGS_TYPE_APPLICATION_CONTEXT                (ags_application_context_get_type())

struct AgsApplicationContext

struct AgsApplicationContext;

struct AgsApplicationContextClass

struct AgsApplicationContextClass {
  GObjectClass gobject;

  void (*load_config)(AgsApplicationContext *application_context);

  void (*prepare)(AgsApplicationContext *application_context);
  void (*setup)(AgsApplicationContext *application_context);

  void (*register_types)(AgsApplicationContext *application_context);

  void (*read)(GObject *file, xmlNodePtr node, GObject **gobject);
  xmlNodePtr (*write)(GObject *file, xmlNodePtr parent, GObject *gobject);

  void (*quit)(AgsApplicationContext *application_context);
};

Property Details

The “config” property

  “config”                   GObject *

The assigned config.

Owner: AgsApplicationContext

Flags: Read / Write

Since: 3.0.0


The “file” property

  “file”                     GObject *

The assigned file.

Owner: AgsApplicationContext

Flags: Read / Write

Since: 3.0.0


The “main-loop” property

  “main-loop”                GObject *

The assigned main-loop.

Owner: AgsApplicationContext

Flags: Read / Write

Since: 3.0.0


The “task-launcher” property

  “task-launcher”            GObject *

The assigned task launcher.

Owner: AgsApplicationContext

Flags: Read / Write

Since: 3.0.0

Signal Details

The “load-config” signal

void
user_function (AgsApplicationContext *application_context,
               gpointer               user_data)

The ::load-config notifies to load configuration.

Parameters

application_context

the AgsApplicationContext

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 3.0.0


The “prepare” signal

void
user_function (AgsApplicationContext *application_context,
               gpointer               user_data)

The ::prepare signal should be implemented to prepare your application context.

Parameters

application_context

the AgsApplicationContext

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 3.0.0


The “quit” signal

void
user_function (AgsApplicationContext *application_context,
               gpointer               user_data)

The ::quit notifies to load configuration.

Parameters

application_context

the AgsApplicationContext

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 3.0.0


The “register-types” signal

void
user_function (AgsApplicationContext *application_context,
               gpointer               user_data)

The ::register-types signal should be implemented to load your types.

Parameters

application_context

the AgsApplicationContext

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 3.0.0


The “setup” signal

void
user_function (AgsApplicationContext *application_context,
               gpointer               user_data)

The ::setup signal should be implemented to setup your application context.

Parameters

application_context

the AgsApplicationContext

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 3.0.0