X-Git-Url: https://git.tokkee.org/?p=sysdb.git;a=blobdiff_plain;f=src%2Fcore%2Fstore.c;h=5a00b6c3cd49a7bba31cb8755bf4bda73f9564f8;hp=ee861d33eedafbbce9906b183bf06df3ffc11cfa;hb=6fbccd38ba921b0f08b4a38ef3568bd9ca12fcd5;hpb=5703edf70261173a482692ad5dcaa37b27eab64e diff --git a/src/core/store.c b/src/core/store.c index ee861d3..5a00b6c 100644 --- a/src/core/store.c +++ b/src/core/store.c @@ -620,6 +620,34 @@ sdb_store_service_attr(const char *hostname, const char *service, return status; } /* sdb_store_service_attr */ +int +sdb_store_get_field(sdb_store_obj_t *obj, int field, sdb_data_t *res) +{ + if ((! obj) || (! res)) + return -1; + + switch (field) { + case SDB_FIELD_LAST_UPDATE: + res->type = SDB_TYPE_DATETIME; + res->data.datetime = obj->last_update; + break; + case SDB_FIELD_AGE: + res->type = SDB_TYPE_DATETIME; + res->data.datetime = sdb_gettime() - obj->last_update; + break; + case SDB_FIELD_INTERVAL: + res->type = SDB_TYPE_DATETIME; + res->data.datetime = obj->interval; + break; + case SDB_FIELD_BACKEND: + /* TODO: add support for storing array values in a data object + * for now, fall thru to the error case */ + default: + return -1; + } + return 0; +} /* sdb_store_get_field */ + int sdb_store_host_tojson(sdb_store_obj_t *h, sdb_strbuf_t *buf, sdb_store_matcher_t *filter, int flags)