/*
 * Defines functions for persisting and retrieving DIAL data.
 */

#ifndef SRC_SERVER_DIAL_DATA_H_
#define SRC_SERVER_DIAL_DATA_H_

/*
 * Slash-terminated directory of where to persist the DIAL data.
 */
#define DIAL_DATA_DIR "/tmp/"

/*
 * The maximum DIAL data payload accepted per the 'DIAL extension for smooth
 * pairing' specification'.
 */
#define DIAL_DATA_MAX_PAYLOAD (4096) /* 4 KB */

/*
 * Url path where DIAL data should be posted according to the 'DIAL extension
 * for smooth pairing' specification.
 */
#define DIAL_DATA_URI "/dial_data"

struct DIALData_ {
    struct DIALData_ *next;
    char *key;
    char *value;
};

typedef struct DIALData_ DIALData;

void store_dial_data(char *app_name, DIALData *data);

DIALData *retrieve_dial_data(char *app_name);

#endif /* SRC_SERVER_DIAL_DATA_H_ */
