#ifndef WEASELJSON_H
#define WEASELJSON_H

struct Callbacks {
  void (*on_begin_object)(void *data);
  void (*on_end_object)(void *data);
  void (*on_begin_string)(void *data);
  void (*on_string_data)(void *data, const char *buf, int len);
  void (*on_end_string)(void *data);
  void (*on_begin_array)(void *data);
  void (*on_end_array)(void *data);
  void (*on_begin_number)(void *data);
  void (*on_number_data)(void *data, const char *buf, int len);
  void (*on_end_number)(void *data);
  void (*on_true_literal)(void *data);
  void (*on_false_literal)(void *data);
  void (*on_null_literal)(void *data);
};

#endif
