1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
3 * Copyright (C) 2008 Red Hat, Inc.
7 #define SOUP_LOGGER_H 1
9 #include <libsoup/soup-types.h>
13 #define SOUP_TYPE_LOGGER (soup_logger_get_type ())
14 #define SOUP_LOGGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_LOGGER, SoupLogger))
15 #define SOUP_LOGGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_LOGGER, SoupLoggerClass))
16 #define SOUP_IS_LOGGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUP_TYPE_LOGGER))
17 #define SOUP_IS_LOGGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), SOUP_TYPE_LOGGER))
18 #define SOUP_LOGGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUP_TYPE_LOGGER, SoupLoggerClass))
22 SOUP_LOGGER_LOG_MINIMAL,
23 SOUP_LOGGER_LOG_HEADERS,
33 GObjectClass parent_class;
35 /* Padding for future expansion */
36 void (*_libsoup_reserved1) (void);
37 void (*_libsoup_reserved2) (void);
38 void (*_libsoup_reserved3) (void);
39 void (*_libsoup_reserved4) (void);
42 typedef SoupLoggerLogLevel (*SoupLoggerFilter) (SoupLogger *logger,
46 typedef void (*SoupLoggerPrinter) (SoupLogger *logger,
47 SoupLoggerLogLevel level,
52 GType soup_logger_get_type (void);
54 SoupLogger *soup_logger_new (SoupLoggerLogLevel level,
56 #ifndef LIBSOUP_DISABLE_DEPRECATED
57 /* Use soup_session_add/remove_feature */
58 void soup_logger_attach (SoupLogger *logger,
59 SoupSession *session);
60 void soup_logger_detach (SoupLogger *logger,
61 SoupSession *session);
64 void soup_logger_set_request_filter (SoupLogger *logger,
65 SoupLoggerFilter request_filter,
67 GDestroyNotify destroy);
68 void soup_logger_set_response_filter (SoupLogger *logger,
69 SoupLoggerFilter response_filter,
71 GDestroyNotify destroy);
73 void soup_logger_set_printer (SoupLogger *logger,
74 SoupLoggerPrinter printer,
75 gpointer printer_data,
76 GDestroyNotify destroy);
80 #endif /* SOUP_LOGGER_H */