/*
- * Copyright (C) 2016, 2017 "IoT.bzh"
+ * Copyright (C) 2016, 2017, 2018 "IoT.bzh"
* Author: José Bollo <jose.bollo@iot.bzh>
*
* Licensed under the Apache License, Version 2.0 (the "License");
struct afb_context
{
struct afb_session *session;
+ const void *api_key;
+ struct afb_context *super;
union {
unsigned flags;
struct {
unsigned closed: 1;
};
};
- void *api_key;
- struct afb_context *super;
};
extern void afb_context_init(struct afb_context *context, struct afb_session *session, const char *token);
extern void afb_context_disconnect(struct afb_context *context);
extern const char *afb_context_sent_token(struct afb_context *context);
extern const char *afb_context_sent_uuid(struct afb_context *context);
+extern const char *afb_context_uuid(struct afb_context *context);
extern void *afb_context_get(struct afb_context *context);
extern int afb_context_set(struct afb_context *context, void *value, void (*free_value)(void*));
-extern void *afb_context_data(struct afb_context *context, void *(*make_value)(void), void (*free_value)(void*));
+extern void *afb_context_make(struct afb_context *context, int replace, void *(*make_value)(void *closure), void (*free_value)(void *item), void *closure);
extern void afb_context_close(struct afb_context *context);
extern void afb_context_refresh(struct afb_context *context);