![]() |
![]() |
![]() |
Ximian Connector for Microsoft Exchange Programmer’s Reference Manual | ![]() |
---|---|---|---|---|
E2kUri; E2kUri* e2k_uri_new (const char *uri_string); void e2k_uri_free (E2kUri *uri); const char* e2k_uri_get_param (E2kUri *uri, const char *name); void e2k_uri_decode (char *part); char* e2k_uri_encode (const char *in, gboolean wss_encode, const char *extra_enc_chars); void e2k_uri_append_encoded (GString *str, const char *in, gboolean wss_encode, const char *extra_enc_chars); const char* e2k_uri_path (const char *uri_string); char* e2k_uri_concat (const char *uri_prefix, const char *tail); const char* e2k_uri_relative (const char *uri_prefix, const char *uri);
typedef struct { char *protocol; char *user; char *domain; char *authmech; char *passwd; char *host; int port; char *path; GData *params; char *query; char *fragment; } E2kUri;
A URI.
char *protocol ; |
the URI protocol |
char *user ; |
the username to authenticate with |
char *domain ; |
the Windows NT domain of user
|
char *authmech ; |
the HTTP authentication mechanism to use |
char *passwd ; |
user 's password
|
char *host ; |
the host to connect to |
int port ; |
the port to connect to |
char *path ; |
the path on host
|
GData *params ; |
additional parameters |
char *query ; |
query string |
char *fragment ; |
URI fragment |
E2kUri* e2k_uri_new (const char *uri_string);
Parses uri_string
.
uri_string : |
the URI |
Returns : | a parsed E2kUri
|
const char* e2k_uri_get_param (E2kUri *uri, const char *name);
Fetches a parameter from uri
uri : |
an E2kUri
|
name : |
name of the parameter |
Returns : | the value of name , or NULL if it is not set
|
void e2k_uri_decode (char *part);
Undoes URI-escaping in part
in-place.
part : |
a piece of a URI |
char* e2k_uri_encode (const char *in, gboolean wss_encode, const char *extra_enc_chars);
Encodes URI-unsafe characters as in e2k_uri_append_encoded()
in : |
data to encode |
wss_encode : |
whether or not to use the special Web Storage System encoding rules |
extra_enc_chars : |
additional characters beyond the normal URI-reserved
characters to encode when appending to str
|
Returns : | the encoded string |
void e2k_uri_append_encoded (GString *str, const char *in, gboolean wss_encode, const char *extra_enc_chars);
Appends in
to str
, encoding URI-unsafe characters as needed
(optionally including some Exchange-specific encodings).
When appending a path, you must append each segment separately;
e2k_uri_append_encoded()
will encode any "/"s passed in.
str : |
a GString containing part of a URI
|
in : |
data to append to str
|
wss_encode : |
whether or not to use the special Web Storage System encoding rules |
extra_enc_chars : |
additional characters beyond the normal URI-reserved
characters to encode when appending to str
|
const char* e2k_uri_path (const char *uri_string);
Returns the path component of uri_string
, including the initial
"/". (The return value is actually a pointer into the passed-in
string, meaning this will only really work if the URI has no
query/fragment/etc.)
uri_string : |
a well-formed absolute URI |
Returns : | the path component of uri_string .
|
char* e2k_uri_concat (const char *uri_prefix, const char *tail);
Constructs a new URI consisting of the concatenation of
uri_prefix
and tail
. If uri_prefix
does not end with a "/",
one will be inserted between uri_prefix
and tail
.
uri_prefix : |
an absolute URI |
tail : |
a relative path |
Returns : | the new URI |
const char* e2k_uri_relative (const char *uri_prefix, const char *uri);
Returns a URI describing uri
's relation to uri_prefix
; either a
relative URI consisting of the subpath of uri
underneath
uri_prefix
, or all of uri
if it is not a sub-uri of uri_prefix
.
uri_prefix : |
an absolute URI |
uri : |
another URI, presumably a child of uri_prefix
|
Returns : | the relative URI |