+2007-05-16 Jonathon Jongsma <jjongsma@gnome.org>
+
+ * libsoup/*.h: add G_BEGIN_DECLS / G_END_DECLS to all installed
+ headers so that libsoup can be used from C++ programs. #438776
+
2007-04-16 Dan Winship <danw@novell.com>
* libsoup/soup-ssl.h: Make a real SoupSSLCredentials type rather
#include <libsoup/soup-portability.h>
#include <libsoup/soup-types.h>
+G_BEGIN_DECLS
+
#define SOUP_TYPE_ADDRESS (soup_address_get_type ())
#define SOUP_ADDRESS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_ADDRESS, SoupAddress))
#define SOUP_ADDRESS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_ADDRESS, SoupAddressClass))
struct sockaddr *soup_address_get_sockaddr (SoupAddress *addr,
int *len);
+G_END_DECLS
+
#endif /* SOUP_ADDRESS_H */
#include <libsoup/soup-types.h>
+G_BEGIN_DECLS
+
#define SOUP_TYPE_CONNECTION (soup_connection_get_type ())
#define SOUP_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_CONNECTION, SoupConnection))
#define SOUP_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_CONNECTION, SoupConnectionClass))
char **username,
char **password);
+G_END_DECLS
#endif /* SOUP_CONNECTION_H */
#define SOUP_DATE_H 1
#include <time.h>
+#include <glib/gmacros.h>
+
+G_BEGIN_DECLS
time_t soup_mktime_utc (struct tm *tm);
void soup_gmtime (const time_t *when, struct tm *tm);
time_t soup_date_iso8601_parse (const char *timestamp);
+G_END_DECLS
+
#endif /* SOUP_DATE_H */
#include <glib.h>
#include <libsoup/soup-message.h>
+G_BEGIN_DECLS
+
/* HTTP Header Parsing */
gboolean soup_headers_parse_request (const char *str,
void soup_header_param_destroy_hash (GHashTable *table);
+G_END_DECLS
+
#endif /*SOUP_HEADERS_H*/
#include <libsoup/soup-types.h>
+G_BEGIN_DECLS
+
#define SOUP_TYPE_MESSAGE_FILTER (soup_message_filter_get_type ())
#define SOUP_MESSAGE_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_MESSAGE_FILTER, SoupMessageFilter))
#define SOUP_MESSAGE_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_MESSAGE_FILTER, SoupMessageFilterClass))
void soup_message_filter_setup_message (SoupMessageFilter *filter,
SoupMessage *msg);
+G_END_DECLS
+
#endif /* SOUP_MESSAGE_FILTER_H */
#include <glib.h>
#include <libsoup/soup-message.h>
+G_BEGIN_DECLS
+
typedef struct SoupMessageQueue SoupMessageQueue;
/**
void soup_message_queue_remove_message (SoupMessageQueue *queue,
SoupMessage *msg);
+G_END_DECLS
+
#endif /* SOUP_MESSAGE_QUEUE_H */
#include <libsoup/soup-types.h>
#include <libsoup/soup-method.h>
+G_BEGIN_DECLS
+
#define SOUP_TYPE_MESSAGE (soup_message_get_type ())
#define SOUP_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_MESSAGE, SoupMessage))
#define SOUP_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_MESSAGE, SoupMessageClass))
void soup_message_restarted (SoupMessage *msg);
void soup_message_finished (SoupMessage *msg);
+G_END_DECLS
+
#endif /*SOUP_MESSAGE_H*/
#ifndef SOUP_METHOD_H
#define SOUP_METHOD_H 1
+#include <glib/gmacros.h>
+
+G_BEGIN_DECLS
+
#define SOUP_METHOD_POST "POST"
#define SOUP_METHOD_GET "GET"
#define SOUP_METHOD_HEAD "HEAD"
SoupMethodId soup_method_get_id (const char *method);
+G_END_DECLS
+
#endif /* SOUP_METHOD_H */
#include <glib-object.h>
#include <libxml/tree.h>
+G_BEGIN_DECLS
+
#ifndef LIBSOUP_DISABLE_DEPRECATED
/* Base64 encoding/decoding. DEPRECATED: use <glib/base64.h> */
**/
extern gboolean soup_ssl_supported;
+G_END_DECLS
+
#endif /* SOUP_MISC_H */
#include <libsoup/soup-types.h>
+G_BEGIN_DECLS
+
typedef gboolean (*SoupServerAuthCallbackFn) (SoupServerAuthContext *auth_ctx,
SoupServerAuth *auth,
SoupMessage *msg,
gboolean soup_server_auth_check_passwd (SoupServerAuth *auth,
gchar *passwd);
+G_END_DECLS
+
#endif /* SOUP_SERVER_AUTH_H */
#include <libsoup/soup-message.h>
+G_BEGIN_DECLS
+
#define SOUP_TYPE_SERVER_MESSAGE (soup_server_message_get_type ())
#define SOUP_SERVER_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_SERVER_MESSAGE, SoupServerMessage))
#define SOUP_SERVER_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_SERVER_MESSAGE, SoupServerMessageClass))
void soup_server_message_finish (SoupServerMessage *smsg);
gboolean soup_server_message_is_finished (SoupServerMessage *smsg);
-
+G_END_DECLS
#endif /* SOUP_SERVER_H */
#include <libsoup/soup-method.h>
#include <libsoup/soup-uri.h>
+G_BEGIN_DECLS
+
#define SOUP_TYPE_SERVER (soup_server_get_type ())
#define SOUP_SERVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_SERVER, SoupServer))
#define SOUP_SERVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_SERVER, SoupServerClass))
SoupAddress *soup_server_context_get_client_address (SoupServerContext *ctx);
const char *soup_server_context_get_client_host (SoupServerContext *ctx);
+G_END_DECLS
#endif /* SOUP_SERVER_H */
#include <libsoup/soup-types.h>
#include <libsoup/soup-session.h>
+G_BEGIN_DECLS
+
#define SOUP_TYPE_SESSION_ASYNC (soup_session_async_get_type ())
#define SOUP_SESSION_ASYNC(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_SESSION_ASYNC, SoupSessionAsync))
#define SOUP_SESSION_ASYNC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_SESSION_ASYNC, SoupSessionAsyncClass))
SoupSession *soup_session_async_new_with_options (const char *optname1,
...) G_GNUC_NULL_TERMINATED;
+G_END_DECLS
#endif /* SOUP_SESSION_ASYNC_H */
#include <libsoup/soup-types.h>
#include <libsoup/soup-session.h>
+G_BEGIN_DECLS
+
#define SOUP_TYPE_SESSION_SYNC (soup_session_sync_get_type ())
#define SOUP_SESSION_SYNC(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_SESSION_SYNC, SoupSessionSync))
#define SOUP_SESSION_SYNC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_SESSION_SYNC, SoupSessionSyncClass))
SoupSession *soup_session_sync_new_with_options (const char *optname1,
...) G_GNUC_NULL_TERMINATED;
+G_END_DECLS
#endif /* SOUP_SESSION_SYNC_H */
#include <libsoup/soup-message.h>
#include <libsoup/soup-message-queue.h>
+G_BEGIN_DECLS
+
#define SOUP_TYPE_SESSION (soup_session_get_type ())
#define SOUP_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_SESSION, SoupSession))
#define SOUP_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_SESSION, SoupSessionClass))
gboolean *is_new);
gboolean soup_session_try_prune_connection (SoupSession *session);
+G_END_DECLS
#endif /* SOUP_SESSION_H */
#include <libsoup/soup-types.h>
+G_BEGIN_DECLS
+
#define SOUP_TYPE_SOCKET (soup_socket_get_type ())
#define SOUP_SOCKET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_SOCKET, SoupSocket))
#define SOUP_SOCKET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_SOCKET, SoupSocketClass))
gsize len,
gsize *nwrote);
+G_END_DECLS
#endif /* SOUP_SOCKET_H */
#ifndef SOUP_STATUS_H
#define SOUP_STATUS_H 1
+#include <glib/gmacros.h>
+
+G_BEGIN_DECLS
+
/**
* SoupStatusClass:
* @SOUP_STATUS_CLASS_TRANSPORT_ERROR: Network or Soup-level error
const char *soup_status_get_phrase (guint status_code);
+G_END_DECLS
+
#endif /* SOUP_STATUS_H */
#include <libsoup/soup-status.h>
+G_BEGIN_DECLS
+
typedef struct SoupAddress SoupAddress;
typedef struct SoupConnection SoupConnection;
typedef struct SoupMessage SoupMessage;
return type; \
}
+G_END_DECLS
+
#endif
#include <libsoup/soup-types.h>
+G_BEGIN_DECLS
+
/**
* SoupProtocol:
*
gboolean soup_uri_uses_default_port (const SoupUri *uri);
+G_END_DECLS
+
#endif /*SOUP_URI_H*/
SoupXmlrpcResponse *soup_xmlrpc_message_parse_response (SoupXmlrpcMessage *msg);
+G_END_DECLS
+
#endif