|
Packit Service |
1d8f1c |
/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
|
|
Packit Service |
1d8f1c |
/* vim:set et sts=4: */
|
|
Packit Service |
1d8f1c |
/* bus - The Input Bus
|
|
Packit Service |
1d8f1c |
* Copyright (C) 2008-2015 Peng Huang <shawn.p.huang@gmail.com>
|
|
Packit Service |
1d8f1c |
* Copyright (C) 2008-2015 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 |
|
|
Packit Service |
1d8f1c |
#if !defined (__IBUS_H_INSIDE__) && !defined (IBUS_COMPILATION)
|
|
Packit Service |
1d8f1c |
#error "Only <ibus.h> can be included directly"
|
|
Packit Service |
1d8f1c |
#endif
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
#ifndef __IBUS_COMPONENT_H_
|
|
Packit Service |
1d8f1c |
#define __IBUS_COMPONENT_H_
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/**
|
|
Packit Service |
1d8f1c |
* SECTION: ibuscomponent
|
|
Packit Service |
1d8f1c |
* @short_description: Component (executable) specification.
|
|
Packit Service |
1d8f1c |
* @title: IBusComponent
|
|
Packit Service |
1d8f1c |
* @stability: Stable
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* An IBusComponent is an executable program.
|
|
Packit Service |
1d8f1c |
* It provides services such as user interface, configuration,
|
|
Packit Service |
1d8f1c |
* and input method engine (IME).
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* It is recommended that IME developers provide
|
|
Packit Service |
1d8f1c |
* a component XML file and
|
|
Packit Service |
1d8f1c |
* load the XML file by ibus_component_new_from_file().
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* The format of a component XML file is described at
|
|
Packit Service |
1d8f1c |
* <ulink url="https://github.com/ibus/ibus/wiki/DevXML">https://github.com/ibus/ibus/wiki/DevXML</ulink>
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
#include "ibusserializable.h"
|
|
Packit Service |
1d8f1c |
#include "ibusobservedpath.h"
|
|
Packit Service |
1d8f1c |
#include "ibusenginedesc.h"
|
|
Packit Service |
1d8f1c |
#include "ibusxml.h"
|
|
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 IBUS_TYPE_COMPONENT \
|
|
Packit Service |
1d8f1c |
(ibus_component_get_type ())
|
|
Packit Service |
1d8f1c |
#define IBUS_COMPONENT(obj) \
|
|
Packit Service |
1d8f1c |
(G_TYPE_CHECK_INSTANCE_CAST ((obj), IBUS_TYPE_COMPONENT, IBusComponent))
|
|
Packit Service |
1d8f1c |
#define IBUS_COMPONENT_CLASS(klass) \
|
|
Packit Service |
1d8f1c |
(G_TYPE_CHECK_CLASS_CAST ((klass), IBUS_TYPE_COMPONENT, IBusComponentClass))
|
|
Packit Service |
1d8f1c |
#define IBUS_IS_COMPONENT(obj) \
|
|
Packit Service |
1d8f1c |
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), IBUS_TYPE_COMPONENT))
|
|
Packit Service |
1d8f1c |
#define IBUS_IS_COMPONENT_CLASS(klass) \
|
|
Packit Service |
1d8f1c |
(G_TYPE_CHECK_CLASS_TYPE ((klass), IBUS_TYPE_COMPONENT))
|
|
Packit Service |
1d8f1c |
#define IBUS_COMPONENT_GET_CLASS(obj) \
|
|
Packit Service |
1d8f1c |
(G_TYPE_INSTANCE_GET_CLASS ((obj), IBUS_TYPE_COMPONENT, IBusComponentClass))
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
G_BEGIN_DECLS
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
typedef struct _IBusComponent IBusComponent;
|
|
Packit Service |
1d8f1c |
typedef struct _IBusComponentClass IBusComponentClass;
|
|
Packit Service |
1d8f1c |
typedef struct _IBusComponentPrivate IBusComponentPrivate;
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/**
|
|
Packit Service |
1d8f1c |
* IBusComponent:
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* An IBusComponent stores component information.
|
|
Packit Service |
1d8f1c |
* You can get extended values with g_object_get_properties.
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
struct _IBusComponent {
|
|
Packit Service |
1d8f1c |
/*< private >*/
|
|
Packit Service |
1d8f1c |
IBusSerializable parent;
|
|
Packit Service |
1d8f1c |
IBusComponentPrivate *priv;
|
|
Packit Service |
1d8f1c |
/* instance members */
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/*< public >*/
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/*< private >*/
|
|
Packit Service |
1d8f1c |
/* padding */
|
|
Packit Service |
1d8f1c |
gpointer pdummy[7]; // We can add 7 pointers without breaking the ABI.
|
|
Packit Service |
1d8f1c |
};
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
struct _IBusComponentClass {
|
|
Packit Service |
1d8f1c |
IBusSerializableClass parent;
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/* class members */
|
|
Packit Service |
1d8f1c |
};
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
GType ibus_component_get_type (void);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/**
|
|
Packit Service |
1d8f1c |
* ibus_component_new:
|
|
Packit Service |
1d8f1c |
* @name: Name of the component.
|
|
Packit Service |
1d8f1c |
* @description: Detailed description of component.
|
|
Packit Service |
1d8f1c |
* @version: Component version.
|
|
Packit Service |
1d8f1c |
* @license: Distribution license of this component.
|
|
Packit Service |
1d8f1c |
* @author: Author(s) of the component.
|
|
Packit Service |
1d8f1c |
* @homepage: Homepage of the component.
|
|
Packit Service |
1d8f1c |
* @command_line: path to component executable.
|
|
Packit Service |
1d8f1c |
* @textdomain: Domain name for dgettext()
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Creates a new #IBusComponent.
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Returns: A newly allocated #IBusComponent.
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
IBusComponent *ibus_component_new (const gchar *name,
|
|
Packit Service |
1d8f1c |
const gchar *description,
|
|
Packit Service |
1d8f1c |
const gchar *version,
|
|
Packit Service |
1d8f1c |
const gchar *license,
|
|
Packit Service |
1d8f1c |
const gchar *author,
|
|
Packit Service |
1d8f1c |
const gchar *homepage,
|
|
Packit Service |
1d8f1c |
const gchar *command_line,
|
|
Packit Service |
1d8f1c |
const gchar *textdomain);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/**
|
|
Packit Service |
1d8f1c |
* ibus_component_new_varargs:
|
|
Packit Service |
1d8f1c |
* @first_property_name: Name of the first property.
|
|
Packit Service |
1d8f1c |
* @...: the NULL-terminated arguments of the properties and values.
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Creates a new #IBusComponent.
|
|
Packit Service |
1d8f1c |
* ibus_component_new_varargs() supports the va_list format.
|
|
Packit Service |
1d8f1c |
* name property is required. e.g.
|
|
Packit Service |
1d8f1c |
* IBusComponent *component = ibus_component_new_varargs ("name", "ibus-foo",
|
|
Packit Service |
1d8f1c |
* "command_line", "/usr/libexec/ibus-engine-foo --ibus",
|
|
Packit Service |
1d8f1c |
* NULL)
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Returns: A newly allocated #IBusComponent.
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
IBusComponent *ibus_component_new_varargs (const gchar *first_property_name,
|
|
Packit Service |
1d8f1c |
...);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/**
|
|
Packit Service |
1d8f1c |
* ibus_component_new_from_xml_node:
|
|
Packit Service |
1d8f1c |
* @node: Root node of component XML tree.
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Creates a new #IBusComponent from an XML tree.
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Returns: A newly allocated #IBusComponent.
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
IBusComponent *ibus_component_new_from_xml_node
|
|
Packit Service |
1d8f1c |
(XMLNode *node);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/**
|
|
Packit Service |
1d8f1c |
* ibus_component_new_from_file:
|
|
Packit Service |
1d8f1c |
* @filename: An XML file that contains component information.
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Creates a new #IBusComponent from an XML file.
|
|
Packit Service |
1d8f1c |
* Note that a component file usually contains engine descriptions,
|
|
Packit Service |
1d8f1c |
* if it does, ibus_engine_desc_new_from_xml_node() will be called
|
|
Packit Service |
1d8f1c |
* to load the engine descriptions.
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Returns: A newly allocated #IBusComponent.
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
IBusComponent *ibus_component_new_from_file (const gchar *filename);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/**
|
|
Packit Service |
1d8f1c |
* ibus_component_get_name:
|
|
Packit Service |
1d8f1c |
* @component: An #IBusComponent
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Gets the name property in #IBusComponent. It should not be freed.
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Returns: name property in #IBusComponent
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
const gchar *ibus_component_get_name (IBusComponent *component);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/**
|
|
Packit Service |
1d8f1c |
* ibus_component_get_description:
|
|
Packit Service |
1d8f1c |
* @component: An #IBusComponent
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Gets the description property in #IBusComponent. It should not be freed.
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Returns: description property in #IBusComponent
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
const gchar *ibus_component_get_description (IBusComponent *component);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/**
|
|
Packit Service |
1d8f1c |
* ibus_component_get_version:
|
|
Packit Service |
1d8f1c |
* @component: An #IBusComponent
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Gets the version property in #IBusComponent. It should not be freed.
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Returns: version property in #IBusComponent
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
const gchar *ibus_component_get_version (IBusComponent *component);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/**
|
|
Packit Service |
1d8f1c |
* ibus_component_get_license:
|
|
Packit Service |
1d8f1c |
* @component: An #IBusComponent
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Gets the license property in #IBusComponent. It should not be freed.
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Returns: license property in #IBusComponent
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
const gchar *ibus_component_get_license (IBusComponent *component);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/**
|
|
Packit Service |
1d8f1c |
* ibus_component_get_author:
|
|
Packit Service |
1d8f1c |
* @component: An #IBusComponent
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Gets the author property in #IBusComponent. It should not be freed.
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Returns: author property in #IBusComponent
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
const gchar *ibus_component_get_author (IBusComponent *component);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/**
|
|
Packit Service |
1d8f1c |
* ibus_component_get_homepage:
|
|
Packit Service |
1d8f1c |
* @component: An #IBusComponent
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Gets the homepage property in #IBusComponent. It should not be freed.
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Returns: homepage property in #IBusComponent
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
const gchar *ibus_component_get_homepage (IBusComponent *component);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/**
|
|
Packit Service |
1d8f1c |
* ibus_component_get_exec:
|
|
Packit Service |
1d8f1c |
* @component: An #IBusComponent
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Gets the exec property in #IBusComponent. It should not be freed.
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Returns: exec property in #IBusComponent
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
const gchar *ibus_component_get_exec (IBusComponent *component);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/**
|
|
Packit Service |
1d8f1c |
* ibus_component_get_textdomain:
|
|
Packit Service |
1d8f1c |
* @component: An #IBusComponent
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Gets the textdomain property in #IBusComponent. It should not be freed.
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Returns: textdomain property in #IBusComponent
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
const gchar *ibus_component_get_textdomain (IBusComponent *component);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/**
|
|
Packit Service |
1d8f1c |
* ibus_component_add_observed_path:
|
|
Packit Service |
1d8f1c |
* @component: An #IBusComponent
|
|
Packit Service |
1d8f1c |
* @path: Observed path to be added.
|
|
Packit Service |
1d8f1c |
* @access_fs: %TRUE for filling the file status; %FALSE otherwise.
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Add an observed path to #IBusComponent.
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
void ibus_component_add_observed_path
|
|
Packit Service |
1d8f1c |
(IBusComponent *component,
|
|
Packit Service |
1d8f1c |
const gchar *path,
|
|
Packit Service |
1d8f1c |
gboolean access_fs);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/**
|
|
Packit Service |
1d8f1c |
* ibus_component_add_engine:
|
|
Packit Service |
1d8f1c |
* @component: An #IBusComponent
|
|
Packit Service |
1d8f1c |
* @engine: A description of an engine.
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Add an engine to #IBusComponent according to the description in @engine.
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
void ibus_component_add_engine (IBusComponent *component,
|
|
Packit Service |
1d8f1c |
IBusEngineDesc *engine);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/**
|
|
Packit Service |
1d8f1c |
* ibus_component_get_engines:
|
|
Packit Service |
1d8f1c |
* @component: An #IBusComponent.
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Gets the engines of this component.
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Returns: (transfer container) (element-type IBusEngineDesc):
|
|
Packit Service |
1d8f1c |
* A newly allocated GList that contains engines.
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
GList *ibus_component_get_engines (IBusComponent *component);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/**
|
|
Packit Service |
1d8f1c |
* ibus_component_output:
|
|
Packit Service |
1d8f1c |
* @component: An #IBusComponent.
|
|
Packit Service |
1d8f1c |
* @output: GString that holds the result.
|
|
Packit Service |
1d8f1c |
* @indent: level of indent.
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Output #IBusComponent as an XML-formatted string.
|
|
Packit Service |
1d8f1c |
* The output string can be then shown on the screen or written to file.
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
void ibus_component_output (IBusComponent *component,
|
|
Packit Service |
1d8f1c |
GString *output,
|
|
Packit Service |
1d8f1c |
gint indent);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/**
|
|
Packit Service |
1d8f1c |
* ibus_component_output_engines:
|
|
Packit Service |
1d8f1c |
* @component: An #IBusComponent.
|
|
Packit Service |
1d8f1c |
* @output: GString that holds the result.
|
|
Packit Service |
1d8f1c |
* @indent: level of indent.
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Output engine description as an XML-formatted string.
|
|
Packit Service |
1d8f1c |
* The output string can be then shown on the screen or written to file.
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
void ibus_component_output_engines (IBusComponent *component,
|
|
Packit Service |
1d8f1c |
GString *output,
|
|
Packit Service |
1d8f1c |
gint indent);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/**
|
|
Packit Service |
1d8f1c |
* ibus_component_check_modification:
|
|
Packit Service |
1d8f1c |
* @component: An #IBusComponent.
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Check whether the observed paths of component is modified.
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Returns: %TRUE if at least one of the observed paths is modified;
|
|
Packit Service |
1d8f1c |
* %FALSE otherwise.
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
gboolean ibus_component_check_modification
|
|
Packit Service |
1d8f1c |
(IBusComponent *component);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/**
|
|
Packit Service |
1d8f1c |
* ibus_component_get_observed_paths:
|
|
Packit Service |
1d8f1c |
* @component: An #IBusComponent.
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Gets the observed paths of this component.
|
|
Packit Service |
1d8f1c |
*
|
|
Packit Service |
1d8f1c |
* Returns: (transfer container) (element-type IBusObservedPath): A
|
|
Packit Service |
1d8f1c |
* newly allocated GList that contains observed paths.
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
GList *ibus_component_get_observed_paths
|
|
Packit Service |
1d8f1c |
(IBusComponent *component);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
G_END_DECLS
|
|
Packit Service |
1d8f1c |
#endif
|
|
Packit Service |
1d8f1c |
|