4 * Copyright (C) 2005 Novell, Inc.
9 * Permission is hereby granted, free of charge, to any person obtaining a
10 * copy of this software and associated documentation files (the "Software"),
11 * to deal in the Software without restriction, including without limitation
12 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
13 * and/or sell copies of the Software, and to permit persons to whom the
14 * Software is furnished to do so, subject to the following conditions:
16 * The above copyright notice and this permission notice shall be included in
17 * all copies or substantial portions of the Software.
19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25 * DEALINGS IN THE SOFTWARE.
28 #ifndef __BEAGLE_REQUEST_H
29 #define __BEAGLE_REQUEST_H
31 #include <glib-object.h>
33 #include <beagle/beagle-response.h>
35 #define BEAGLE_TYPE_REQUEST (beagle_request_get_type ())
36 #define BEAGLE_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BEAGLE_TYPE_REQUEST, BeagleRequest))
37 #define BEAGLE_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BEAGLE_TYPE_REQUEST, BeagleRequestClass))
38 #define BEAGLE_IS_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BEAGLE_TYPE_REQUEST))
39 #define BEAGLE_IS_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BEAGLE_TYPE_REQUEST))
40 #define BEAGLE_REQUEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BEAGLE_TYPE_REQUEST, BeagleRequestClass))
42 typedef struct _BeagleRequest BeagleRequest
;
43 typedef struct _BeagleRequestClass BeagleRequestClass
;
45 struct _BeagleRequest
{
49 struct _BeagleRequestClass
{
50 GObjectClass parent_class
;
52 GHashTable
*response_types
;
55 GString
*(* to_xml
) (BeagleRequest
*request
, GError
**err
);
58 void (* closed
) (BeagleRequest
*request
);
59 void (* response
) (BeagleRequest
*request
, BeagleResponse
*response
);
60 void (* error
) (BeagleRequest
*request
, GError
*error
);
63 GType
beagle_request_get_type (void);
66 #endif /* __BEAGLE_REQUEST_H */