soup-content-sniffer.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
  2. /*
  3. * Copyright (C) 2009 Gustavo Noronha Silva.
  4. */
  5. #ifndef SOUP_CONTENT_SNIFFER_H
  6. #define SOUP_CONTENT_SNIFFER_H 1
  7. #include <libsoup/soup-types.h>
  8. #include <libsoup/soup-message-body.h>
  9. G_BEGIN_DECLS
  10. #define SOUP_TYPE_CONTENT_SNIFFER (soup_content_sniffer_get_type ())
  11. #define SOUP_CONTENT_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_CONTENT_SNIFFER, SoupContentSniffer))
  12. #define SOUP_CONTENT_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_CONTENT_SNIFFER, SoupContentSnifferClass))
  13. #define SOUP_IS_CONTENT_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUP_TYPE_CONTENT_SNIFFER))
  14. #define SOUP_IS_CONTENT_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), SOUP_TYPE_CONTENT_SNIFFER))
  15. #define SOUP_CONTENT_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUP_TYPE_CONTENT_SNIFFER, SoupContentSnifferClass))
  16. typedef struct _SoupContentSnifferPrivate SoupContentSnifferPrivate;
  17. typedef struct {
  18. GObject parent;
  19. SoupContentSnifferPrivate *priv;
  20. } SoupContentSniffer;
  21. typedef struct {
  22. GObjectClass parent_class;
  23. char* (*sniff) (SoupContentSniffer *sniffer,
  24. SoupMessage *msg,
  25. SoupBuffer *buffer,
  26. GHashTable **params);
  27. gsize (*get_buffer_size) (SoupContentSniffer *sniffer);
  28. /* Padding for future expansion */
  29. void (*_libsoup_reserved1) (void);
  30. void (*_libsoup_reserved2) (void);
  31. void (*_libsoup_reserved3) (void);
  32. void (*_libsoup_reserved4) (void);
  33. void (*_libsoup_reserved5) (void);
  34. } SoupContentSnifferClass;
  35. SOUP_AVAILABLE_IN_2_28
  36. GType soup_content_sniffer_get_type (void);
  37. SOUP_AVAILABLE_IN_2_28
  38. SoupContentSniffer *soup_content_sniffer_new (void);
  39. SOUP_AVAILABLE_IN_2_28
  40. char *soup_content_sniffer_sniff (SoupContentSniffer *sniffer,
  41. SoupMessage *msg,
  42. SoupBuffer *buffer,
  43. GHashTable **params);
  44. SOUP_AVAILABLE_IN_2_28
  45. gsize soup_content_sniffer_get_buffer_size (SoupContentSniffer *sniffer);
  46. G_END_DECLS
  47. #endif /* SOUP_CONTENT_SNIFFER_H */