gva-mame-common

gva-mame-common — Functions common to all MAME backends

Synopsis

                    GvaMameAsyncData;
GvaMameAsyncData*   gva_mame_async_data_new             (GvaMameCallback callback,
                                                         gpointer user_data);
void                gva_mame_async_data_free            (GvaMameAsyncData *data);
gint                gva_mame_command                    (const gchar *arguments,
                                                         gchar ***stdout_lines,
                                                         gchar ***stderr_lines,
                                                         GError **error);

Description

These functions are common to all supported MAME implementations.

Details

GvaMameAsyncData

typedef struct {
        GvaMameCallback callback;
        gpointer user_data;
} GvaMameAsyncData;

This structure is used to pass callback information to asynchronous operations.

GvaMameCallback callback;

callback function

gpointer user_data;

user data to pass to the callback function

gva_mame_async_data_new ()

GvaMameAsyncData*   gva_mame_async_data_new             (GvaMameCallback callback,
                                                         gpointer user_data);

Creates a new GvaMameAsyncData structure and populates it with callback and user_data. Call gva_mame_async_data_free() to free it.

callback :

callback function

user_data :

user data to pass to the callback function

Returns :

a new GvaMameAsyncData

gva_mame_async_data_free ()

void                gva_mame_async_data_free            (GvaMameAsyncData *data);

Frees data.

data :

a GvaMameAsyncData

gva_mame_command ()

gint                gva_mame_command                    (const gchar *arguments,
                                                         gchar ***stdout_lines,
                                                         gchar ***stderr_lines,
                                                         GError **error);

Spawns MAME with arguments and blocks until the child process exits. The line-based output from the stdout and stderr pipes are written to stdout_lines and stderr_lines, respectively, as NULL-terminated string arrays. The function returns the exit status of the child process, or -1 if an error occurred while spawning the process.

arguments :

command line arguments

stdout_lines :

return location for stdout lines, or NULL

stderr_lines :

return location for stderr lines, or NULL

error :

return locations for a GError, or NULL

Returns :

exit status of the child process or -1 if an error occurred