JULEA
jobject-uri.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_OBJECT_OBJECT_URI_H
24 #define JULEA_OBJECT_OBJECT_URI_H
25 
26 #if !defined(JULEA_OBJECT_H) && !defined(JULEA_OBJECT_COMPILATION)
27 #error "Only <julea-object.h> can be included directly."
28 #endif
29 
30 #include <glib.h>
31 
32 G_BEGIN_DECLS
33 
41 {
42  // object://index/namespace
44  // object://index/namespace/object
46  // dobject://namespace
48  // dobject://namespace/object
50 };
51 
53 
54 struct JObjectURI;
55 
56 typedef struct JObjectURI JObjectURI;
57 
58 G_END_DECLS
59 
61 #include <object/jobject.h>
62 
63 G_BEGIN_DECLS
64 
80 
94 void j_object_uri_free(JObjectURI* uri);
95 
96 G_DEFINE_AUTOPTR_CLEANUP_FUNC(JObjectURI, j_object_uri_free)
97 
98 
113 guint32 j_object_uri_get_index(JObjectURI* uri);
114 
130 gchar const* j_object_uri_get_namespace(JObjectURI* uri);
131 
147 gchar const* j_object_uri_get_name(JObjectURI* uri);
148 
165 
182 
187 G_END_DECLS
188 
189 #endif
JObjectURIScheme
Definition: jobject-uri.h:41
gchar const * j_object_uri_get_namespace(JObjectURI *uri)
Definition: jobject-uri.c:277
gchar const * j_object_uri_get_name(JObjectURI *uri)
Definition: jobject-uri.c:287
guint32 j_object_uri_get_index(JObjectURI *uri)
Definition: jobject-uri.c:267
void j_object_uri_free(JObjectURI *uri)
Definition: jobject-uri.c:244
G_END_DECLS G_BEGIN_DECLS JObjectURI * j_object_uri_new(gchar const *uri_, JObjectURIScheme scheme)
Definition: jobject-uri.c:218
JDistributedObject * j_object_uri_get_distributed_object(JObjectURI *uri)
Definition: jobject-uri.c:297
JObject * j_object_uri_get_object(JObjectURI *uri)
Definition: jobject-uri.c:307
@ J_OBJECT_URI_SCHEME_DISTRIBUTED_OBJECT
Definition: jobject-uri.h:49
@ J_OBJECT_URI_SCHEME_DISTRIBUTED_NAMESPACE
Definition: jobject-uri.h:47
@ J_OBJECT_URI_SCHEME_OBJECT
Definition: jobject-uri.h:45
@ J_OBJECT_URI_SCHEME_NAMESPACE
Definition: jobject-uri.h:43
Definition: jdistributed-object.c:131
Definition: jobject-uri.c:43
JObjectURIScheme scheme
Definition: jobject-uri.c:44
Definition: jobject.c:82