summaryrefslogtreecommitdiff
path: root/gck/gck.h
diff options
context:
space:
mode:
Diffstat (limited to 'gck/gck.h')
-rw-r--r--gck/gck.h29
1 files changed, 23 insertions, 6 deletions
diff --git a/gck/gck.h b/gck/gck.h
index 4a4a564..0f62be0 100644
--- a/gck/gck.h
+++ b/gck/gck.h
@@ -1300,17 +1300,34 @@ enum {
GCK_URI_BAD_SYNTAX = 3
};
+typedef enum {
+ GCK_URI_PARSE_MODULE = (1 << 1),
+ GCK_URI_PARSE_TOKEN = (1 << 2) | GCK_URI_PARSE_MODULE,
+ GCK_URI_PARSE_OBJECT = (1 << 3) | GCK_URI_PARSE_TOKEN,
+ GCK_URI_PARSE_ANY = 0xFFFFFFFF,
+} GckUriParseFlags;
+
+typedef struct _GckUriInfo {
+ gboolean any_unrecognized;
+ GckModuleInfo *module_info;
+ GckTokenInfo *token_info;
+ GckAttributes *attributes;
+
+ /*< private >*/
+ gpointer dummy[4];
+} GckUriInfo;
+
#define GCK_URI_ERROR (gck_uri_get_error_quark ())
GQuark gck_uri_get_error_quark (void);
-gchar* gck_uri_build (GckTokenInfo *token,
- GckAttributes *attrs);
+gchar* gck_uri_build (GckUriInfo *uri_info);
-gboolean gck_uri_parse (const gchar *uri,
- GckTokenInfo **token,
- GckAttributes **attrs,
- GError **err);
+GckUriInfo* gck_uri_parse (const gchar *uri,
+ GckUriParseFlags flags,
+ GError **error);
+
+void gck_uri_info_free (GckUriInfo *uri_info);
G_END_DECLS