mutter/src/meta/meta-context.h
Jonas Ådahl 02176eab83 context: Add start/run/terminate phases
The start phase creates the MetaDisplay object, and initializes Wayland, and
creates the main loop.

The run phase runs the main loop and handles returning an error if the
context was terminated with an error.

The terminate phase terminates the main loop, with or without an error.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1861>
2021-07-15 10:59:40 +02:00

62 lines
1.9 KiB
C

/*
* Copyright (C) 2019 Red Hat Inc.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*
*/
#ifndef META_CONTEXT_H
#define META_CONTEXT_H
#include <glib-object.h>
#include "meta/common.h"
#define META_TYPE_CONTEXT (meta_context_get_type ())
META_EXPORT
G_DECLARE_DERIVABLE_TYPE (MetaContext, meta_context, META, CONTEXT, GObject)
META_EXPORT
void meta_context_set_plugin_name (MetaContext *context,
const char *plugin_name);
META_EXPORT
gboolean meta_context_configure (MetaContext *context,
int *argc,
char ***argv,
GError **error);
META_EXPORT
gboolean meta_context_setup (MetaContext *context,
GError **error);
META_EXPORT
gboolean meta_context_start (MetaContext *context,
GError **error);
META_EXPORT
gboolean meta_context_run_main_loop (MetaContext *context,
GError **error);
META_EXPORT
void meta_context_terminate (MetaContext *context);
META_EXPORT
void meta_context_terminate_with_error (MetaContext *context,
GError *error);
#endif /* META_CONTEXT_H */