mirror of https://gitee.com/openkylin/glib2.0.git
84 lines
2.4 KiB
C
84 lines
2.4 KiB
C
|
/* gpathbuf.h: A mutable path builder
|
||
|
*
|
||
|
* SPDX-FileCopyrightText: 2023 Emmanuele Bassi
|
||
|
* SPDX-License-Identifier: LGPL-2.1-or-later
|
||
|
*/
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)
|
||
|
#error "Only <glib.h> can be included directly."
|
||
|
#endif
|
||
|
|
||
|
#include <glib/gtypes.h>
|
||
|
|
||
|
G_BEGIN_DECLS
|
||
|
|
||
|
typedef struct _GPathBuf GPathBuf;
|
||
|
|
||
|
struct _GPathBuf
|
||
|
{
|
||
|
/*< private >*/
|
||
|
gpointer dummy[8];
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* G_PATH_BUF_INIT:
|
||
|
*
|
||
|
* Initializes a #GPathBuf on the stack.
|
||
|
*
|
||
|
* A stack-allocated `GPathBuf` must be initialized if it is used
|
||
|
* together with g_auto() to avoid warnings and crashes if the
|
||
|
* function returns before calling g_path_buf_init().
|
||
|
*
|
||
|
* |[<!-- language="C" -->
|
||
|
* g_auto (GPathBuf) buf = G_PATH_BUF_INIT;
|
||
|
* ]|
|
||
|
*
|
||
|
* Since: 2.76
|
||
|
*/
|
||
|
#define G_PATH_BUF_INIT { { NULL, } } \
|
||
|
GLIB_AVAILABLE_MACRO_IN_2_76
|
||
|
|
||
|
GLIB_AVAILABLE_IN_2_76
|
||
|
GPathBuf * g_path_buf_new (void);
|
||
|
GLIB_AVAILABLE_IN_2_76
|
||
|
GPathBuf * g_path_buf_new_from_path (const char *path);
|
||
|
GLIB_AVAILABLE_IN_2_76
|
||
|
GPathBuf * g_path_buf_init (GPathBuf *buf);
|
||
|
GLIB_AVAILABLE_IN_2_76
|
||
|
GPathBuf * g_path_buf_init_from_path (GPathBuf *buf,
|
||
|
const char *path);
|
||
|
GLIB_AVAILABLE_IN_2_76
|
||
|
void g_path_buf_clear (GPathBuf *buf);
|
||
|
GLIB_AVAILABLE_IN_2_76
|
||
|
char * g_path_buf_clear_to_path (GPathBuf *buf) G_GNUC_WARN_UNUSED_RESULT;
|
||
|
GLIB_AVAILABLE_IN_2_76
|
||
|
void g_path_buf_free (GPathBuf *buf);
|
||
|
GLIB_AVAILABLE_IN_2_76
|
||
|
char * g_path_buf_free_to_path (GPathBuf *buf) G_GNUC_WARN_UNUSED_RESULT;
|
||
|
GLIB_AVAILABLE_IN_2_76
|
||
|
GPathBuf * g_path_buf_copy (GPathBuf *buf);
|
||
|
|
||
|
GLIB_AVAILABLE_IN_2_76
|
||
|
GPathBuf * g_path_buf_push (GPathBuf *buf,
|
||
|
const char *path);
|
||
|
GLIB_AVAILABLE_IN_2_76
|
||
|
gboolean g_path_buf_pop (GPathBuf *buf);
|
||
|
|
||
|
GLIB_AVAILABLE_IN_2_76
|
||
|
gboolean g_path_buf_set_filename (GPathBuf *buf,
|
||
|
const char *file_name);
|
||
|
GLIB_AVAILABLE_IN_2_76
|
||
|
gboolean g_path_buf_set_extension (GPathBuf *buf,
|
||
|
const char *extension);
|
||
|
|
||
|
GLIB_AVAILABLE_IN_2_76
|
||
|
char * g_path_buf_to_path (GPathBuf *buf) G_GNUC_WARN_UNUSED_RESULT;
|
||
|
|
||
|
GLIB_AVAILABLE_IN_2_76
|
||
|
gboolean g_path_buf_equal (gconstpointer v1,
|
||
|
gconstpointer v2);
|
||
|
|
||
|
G_END_DECLS
|