PIKApp/libpikabase/pikautils.h

97 lines
5.6 KiB
C

/* LIBPIKA - The PIKA Library
* Copyright (C) 1995-1997 Peter Mattis and Spencer Kimball
*
* This library is free software: you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* This library 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <https://www.gnu.org/licenses/>.
*/
#if !defined (__PIKA_BASE_H_INSIDE__) && !defined (PIKA_BASE_COMPILATION)
#error "Only <libpikabase/pikabase.h> can be included directly."
#endif
#ifndef __PIKA_UTILS_H__
#define __PIKA_UTILS_H__
G_BEGIN_DECLS
gchar * pika_utf8_strtrim (const gchar *str,
gint max_chars) G_GNUC_MALLOC;
gchar * pika_any_to_utf8 (const gchar *str,
gssize len,
const gchar *warning_format,
...) G_GNUC_PRINTF (3, 4) G_GNUC_MALLOC;
const gchar * pika_filename_to_utf8 (const gchar *filename);
const gchar * pika_file_get_utf8_name (GFile *file);
gboolean pika_file_has_extension (GFile *file,
const gchar *extension);
gboolean pika_file_show_in_file_manager (GFile *file,
GError **error);
gchar * pika_strip_uline (const gchar *str) G_GNUC_MALLOC;
gchar * pika_escape_uline (const gchar *str) G_GNUC_MALLOC;
gboolean pika_is_canonical_identifier (const gchar *identifier);
gchar * pika_canonicalize_identifier (const gchar *identifier) G_GNUC_MALLOC;
const PikaEnumDesc * pika_enum_get_desc (GEnumClass *enum_class,
gint value);
gboolean pika_enum_get_value (GType enum_type,
gint value,
const gchar **value_name,
const gchar **value_nick,
const gchar **value_desc,
const gchar **value_help);
const gchar * pika_enum_value_get_desc (GEnumClass *enum_class,
const GEnumValue *enum_value);
const gchar * pika_enum_value_get_help (GEnumClass *enum_class,
const GEnumValue *enum_value);
const gchar * pika_enum_value_get_abbrev (GEnumClass *enum_class,
const GEnumValue *enum_value);
const PikaFlagsDesc * pika_flags_get_first_desc (GFlagsClass *flags_class,
guint value);
gboolean pika_flags_get_first_value (GType flags_type,
guint value,
const gchar **value_name,
const gchar **value_nick,
const gchar **value_desc,
const gchar **value_help);
const gchar * pika_flags_value_get_desc (GFlagsClass *flags_class,
const GFlagsValue *flags_value);
const gchar * pika_flags_value_get_help (GFlagsClass *flags_class,
const GFlagsValue *flags_value);
const gchar * pika_flags_value_get_abbrev (GFlagsClass *flags_class,
const GFlagsValue *flags_value);
gboolean pika_stack_trace_available (gboolean optimal);
gboolean pika_stack_trace_print (const gchar *prog_name,
gpointer stream,
gchar **trace);
void pika_stack_trace_query (const gchar *prog_name);
void pika_range_estimate_settings (gdouble lower,
gdouble upper,
gdouble *step,
gdouble *page,
gint *digits);
void pika_bind_text_domain (const gchar *domain_name,
const gchar *dir_name);
G_END_DECLS
#endif /* __PIKA_UTILS_H__ */