File: metadata.xs

package info (click to toggle)
atheme-services 7.2.12-2.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 17,256 kB
  • sloc: ansic: 95,899; sh: 8,462; php: 5,032; perl: 3,327; makefile: 1,279; sed: 16; ruby: 15; python: 3
file content (66 lines) | stat: -rw-r--r-- 1,226 bytes parent folder | download | duplicates (6)
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
MODULE = Atheme			PACKAGE = Atheme::Object::MetadataHash

Atheme_Object_MetadataHash
TIEHASH(SV * self, Atheme_Object object)
CODE:
	/* Underlying pointer is just the same object, blessed into a different package. */
	RETVAL = object;
OUTPUT:
	RETVAL

const char *
FETCH(Atheme_Object_MetadataHash object, const char * key)
CODE:
	metadata_t *md = metadata_find(object, key);
	if (md == NULL)
		XSRETURN_UNDEF;
	RETVAL = md->value;
OUTPUT:
	RETVAL

void
STORE(Atheme_Object_MetadataHash object, const char * key, const char * value)
CODE:
	metadata_add(object, key, value);

void
DELETE(Atheme_Object_MetadataHash object, const char * key)
CODE:
	metadata_delete(object, key);

void
CLEAR(Atheme_Object_MetadataHash object)
CODE:
	metadata_delete_all(object);

bool
EXISTS(Atheme_Object_MetadataHash object, const char * key)
CODE:
	RETVAL = (metadata_find(object, key) != NULL);
OUTPUT:
	RETVAL

const char *
FIRSTKEY(Atheme_Object_MetadataHash object)
CODE:
	XSRETURN_UNDEF;
	RETVAL = NULL;
OUTPUT:
	RETVAL

const char *
NEXTKEY(Atheme_Object_MetadataHash object, const char *lastkey)
CODE:
	XSRETURN_UNDEF;
	RETVAL = NULL;
OUTPUT:
	RETVAL

int
SCALAR(Atheme_Object_MetadataHash object)
CODE:
	RETVAL = 0;
OUTPUT:
	RETVAL