Blame bus/inputcontext.h

Packit Service 1d8f1c
/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
Packit Service 1d8f1c
/* vim:set et sts=4: */
Packit Service 1d8f1c
/* ibus - The Input Bus
Packit Service 1d8f1c
 * Copyright (C) 2008-2014 Peng Huang <shawn.p.huang@gmail.com>
rpm-build f3645b
 * Copyright (C) 2017-2018 Takao Fujiwara <takao.fujiwara1@gmail.com>
rpm-build f3645b
 * Copyright (C) 2008-2018 Red Hat, Inc.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * This library is free software; you can redistribute it and/or
Packit Service 1d8f1c
 * modify it under the terms of the GNU Lesser General Public
Packit Service 1d8f1c
 * License as published by the Free Software Foundation; either
Packit Service 1d8f1c
 * version 2.1 of the License, or (at your option) any later version.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * This library is distributed in the hope that it will be useful,
Packit Service 1d8f1c
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 1d8f1c
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service 1d8f1c
 * Lesser General Public License for more details.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * You should have received a copy of the GNU Lesser General Public
Packit Service 1d8f1c
 * License along with this library; if not, write to the Free Software
Packit Service 1d8f1c
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301
Packit Service 1d8f1c
 * USA
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
#ifndef __BUS_INPUT_CONTEXT_H_
Packit Service 1d8f1c
#define __BUS_INPUT_CONTEXT_H_
Packit Service 1d8f1c
Packit Service 1d8f1c
#include <ibus.h>
Packit Service 1d8f1c
Packit Service 1d8f1c
#include "connection.h"
Packit Service 1d8f1c
#include "factoryproxy.h"
Packit Service 1d8f1c
Packit Service 1d8f1c
#ifndef __BUS_PANEL_PROXY_DEFINED
Packit Service 1d8f1c
#define __BUS_PANEL_PROXY_DEFINED
Packit Service 1d8f1c
typedef struct _BusPanelProxy BusPanelProxy;
Packit Service 1d8f1c
#endif
Packit Service 1d8f1c
Packit Service 1d8f1c
/*
Packit Service 1d8f1c
 * Type macros.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
Packit Service 1d8f1c
/* define GOBJECT macros */
Packit Service 1d8f1c
#define BUS_TYPE_INPUT_CONTEXT                                  \
Packit Service 1d8f1c
    (bus_input_context_get_type ())
Packit Service 1d8f1c
#define BUS_INPUT_CONTEXT(obj)                                  \
Packit Service 1d8f1c
    (G_TYPE_CHECK_INSTANCE_CAST ((obj),                         \
Packit Service 1d8f1c
                                 BUS_TYPE_INPUT_CONTEXT,        \
Packit Service 1d8f1c
                                 BusInputContext))
Packit Service 1d8f1c
#define BUS_INPUT_CONTEXT_CLASS(klass)                          \
Packit Service 1d8f1c
    (G_TYPE_CHECK_CLASS_CAST ((klass),                          \
Packit Service 1d8f1c
                              BUS_TYPE_INPUT_CONTEXT,           \
Packit Service 1d8f1c
                              BusInputContextClass))
Packit Service 1d8f1c
#define BUS_IS_INPUT_CONTEXT(obj)                               \
Packit Service 1d8f1c
    (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUS_TYPE_INPUT_CONTEXT))
Packit Service 1d8f1c
#define BUS_IS_INPUT_CONTEXT_CLASS(klass)                       \
Packit Service 1d8f1c
    (G_TYPE_CHECK_CLASS_TYPE ((klass), BUS_TYPE_INPUT_CONTEXT))
Packit Service 1d8f1c
#define BUS_INPUT_CONTEXT_GET_CLASS(obj)                        \
Packit Service 1d8f1c
    (G_TYPE_INSTANCE_GET_CLASS ((obj),                          \
Packit Service 1d8f1c
                                BUS_TYPE_INPUT_CONTEXT,         \
Packit Service 1d8f1c
                                BusInputContextClass))
Packit Service 1d8f1c
Packit Service 1d8f1c
G_BEGIN_DECLS
Packit Service 1d8f1c
Packit Service 1d8f1c
typedef struct _BusInputContext BusInputContext;
Packit Service 1d8f1c
typedef struct _BusInputContextClass BusInputContextClass;
Packit Service 1d8f1c
Packit Service 1d8f1c
GType                bus_input_context_get_type (void);
Packit Service 1d8f1c
BusInputContext     *bus_input_context_new      (BusConnection      *connection,
Packit Service 1d8f1c
                                                 const gchar        *client);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * bus_input_context_focus_in:
Packit Service 1d8f1c
 * @context: A #BusInputContext.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Give a focus to the context. Call FocusIn, Enable, SetCapabilities,
Packit Service 1d8f1c
 * and SetCursorLocation methods of the engine for the context,
Packit Service 1d8f1c
 * and then emit glib signals to the context object. This function does
Packit Service 1d8f1c
 * nothing if the context already has a focus.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void                 bus_input_context_focus_in (BusInputContext    *context);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * bus_input_context_focus_out:
Packit Service 1d8f1c
 * @context: A #BusInputContext.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Remove a focus from the context. Call FocusOut method of the engine for
Packit Service 1d8f1c
 * the context.
Packit Service 1d8f1c
 * This function does nothing if the context does not have a focus.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void                 bus_input_context_focus_out
Packit Service 1d8f1c
                                                (BusInputContext    *context);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * bus_input_context_has_focus:
Packit Service 1d8f1c
 * @context: A #BusInputContext.
Packit Service 1d8f1c
 * @returns: context->has_focus.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
gboolean             bus_input_context_has_focus
Packit Service 1d8f1c
                                                (BusInputContext    *context);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * bus_input_context_enable:
Packit Service 1d8f1c
 * @context: A #BusInputContext.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Enable the current engine for the context. Request an engine (if needed),
Packit Service 1d8f1c
 * call FocusIn, Enable, SetCapabilities, and SetCursorLocation methods
Packit Service 1d8f1c
 * of the engine for the context, and then emit glib and D-Bus "enabled"
Packit Service 1d8f1c
 * signals.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void                 bus_input_context_enable   (BusInputContext    *context);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * bus_input_context_disable:
Packit Service 1d8f1c
 * @context: A #BusInputContext.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Disable the current engine for the context. Request an engine (if needed),
Packit Service 1d8f1c
 * call FocusIn, Enable, SetCapabilities, and SetCursorLocation methods
Packit Service 1d8f1c
 * of the engine for the context, and then emit glib and D-Bus "enabled"
Packit Service 1d8f1c
 * signals.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void                 bus_input_context_disable  (BusInputContext    *context);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * bus_input_context_page_up:
Packit Service 1d8f1c
 * @context: A #BusInputContext.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Call page_up method of the current engine proxy.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void                 bus_input_context_page_up  (BusInputContext    *context);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * bus_input_context_page_down:
Packit Service 1d8f1c
 * @context: A #BusInputContext.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Call page_down method of the current engine proxy.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void                 bus_input_context_page_down
Packit Service 1d8f1c
                                                (BusInputContext    *context);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * bus_input_context_cursor_up:
Packit Service 1d8f1c
 * @context: A #BusInputContext.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Call cursor_up method of the current engine proxy.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void                 bus_input_context_cursor_up
Packit Service 1d8f1c
                                                (BusInputContext    *context);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * bus_input_context_cursor_down:
Packit Service 1d8f1c
 * @context: A #BusInputContext.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Call cursor_down method of the current engine proxy.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void                 bus_input_context_cursor_down
Packit Service 1d8f1c
                                                (BusInputContext    *context);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * bus_input_context_candidate_clicked:
Packit Service 1d8f1c
 * @context: A #BusInputContext.
Packit Service 1d8f1c
 * @index: An index.
Packit Service 1d8f1c
 * @button: A button number.
Packit Service 1d8f1c
 * @state: A button state.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Call candidate_clicked method of the current engine proxy.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void                 bus_input_context_candidate_clicked
Packit Service 1d8f1c
                                                (BusInputContext    *context,
Packit Service 1d8f1c
                                                 guint               index,
Packit Service 1d8f1c
                                                 guint               button,
Packit Service 1d8f1c
                                                 guint               state);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * bus_input_context_set_engine:
Packit Service 1d8f1c
 * @context: A #BusInputContext.
Packit Service 1d8f1c
 * @engine: A #BusEngineProxy.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Use the engine on the context.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void                 bus_input_context_set_engine
Packit Service 1d8f1c
                                                (BusInputContext    *context,
Packit Service 1d8f1c
                                                 BusEngineProxy     *engine);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * bus_input_context_set_engine_by_desc:
Packit Service 1d8f1c
 * @context: A #BusInputContext.
Packit Service 1d8f1c
 * @desc: the engine to use on the context.
Packit Service 1d8f1c
 * @timeout: timeout (in ms) for D-Bus calls.
Packit Service 1d8f1c
 * @callback: a function to be called when bus_input_context_set_engine_by_desc
Packit Service 1d8f1c
 *            is finished. if NULL, the default callback
Packit Service 1d8f1c
 *            function, which just calls
Packit Service 1d8f1c
 *            bus_input_context_set_engine_by_desc_finish, is used.
Packit Service 1d8f1c
 * @user_data: an argument of @callback.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Create a new BusEngineProxy object and use it on the context.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void                 bus_input_context_set_engine_by_desc
Packit Service 1d8f1c
                                                (BusInputContext    *context,
Packit Service 1d8f1c
                                                 IBusEngineDesc     *desc,
Packit Service 1d8f1c
                                                 gint                timeout,
Packit Service 1d8f1c
                                                 GCancellable
Packit Service 1d8f1c
                                                                   *cancellable,
Packit Service 1d8f1c
                                                 GAsyncReadyCallback callback,
Packit Service 1d8f1c
                                                 gpointer            user_data);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * bus_input_context_set_engine_by_desc_finish:
Packit Service 1d8f1c
 * @context: A #BusInputContext.
Packit Service 1d8f1c
 * @res: A #GAsyncResult.
Packit Service 1d8f1c
 * @error: A #GError.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * A function to be called by the GAsyncReadyCallback function for
Packit Service 1d8f1c
 * bus_input_context_set_engine_by_desc.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
gboolean             bus_input_context_set_engine_by_desc_finish
Packit Service 1d8f1c
                                                (BusInputContext    *context,
Packit Service 1d8f1c
                                                 GAsyncResult       *res,
Packit Service 1d8f1c
                                                 GError            **error);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * bus_input_context_get_engine:
Packit Service 1d8f1c
 * @context: A #BusInputContext.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Get a BusEngineProxy object of the current engine.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
BusEngineProxy      *bus_input_context_get_engine
Packit Service 1d8f1c
                                                (BusInputContext    *context);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * bus_input_context_get_engine_desc:
Packit Service 1d8f1c
 * @context: A #BusInputContext.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Get an IBusEngineDesc object of the current engine.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
IBusEngineDesc      *bus_input_context_get_engine_desc
Packit Service 1d8f1c
                                                (BusInputContext    *context);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * bus_input_context_property_activate:
Packit Service 1d8f1c
 * @context: A #BusInputContext.
Packit Service 1d8f1c
 * @prop_name: A property name.
Packit Service 1d8f1c
 * @prop_state: A property state.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Call property_activate method of the current engine proxy.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void                 bus_input_context_property_activate
Packit Service 1d8f1c
                                                (BusInputContext    *context,
Packit Service 1d8f1c
                                                 const gchar        *prop_name,
Packit Service 1d8f1c
                                                 gint
Packit Service 1d8f1c
                                                                    prop_state);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * bus_input_context_get_capabilities:
Packit Service 1d8f1c
 * @context: A #BusInputContext.
Packit Service 1d8f1c
 * @returns: context->capabilities.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
guint                bus_input_context_get_capabilities
Packit Service 1d8f1c
                                                (BusInputContext    *context);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * bus_input_context_set_capabilities:
Packit Service 1d8f1c
 * @context: A #BusInputContext.
Packit Service 1d8f1c
 * @capabilities: capabilities.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Call set_capabilities method of the current engine proxy.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void                 bus_input_context_set_capabilities
Packit Service 1d8f1c
                                                (BusInputContext    *context,
Packit Service 1d8f1c
                                                 guint
Packit Service 1d8f1c
                                                                  capabilities);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * bus_input_context_get_client:
Packit Service 1d8f1c
 * @context: A #BusInputContext.
Packit Service 1d8f1c
 * @returns: context->client.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
const gchar         *bus_input_context_get_client
Packit Service 1d8f1c
                                                (BusInputContext    *context);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * bus_input_context_get_content_type:
Packit Service 1d8f1c
 * @context: A #BusInputContext.
Packit Service 1d8f1c
 * @purpose: Input purpose.
Packit Service 1d8f1c
 * @hints: Input hints.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void                 bus_input_context_get_content_type
Packit Service 1d8f1c
                                                (BusInputContext    *context,
Packit Service 1d8f1c
                                                 guint              *purpose,
Packit Service 1d8f1c
                                                 guint              *hints);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * bus_input_context_set_content_type:
Packit Service 1d8f1c
 * @context: A #BusInputContext.
Packit Service 1d8f1c
 * @purpose: Input purpose.
Packit Service 1d8f1c
 * @hints: Input hints.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void                 bus_input_context_set_content_type
Packit Service 1d8f1c
                                                (BusInputContext *context,
Packit Service 1d8f1c
                                                 guint            purpose,
Packit Service 1d8f1c
                                                 guint            hints);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * bus_input_context_commit_text:
Packit Service 1d8f1c
 * @context: A #BusInputContext.
Packit Service 1d8f1c
 * @text: A committed text.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void                 bus_input_context_commit_text
Packit Service 1d8f1c
                                                (BusInputContext *context,
Packit Service 1d8f1c
                                                 IBusText        *text);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * bus_input_context_commit_text:
Packit Service 1d8f1c
 * @context: A #BusInputContext.
Packit Service 1d8f1c
 * @text: A committed text.
Packit Service 1d8f1c
 * @use_extension: Use an extension if it's %TRUE and the extension is
Packit Service 1d8f1c
 *                 available.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void                 bus_input_context_commit_text_use_extension
Packit Service 1d8f1c
                                               (BusInputContext *context,
Packit Service 1d8f1c
                                                IBusText        *text,
Packit Service 1d8f1c
                                                gboolean         use_extension);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * bus_input_context_set_emoji_extension:
Packit Service 1d8f1c
 * @context: A #BusInputContext.
Packit Service 1d8f1c
 * @extension: A #BusPanelProxy.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void                 bus_input_context_set_emoji_extension
Packit Service 1d8f1c
                                                (BusInputContext *context,
Packit Service 1d8f1c
                                                 BusPanelProxy   *extension);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * bus_input_context_update_preedit_text:
Packit Service 1d8f1c
 * @context: A #BusInputContext.
Packit Service 1d8f1c
 * @text: An #IBusText.
Packit Service 1d8f1c
 * @cursor_pos: The cursor position.
Packit Service 1d8f1c
 * @visible: %TRUE if the preedit is visible. Otherwise %FALSE.
Packit Service 1d8f1c
 * @mode: The preedit commit mode.
Packit Service 1d8f1c
 * @use_extension: %TRUE if preedit text is sent to the extesion at first.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Update a preedit text. Send D-Bus signal to update status of client or
Packit Service 1d8f1c
 * send glib signal to the panel, depending on capabilities of the client.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void                 bus_input_context_update_preedit_text
Packit Service 1d8f1c
                                                (BusInputContext    *context,
Packit Service 1d8f1c
                                                 IBusText           *text,
Packit Service 1d8f1c
                                                 guint               cursor_pos,
Packit Service 1d8f1c
                                                 gboolean            visible,
Packit Service 1d8f1c
                                                 guint               mode,
Packit Service 1d8f1c
                                                 gboolean
Packit Service 1d8f1c
                                                                 use_extension);
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * bus_input_context_update_lookup_table:
Packit Service 1d8f1c
 * @context: A #BusInputContext.
Packit Service 1d8f1c
 * @table: An #IBusTable.
Packit Service 1d8f1c
 * @visible: %TRUE if the lookup table is visible. Otherwise %FALSE.
Packit Service 1d8f1c
 * @is_extension: %TRUE if the lookup table is created by panel extensions.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Update contents in the lookup table.
Packit Service 1d8f1c
 * Send D-Bus signal to update status of client or send glib signal to the
Packit Service 1d8f1c
 * panel, depending on capabilities of the client.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void                 bus_input_context_update_lookup_table
Packit Service 1d8f1c
                                                (BusInputContext    *context,
Packit Service 1d8f1c
                                                 IBusLookupTable    *table,
Packit Service 1d8f1c
                                                 gboolean            visible,
Packit Service 1d8f1c
                                                 gboolean
Packit Service 1d8f1c
                                                                  is_extension);
Packit Service 1d8f1c
Packit Service 1d8f1c
Packit Service 1d8f1c
/**
Packit Service 1d8f1c
 * bus_input_context_panel_extension_received:
Packit Service 1d8f1c
 * @context: A #BusInputContext.
Packit Service 1d8f1c
 * @event: An #IBusExtensionEvent.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Send An #IBusExtensionEvent callback from an extension.
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
void                 bus_input_context_panel_extension_received
Packit Service 1d8f1c
                                                (BusInputContext    *context,
Packit Service 1d8f1c
                                                 IBusExtensionEvent *event);
rpm-build f3645b
rpm-build f3645b
/**
rpm-build f3645b
 * bus_input_context_clear_preedit_text:
rpm-build f3645b
 *
rpm-build f3645b
 * Clear context->preedit_text. If the preedit mode is
rpm-build f3645b
 * IBUS_ENGINE_PREEDIT_COMMIT and with_signal is %TRUE, commit it before
rpm-build f3645b
 * clearing.
rpm-build f3645b
 * If with_signal is %FALSE, this just clears the preedit coditions
rpm-build f3645b
 * and the actual preedit is handled in ibus clients.
rpm-build f3645b
 */
rpm-build f3645b
void                 bus_input_context_clear_preedit_text
rpm-build f3645b
                                                (BusInputContext    *context,
rpm-build f3645b
                                                 gboolean
rpm-build f3645b
                                                                   with_signal);
rpm-build f3645b
Packit Service 1d8f1c
G_END_DECLS
Packit Service 1d8f1c
#endif