JULEA
Loading...
Searching...
No Matches
jsemantics.h
Go to the documentation of this file.
1/*
2 * JULEA - Flexible storage framework
3 * Copyright (C) 2010-2024 Michael Kuhn
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU Lesser General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
23#ifndef JULEA_SEMANTICS_H
24#define JULEA_SEMANTICS_H
25
26#if !defined(JULEA_H) && !defined(JULEA_COMPILATION)
27#error "Only <julea.h> can be included directly."
28#endif
29
30#include <glib.h>
31
32G_BEGIN_DECLS
33
46
48
78
80
107
109
140
142
163
165
176
178
179struct JSemantics;
180
181typedef struct JSemantics JSemantics;
182
194
210JSemantics* j_semantics_new_from_string(gchar const* template_str, gchar const* semantics_str);
211
224
234void j_semantics_unref(JSemantics* semantics);
235
236G_DEFINE_AUTOPTR_CLEANUP_FUNC(JSemantics, j_semantics_unref)
237
238
251void j_semantics_set(JSemantics* semantics, JSemanticsType key, gint value);
252
267gint j_semantics_get(JSemantics* semantics, JSemanticsType key);
268
273G_END_DECLS
274
275#endif
void j_semantics_unref(JSemantics *semantics)
Definition jsemantics.c:253
JSemanticsAtomicity
Definition jsemantics.h:87
JSemanticsType
Definition jsemantics.h:53
JSemanticsTemplate
Definition jsemantics.h:41
JSemanticsConsistency
Definition jsemantics.h:122
void j_semantics_set(JSemantics *semantics, JSemanticsType key, gint value)
Definition jsemantics.c:266
JSemantics * j_semantics_new_from_string(gchar const *template_str, gchar const *semantics_str)
Definition jsemantics.c:110
JSemantics * j_semantics_new(JSemanticsTemplate template_)
Definition jsemantics.c:72
JSemanticsSecurity
Definition jsemantics.h:172
JSemantics * j_semantics_ref(JSemantics *semantics)
Definition jsemantics.c:236
JSemanticsPersistency
Definition jsemantics.h:147
gint j_semantics_get(JSemantics *semantics, JSemanticsType key)
Definition jsemantics.c:293
@ J_SEMANTICS_ATOMICITY_BATCH
Definition jsemantics.h:93
@ J_SEMANTICS_ATOMICITY_NONE
Definition jsemantics.h:105
@ J_SEMANTICS_ATOMICITY_OPERATION
Definition jsemantics.h:98
@ J_SEMANTICS_SECURITY
Definition jsemantics.h:76
@ J_SEMANTICS_PERSISTENCY
Definition jsemantics.h:69
@ J_SEMANTICS_ATOMICITY
Definition jsemantics.h:59
@ J_SEMANTICS_CONSISTENCY
Definition jsemantics.h:64
@ J_SEMANTICS_TEMPLATE_POSIX
Definition jsemantics.h:43
@ J_SEMANTICS_TEMPLATE_DEFAULT
Definition jsemantics.h:42
@ J_SEMANTICS_TEMPLATE_TEMPORARY_LOCAL
Definition jsemantics.h:44
@ J_SEMANTICS_CONSISTENCY_EVENTUAL
Definition jsemantics.h:138
@ J_SEMANTICS_CONSISTENCY_IMMEDIATE
Definition jsemantics.h:126
@ J_SEMANTICS_CONSISTENCY_SESSION
Definition jsemantics.h:131
@ J_SEMANTICS_SECURITY_NONE
Definition jsemantics.h:174
@ J_SEMANTICS_SECURITY_STRICT
Definition jsemantics.h:173
@ J_SEMANTICS_PERSISTENCY_STORAGE
Definition jsemantics.h:151
@ J_SEMANTICS_PERSISTENCY_NONE
Definition jsemantics.h:161
@ J_SEMANTICS_PERSISTENCY_NETWORK
Definition jsemantics.h:156
Definition jsemantics.c:42