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
GObject parent
Definition: template.h:11
girara_list_t * girara_template_referenced_variables(GiraraTemplate *object) GIRARA_VISIBLE
void(* base_changed)(GiraraTemplate *)
Definition: template.h:17
bool girara_template_add_variable(GiraraTemplate *object, const char *name) GIRARA_VISIBLE
GType girara_template_get_type(void) G_GNUC_CONST GIRARA_VISIBLE
char * girara_template_evaluate(GiraraTemplate *object) GIRARA_VISIBLE
void(* changed)(GiraraTemplate *)
Definition: template.h:19
void(* variable_changed)(GiraraTemplate *, const char *name)
Definition: template.h:18
#define GIRARA_VISIBLE
Definition: macros.h:47
void girara_template_set_base(GiraraTemplate *object, const char *base) GIRARA_VISIBLE
GObjectClass parent_class
Definition: template.h:15
void girara_template_set_variable_value(GiraraTemplate *object, const char *name, const char *value) GIRARA_VISIBLE
const char * girara_template_get_base(GiraraTemplate *object) GIRARA_VISIBLE
struct girara_list_s girara_list_t
Definition: types.h:10
GiraraTemplate * girara_template_new(const char *base) GIRARA_VISIBLE