libxr
—
developer's documentation
Main Page
Related Pages
Data Structures
Files
File List
Globals
xr-call.h
Go to the documentation of this file.
1
/*
2
* Copyright 2006-2008 Ondrej Jirman <ondrej.jirman@zonio.net>
3
*
4
* This file is part of libxr.
5
*
6
* Libxr is free software: you can redistribute it and/or modify it under the
7
* terms of the GNU Lesser General Public License as published by the Free
8
* Software Foundation, either version 2 of the License, or (at your option) any
9
* later version.
10
*
11
* Libxr is distributed in the hope that it will be useful, but WITHOUT ANY
12
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
13
* A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
14
* details.
15
*
16
* You should have received a copy of the GNU Lesser General Public License
17
* along with libxr. If not, see <http://www.gnu.org/licenses/>.
18
*/
19
31
#ifndef __XR_CALL_H__
32
#define __XR_CALL_H__
33
34
#include "
xr-value.h
"
35
38
typedef
enum
{
39
XR_CALL_XML_RPC = 0,
40
#ifdef XR_JSON_ENABLED
41
XR_CALL_JSON_RPC,
42
#endif
43
XR_CALL_TRANSPORT_COUNT
/* must be last, not a real transport */
44
}
xr_call_transport
;
45
49
typedef
struct
_xr_call
xr_call
;
50
51
G_BEGIN_DECLS
52
59
xr_call
*
xr_call_new
(
const
char
* method);
60
65
void
xr_call_free
(
xr_call
* call);
66
72
void
xr_call_set_transport
(
xr_call
* call,
xr_call_transport
transport);
73
82
const
char
*
xr_call_get_method
(
xr_call
* call);
83
92
const
char
*
xr_call_get_method_full
(
xr_call
* call);
93
101
char
*
xr_call_get_servlet_name
(
xr_call
* call,
const
char
* fallback);
102
109
void
xr_call_add_param
(
xr_call
* call,
xr_value
* val);
110
120
xr_value
*
xr_call_get_param
(
xr_call
* call,
unsigned
int
pos);
121
128
void
xr_call_set_retval
(
xr_call
* call,
xr_value
* val);
129
138
xr_value
*
xr_call_get_retval
(
xr_call
* call);
139
147
void
xr_call_set_error
(
xr_call
* call,
int
code,
const
char
* msg, ...);
148
153
gboolean
xr_call_error_set
(
xr_call
* call);
154
161
int
xr_call_get_error_code
(
xr_call
* call);
162
169
const
char
*
xr_call_get_error_message
(
xr_call
* call);
170
178
void
xr_call_serialize_request
(
xr_call
* call,
char
** buf,
int
* len);
179
187
void
xr_call_serialize_response
(
xr_call
* call,
char
** buf,
int
* len);
188
198
gboolean
xr_call_unserialize_request
(
xr_call
* call,
const
char
* buf,
int
len);
199
209
gboolean
xr_call_unserialize_response
(
xr_call
* call,
const
char
* buf,
int
len);
210
216
void
xr_call_free_buffer
(
xr_call
* call,
char
* buf);
217
225
char
*
xr_call_dump_string
(
xr_call
* call,
int
indent);
226
232
void
xr_call_dump
(
xr_call
* call,
int
indent);
233
234
G_END_DECLS
235
236
#endif
Documentation for
libxr
, Sat Nov 1 2014 21:06:15.