JULEA
jitem-internal.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_ITEM_ITEM_INTERNAL_H
24 #define JULEA_ITEM_ITEM_INTERNAL_H
25 
26 #if !defined(JULEA_ITEM_H) && !defined(JULEA_ITEM_COMPILATION)
27 #error "Only <julea-item.h> can be included directly."
28 #endif
29 
30 #include <glib.h>
31 
32 #include <bson.h>
33 
34 #include <julea.h>
35 
36 #include <item/jcollection.h>
37 #include <item/jitem.h>
38 
39 G_BEGIN_DECLS
40 
63 G_GNUC_INTERNAL JItem* j_item_new(JCollection* collection, gchar const* name, JDistribution* distribution);
64 
78 G_GNUC_INTERNAL JItem* j_item_new_from_bson(JCollection* collection, bson_t const* b);
79 
92 G_GNUC_INTERNAL JCollection* j_item_get_collection(JItem* item);
93 
107 G_GNUC_INTERNAL bson_t* j_item_serialize(JItem* item, JSemantics* semantics);
108 
120 G_GNUC_INTERNAL void j_item_deserialize(JItem* item, bson_t const* b);
121 
134 G_GNUC_INTERNAL bson_oid_t const* j_item_get_id(JItem* item);
135 
145 G_GNUC_INTERNAL void j_item_set_modification_time(JItem* item, gint64 modification_time);
146 
156 G_GNUC_INTERNAL void j_item_set_size(JItem* item, guint64 size);
157 
162 G_END_DECLS
163 
164 #endif
G_GNUC_INTERNAL void j_item_set_size(JItem *item, guint64 size)
Definition: jitem.c:563
G_GNUC_INTERNAL void j_item_set_modification_time(JItem *item, gint64 modification_time)
Definition: jitem.c:552
Definition: jcollection.c:48
Definition: jdistribution.c:48
Definition: jitem.c:59
Definition: jsemantics.c:42