This repository has been archived by the owner on Oct 15, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 123
/
Copy pathgelektra-keyset.h
75 lines (56 loc) · 2.36 KB
/
gelektra-keyset.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#ifndef G_ELEKTRA_KEYSET_H
#define G_ELEKTRA_KEYSET_H
#include <glib-object.h>
#include <kdb.h>
G_BEGIN_DECLS
/*
* Type macros.
*/
#define GELEKTRA_TYPE_KEYSET (gelektra_keyset_get_type ())
#define GELEKTRA_KEYSET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GELEKTRA_TYPE_KEYSET, GElektraKeySet))
#define GELEKTRA_IS_KEYSET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GELEKTRA_TYPE_KEYSET))
#define GELEKTRA_KEYSET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GELEKTRA_TYPE_KEYSET, GElektraKeySetClass))
#define GELEKTRA_IS_KEYSET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GELEKTRA_TYPE_KEYSET))
#define GELEKTRA_KEYSET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GELEKTRA_TYPE_KEYSET, GElektraKeySetClass))
typedef struct _GElektraKeySet GElektraKeySet;
typedef struct _GElektraKeySetClass GElektraKeySetClass;
#define GELEKTRA_KEYSET_END KS_END
struct _GElektraKeySet
{
GObject parent_instance;
/* instance members */
KeySet * keyset;
};
struct _GElektraKeySetClass
{
GObjectClass parent_class;
/* class members */
};
/* used by GELEKTRA_TYPE_KEYSET */
GType gelektra_keyset_get_type (void);
#include "gelektra-kdb.h"
#include "gelektra-key.h"
/*
* Method definitions.
*/
/* constructor */
GElektraKeySet * gelektra_keyset_new (gsize alloc, ...);
GElektraKeySet * gelektra_keyset_make (KeySet * ks);
/* basic methods */
GElektraKeySet * gelektra_keyset_dup (const GElektraKeySet * ks);
gint gelektra_keyset_copy (const GElektraKeySet * ks, GElektraKeySet * dest);
gint gelektra_keyset_clear (GElektraKeySet * ks);
gssize gelektra_keyset_append (GElektraKeySet * ks, GElektraKey * key);
gssize gelektra_keyset_gi_append (GElektraKeySet * ks, GElektraKey * key);
gssize gelektra_keyset_append_keyset (GElektraKeySet * ks, GElektraKeySet * append);
gssize gelektra_keyset_gi_append_keyset (GElektraKeySet * ks, GElektraKeySet * append);
GElektraKey * gelektra_keyset_pop (GElektraKeySet * ks);
GElektraKeySet * gelektra_keyset_cut (GElektraKeySet * ks, const GElektraKey * point);
gssize gelektra_keyset_len (const GElektraKeySet * ks);
/* searching */
GElektraKey * gelektra_keyset_lookup (GElektraKeySet * ks, GElektraKey * key, GElektraKdbOptions options);
GElektraKey * gelektra_keyset_lookup_byname (GElektraKeySet * ks, const char * name, GElektraKdbOptions options);
/* iterating */
GElektraKey * gelektra_keyset_at (GElektraKeySet * ks, gssize pos);
G_END_DECLS
#endif