girara
template.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: Zlib */
2 
3 #ifndef GIRARA_TEMPLATE_H
4 #define GIRARA_TEMPLATE_H
5 
6 #include <glib-object.h>
7 #include "macros.h"
8 #include "types.h"
9 
11  GObject parent;
12 };
13 
15  GObjectClass parent_class;
16 
17  void (*base_changed)(GiraraTemplate*);
18  void (*variable_changed)(GiraraTemplate*, const char* name);
19  void (*changed)(GiraraTemplate*);
20 };
21 
22 #define GIRARA_TYPE_TEMPLATE \
23  (girara_template_get_type())
24 #define GIRARA_TEMPLATE(obj) \
25  (G_TYPE_CHECK_INSTANCE_CAST((obj), GIRARA_TYPE_TEMPLATE, GiraraTemplate))
26 #define GIRARA_TEMPLATE_CLASS(obj) \
27  (G_TYPE_CHECK_CLASS_CAST((obj), GIRARA_TYPE_TEMPLATE, GiraraTemplateClass))
28 #define GIRARA_IS_TEMPLATE(obj) \
29  (G_TYPE_CHECK_INSTANCE_TYPE((obj), GIRARA_TYPE_TEMPLATE))
30 #define GIRARA_IS_TEMPLATE_CLASS(obj) \
31  (G_TYPE_CHECK_CLASS_TYPE((obj), GIRARA_TYPE_TEMPLATE))
32 #define GIRARA_TEMPLATE_GET_CLASS(obj) \
33  (G_TYPE_INSTANCE_GET_CLASS((obj), GIRARA_TYPE_TEMPLATE, GiraraTemplateClass))
34 
40 GType girara_template_get_type(void) G_GNUC_CONST GIRARA_VISIBLE;
41 
48 GiraraTemplate* girara_template_new(const char* base) GIRARA_VISIBLE;
49 
56 void girara_template_set_base(GiraraTemplate* object, const char* base) GIRARA_VISIBLE;
57 
64 const char* girara_template_get_base(GiraraTemplate* object) GIRARA_VISIBLE;
65 
73 
81 bool girara_template_add_variable(GiraraTemplate* object, const char* name) GIRARA_VISIBLE;
82 
90 void girara_template_set_variable_value(GiraraTemplate* object, const char* name, const char* value) GIRARA_VISIBLE;
91 
98 char* girara_template_evaluate(GiraraTemplate* object) GIRARA_VISIBLE;
99 
100 #endif
GIRARA_VISIBLE
#define GIRARA_VISIBLE
Definition: macros.h:54
types.h
girara_template_class_s::base_changed
void(* base_changed)(GiraraTemplate *)
Definition: template.h:17
girara_template_class_s::variable_changed
void(* variable_changed)(GiraraTemplate *, const char *name)
Definition: template.h:18
girara_template_referenced_variables
girara_list_t * girara_template_referenced_variables(GiraraTemplate *object) GIRARA_VISIBLE
girara_template_class_s
Definition: template.h:14
macros.h
girara_template_s::parent
GObject parent
Definition: template.h:11
girara_template_set_variable_value
void girara_template_set_variable_value(GiraraTemplate *object, const char *name, const char *value) GIRARA_VISIBLE
girara_template_set_base
void girara_template_set_base(GiraraTemplate *object, const char *base) GIRARA_VISIBLE
girara_template_s
Definition: template.h:10
girara_template_add_variable
bool girara_template_add_variable(GiraraTemplate *object, const char *name) GIRARA_VISIBLE
girara_template_get_base
const char * girara_template_get_base(GiraraTemplate *object) GIRARA_VISIBLE
girara_template_class_s::changed
void(* changed)(GiraraTemplate *)
Definition: template.h:19
girara_template_class_s::parent_class
GObjectClass parent_class
Definition: template.h:15
girara_list_t
struct girara_list_s girara_list_t
Definition: types.h:10
girara_template_new
GiraraTemplate * girara_template_new(const char *base) GIRARA_VISIBLE
girara_template_evaluate
char * girara_template_evaluate(GiraraTemplate *object) GIRARA_VISIBLE
girara_template_get_type
GType girara_template_get_type(void) G_GNUC_CONST GIRARA_VISIBLE