summaryrefslogtreecommitdiffstats
path: root/libcsoap/soap-addressing.c
diff options
context:
space:
mode:
Diffstat (limited to 'libcsoap/soap-addressing.c')
-rw-r--r--libcsoap/soap-addressing.c29
1 files changed, 22 insertions, 7 deletions
diff --git a/libcsoap/soap-addressing.c b/libcsoap/soap-addressing.c
index cde31ec..8cb11b8 100644
--- a/libcsoap/soap-addressing.c
+++ b/libcsoap/soap-addressing.c
@@ -1,5 +1,5 @@
/******************************************************************
-* $Id: soap-addressing.c,v 1.8 2006/11/28 23:45:57 m0gg Exp $
+* $Id: soap-addressing.c,v 1.9 2006/11/29 11:04:24 m0gg Exp $
*
* CSOAP Project: A SOAP client/server library in C
* Copyright (C) 2006 Heiko Ronsdorf
@@ -424,12 +424,6 @@ soap_addressing_set_reply_to_address(struct SoapEnv *envelope, xmlURI *address)
}
xmlNodePtr
-soap_addressing_get_from(struct SoapEnv *envelope)
-{
- return _soap_addressing_get_child_element(envelope->header, WSA_FROM);
-}
-
-xmlNodePtr
soap_addressing_set_from(struct SoapEnv *envelope, xmlNodePtr address)
{
xmlNodePtr ret;
@@ -463,6 +457,12 @@ soap_addressing_set_from_address_string(struct SoapEnv *envelope, const char *fr
return ret;
}
+xmlNodePtr
+soap_addressing_get_from(struct SoapEnv *envelope)
+{
+ return _soap_addressing_get_child_element(envelope->header, WSA_FROM);
+}
+
xmlURI *
soap_addressing_get_from_address(struct SoapEnv *envelope)
{
@@ -475,6 +475,21 @@ soap_addressing_get_from_address(struct SoapEnv *envelope)
return soap_addressing_get_address(from);
}
+xmlChar *
+soap_addressing_get_from_address_string(struct SoapEnv *envelope)
+{
+ xmlURI *uri;
+ xmlChar *ret;
+
+ if (!(uri = soap_addressing_get_from_address(envelope)))
+ return NULL;
+
+ ret = xmlSaveUri(uri);
+ xmlFreeURI(uri);
+
+ return ret;
+}
+
xmlNodePtr
soap_addressing_set_from_address(struct SoapEnv *envelope, xmlURI *address)
{