1
0
Fork 0
gnome-software/lib/gs-plugin-vfuncs.h
Daniel Baumann 68ee05b3fd
Adding upstream version 48.2.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-22 21:00:23 +02:00

84 lines
2.1 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
* vi:set noexpandtab tabstop=8 shiftwidth=8:
*
* Copyright (C) 2012-2017 Richard Hughes <richard@hughsie.com>
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
#pragma once
/**
* SECTION:gs-plugin-vfuncs
* @title: GsPlugin Exports
* @include: gnome-software.h
* @stability: Unstable
* @short_description: Vfuncs that plugins can implement
*/
#include <appstream.h>
#include <glib-object.h>
#include <gmodule.h>
#include <gio/gio.h>
#include <libsoup/soup.h>
#include "gs-app.h"
#include "gs-app-list.h"
#include "gs-category.h"
G_BEGIN_DECLS
/**
* gs_plugin_query_type:
*
* Returns the #GType for a subclass of #GsPlugin provided by this plugin
* module. It should not do any other computation.
*
* The init function for that type should initialize the plugin. If the plugin
* should not be run then gs_plugin_set_enabled() should be called from the
* init function.
*
* NOTE: Do not do any failable actions in the plugin class init function; use
* #GsPluginClass.setup_async instead.
*
* Since: 42
*/
GType gs_plugin_query_type (void);
/**
* gs_plugin_adopt_app:
* @plugin: a #GsPlugin
* @app: a #GsApp
*
* Called when an #GsApp has not been claimed (i.e. a management plugin has not
* been set).
*
* A claimed app means other plugins will not try to perform actions
* such as install, remove or update. Most apps are claimed when they
* are created.
*
* If a plugin can adopt this app then it should call
* gs_app_set_management_plugin() on @app.
**/
void gs_plugin_adopt_app (GsPlugin *plugin,
GsApp *app);
/**
* gs_plugin_add_langpacks:
* @plugin: a #GsPlugin
* @list: a #GsAppList
* @locale: a #LANGUAGE_CODE or #LOCALE, e.g. "ja" or "ja_JP"
* @cancellable: a #GCancellable, or %NULL
* @error: a #GError, or %NULL
*
* Returns a list of language packs, as per input language code or locale.
*
* Returns: %TRUE for success or if not relevant
**/
gboolean gs_plugin_add_langpacks (GsPlugin *plugin,
GsAppList *list,
const gchar *locale,
GCancellable *cancellable,
GError **error);
G_END_DECLS