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
|