Skip to content

Commits on Source 2

......@@ -10,7 +10,9 @@ Build-Depends: debhelper (>= 11~),
libboost-system-dev,
libboost-regex-dev,
libboost-math-dev,
libboost-thread-dev
libboost-thread-dev,
libboost-program-options-dev,
libboost-random-dev
Standards-Version: 4.2.1
Vcs-Browser: https://salsa.debian.org/med-team/libzeep
Vcs-Git: https://salsa.debian.org/med-team/libzeep.git
......@@ -25,7 +27,9 @@ Depends: ${misc:Depends},
libboost-filesystem-dev,
libboost-system-dev,
libboost-regex-dev,
libboost-thread-dev
libboost-thread-dev,
libboost-program-options-dev,
libboost-random-dev
Description: Development files for libzeep
Libzeep is a C++ library providing a validating XML parser, XML DOM tree
implementation, XPath 1.0 support and code to create SOAP/REST servers as
......
......@@ -5,16 +5,16 @@ Abstract: This manual documents the libzeep API.
Section: Programming
Format: HTML
Index: /usr/share/doc/libzeep-dev/html/index.html
Files: /usr/share/doc/libzeep-dev/html/*.html
/usr/share/doc/libzeep-dev/html/index/*.html
/usr/share/doc/libzeep-dev/html/libzeep/*.html
/usr/share/doc/libzeep-dev/html/zeep/*.html
/usr/share/doc/libzeep-dev/html/zeep/xml/*.html
/usr/share/doc/libzeep-dev/html/zeep/xml/doctype/*.html
/usr/share/doc/libzeep-dev/html/zeep/xml/element/*.html
/usr/share/doc/libzeep-dev/html/zeep/xml/container/*.html
/usr/share/doc/libzeep-dev/html/zeep/http/*.html
/usr/share/doc/libzeep-dev/html/zeep/http/basic_webapp/*.html
/usr/share/doc/libzeep-dev/html/zeep/http/el/*.html
/usr/share/doc/libzeep-dev/html/zeep/http/el/object/*.html
Index: /usr/share/doc/libzeep-dev/index.html
Files: /usr/share/doc/libzeep-dev/*.html
/usr/share/doc/libzeep-dev/index/*.html
/usr/share/doc/libzeep-dev/libzeep/*.html
/usr/share/doc/libzeep-dev/zeep/*.html
/usr/share/doc/libzeep-dev/zeep/xml/*.html
/usr/share/doc/libzeep-dev/zeep/xml/doctype/*.html
/usr/share/doc/libzeep-dev/zeep/xml/element/*.html
/usr/share/doc/libzeep-dev/zeep/xml/container/*.html
/usr/share/doc/libzeep-dev/zeep/http/*.html
/usr/share/doc/libzeep-dev/zeep/http/basic_webapp/*.html
/usr/share/doc/libzeep-dev/zeep/http/el/*.html
/usr/share/doc/libzeep-dev/zeep/http/el/object/*.html
From: Giovanni Mascellani <gio@debian.org>
Date: Fri, 12 Oct 2018 17:26:23 +0200
Bug-Debian: https://bugs.debian.org/911886
Subject: Fix for Boost version 1.67.
In basic_socket, native_type and native were deprecated and removed
in favor of native_handle_type and native_handle.
---
src/preforked-http-server.cpp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/preforked-http-server.cpp b/src/preforked-http-server.cpp
index a80a65b..89fc89d 100644
--- a/src/preforked-http-server.cpp
+++ b/src/preforked-http-server.cpp
@@ -181,7 +181,7 @@ void preforked_server_base::start()
bool preforked_server_base::read_socket_from_parent(int fd_socket, boost::asio::ip::tcp::socket& socket)
{
- typedef boost::asio::ip::tcp::socket::native_type native_type;
+ typedef boost::asio::ip::tcp::socket::native_handle_type native_type;
#if __APPLE__
// macos is special...
@@ -245,7 +245,7 @@ bool preforked_server_base::read_socket_from_parent(int fd_socket, boost::asio::
void preforked_server_base::write_socket_to_worker(int fd_socket, boost::asio::ip::tcp::socket& socket)
{
- typedef boost::asio::ip::tcp::socket::native_type native_type;
+ typedef boost::asio::ip::tcp::socket::native_handle_type native_type;
struct msghdr msg;
union {
@@ -268,7 +268,7 @@ void preforked_server_base::write_socket_to_worker(int fd_socket, boost::asio::i
*(reinterpret_cast<native_type*>(CMSG_DATA(cmptr))) = socket.native();
*/
native_type *fdptr = reinterpret_cast<native_type*>(CMSG_DATA(cmptr));
- *fdptr = socket.native();
+ *fdptr = socket.native_handle();
msg.msg_name = nullptr;
msg.msg_namelen = 0;
Description: fix compatibility with boost 1.65
Boost 1.65 no longer provides tr1/ headers, which are now provided instead
by g++7 directly. Adjust our includes accordingly.
Author: Steve Langasek <steve.langasek@ubuntu.com>
Last-Modified: 2018-03-18
Index: libzeep-3.0.2/src/doctype.cpp
===================================================================
--- libzeep-3.0.2.orig/src/doctype.cpp
+++ libzeep-3.0.2/src/doctype.cpp
@@ -9,8 +9,8 @@
#include <typeinfo>
#include <numeric>
-#include <boost/tr1/tuple.hpp>
-#include <boost/tr1/memory.hpp>
+#include <tr1/tuple>
+#include <tr1/memory>
#include <boost/algorithm/string.hpp>
#include <boost/foreach.hpp>
#define foreach BOOST_FOREACH
@@ -132,7 +132,7 @@
switch (m_state)
{
case state_Start:
- boost::fusion::tie(result, done) = m_sub->allow(name);
+ std::tr1::tie(result, done) = m_sub->allow(name);
if (result == true)
m_state = state_Loop;
else
@@ -140,7 +140,7 @@
break;
case state_Loop:
- boost::fusion::tie(result, done) = m_sub->allow(name);
+ std::tr1::tie(result, done) = m_sub->allow(name);
if (result == false and done)
done = true;
break;
@@ -172,7 +172,7 @@
switch (m_state)
{
case state_Start:
- boost::fusion::tie(result, done) = m_sub->allow(name);
+ std::tr1::tie(result, done) = m_sub->allow(name);
if (result == true)
m_state = state_Loop;
else
@@ -180,11 +180,11 @@
break;
case state_Loop:
- boost::fusion::tie(result, done) = m_sub->allow(name);
+ std::tr1::tie(result, done) = m_sub->allow(name);
if (result == false and done)
{
m_sub->reset();
- boost::fusion::tie(result, done) = m_sub->allow(name);
+ std::tr1::tie(result, done) = m_sub->allow(name);
if (result == false)
done = true;
}
@@ -218,28 +218,28 @@
switch (m_state)
{
case state_Start:
- boost::fusion::tie(result, done) = m_sub->allow(name);
+ std::tr1::tie(result, done) = m_sub->allow(name);
if (result == true)
m_state = state_FirstLoop;
break;
case state_FirstLoop:
- boost::fusion::tie(result, done) = m_sub->allow(name);
+ std::tr1::tie(result, done) = m_sub->allow(name);
if (result == false and done)
{
m_sub->reset();
- boost::fusion::tie(result, done) = m_sub->allow(name);
+ std::tr1::tie(result, done) = m_sub->allow(name);
if (result == true)
m_state = state_NextLoop;
}
break;
case state_NextLoop:
- boost::fusion::tie(result, done) = m_sub->allow(name);
+ std::tr1::tie(result, done) = m_sub->allow(name);
if (result == false and done)
{
m_sub->reset();
- boost::fusion::tie(result, done) = m_sub->allow(name);
+ std::tr1::tie(result, done) = m_sub->allow(name);
if (result == false)
done = true;
}
@@ -319,7 +319,7 @@
// fall through
case state_Element:
- boost::fusion::tie(result, done) = (*m_next)->allow(name);
+ std::tr1::tie(result, done) = (*m_next)->allow(name);
while (result == false and done)
{
++m_next;
@@ -330,7 +330,7 @@
break;
}
- boost::fusion::tie(result, done) = (*m_next)->allow(name);
+ std::tr1::tie(result, done) = (*m_next)->allow(name);
}
break;
}
@@ -404,7 +404,7 @@
case state_Start:
for (list<state_ptr>::iterator choice = m_states.begin(); choice != m_states.end(); ++choice)
{
- boost::fusion::tie(result, done) = (*choice)->allow(name);
+ std::tr1::tie(result, done) = (*choice)->allow(name);
if (result == true)
{
m_sub = *choice;
@@ -415,7 +415,7 @@
break;
case state_Choice:
- boost::fusion::tie(result, done) = m_sub->allow(name);
+ std::tr1::tie(result, done) = m_sub->allow(name);
break;
}
@@ -490,7 +490,7 @@
bool validator::allow(const string& name)
{
bool result;
- boost::fusion::tie(result, m_done) = m_state->allow(name);
+ std::tr1::tie(result, m_done) = m_state->allow(name);
return result;
}
Index: libzeep-3.0.2/src/document-expat.cpp
===================================================================
--- libzeep-3.0.2.orig/src/document-expat.cpp
+++ libzeep-3.0.2/src/document-expat.cpp
@@ -12,7 +12,7 @@
#include <vector>
#include <stack>
-#include <boost/tr1/memory.hpp>
+#include <tr1/memory>
#include <boost/algorithm/string.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/fstream.hpp>
Index: libzeep-3.0.2/src/document-libxml2.cpp
===================================================================
--- libzeep-3.0.2.orig/src/document-libxml2.cpp
+++ libzeep-3.0.2/src/document-libxml2.cpp
@@ -10,7 +10,7 @@
#include <deque>
#include <map>
-#include <boost/tr1/memory.hpp>
+#include <tr1/memory>
#include <boost/algorithm/string.hpp>
#include <boost/function.hpp>
#include <boost/bind.hpp>
Index: libzeep-3.0.2/src/document.cpp
===================================================================
--- libzeep-3.0.2.orig/src/document.cpp
+++ libzeep-3.0.2/src/document.cpp
@@ -10,7 +10,7 @@
#include <deque>
#include <map>
-#include <boost/tr1/memory.hpp>
+#include <tr1/memory>
#include <boost/algorithm/string.hpp>
#include <boost/function.hpp>
#include <boost/bind.hpp>
Index: libzeep-3.0.2/src/parser.cpp
===================================================================
--- libzeep-3.0.2.orig/src/parser.cpp
+++ libzeep-3.0.2/src/parser.cpp
@@ -6,7 +6,7 @@
#include <iostream>
#include <map>
-#include <boost/tr1/memory.hpp>
+#include <tr1/memory>
#include <boost/algorithm/string.hpp>
#include <boost/bind.hpp>
#include <boost/lexical_cast.hpp>
Index: libzeep-3.0.2/src/preforked-http-server.cpp
===================================================================
--- libzeep-3.0.2.orig/src/preforked-http-server.cpp
+++ libzeep-3.0.2/src/preforked-http-server.cpp
@@ -16,7 +16,7 @@
#include <zeep/http/connection.hpp>
#include <zeep/exception.hpp>
-#include <boost/tr1/memory.hpp>
+#include <tr1/memory>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/thread.hpp>
#include <boost/bind.hpp>
Index: libzeep-3.0.2/src/webapp-el.cpp
===================================================================
--- libzeep-3.0.2.orig/src/webapp-el.cpp
+++ libzeep-3.0.2/src/webapp-el.cpp
@@ -14,7 +14,7 @@
#include <boost/foreach.hpp>
#define foreach BOOST_FOREACH
#include <boost/algorithm/string.hpp>
-#include <boost/tr1/cmath.hpp>
+#include <tr1/cmath>
#include <zeep/http/webapp.hpp>
#include <zeep/http/webapp/el.hpp>
Index: libzeep-3.0.2/src/xpath.cpp
===================================================================
--- libzeep-3.0.2.orig/src/xpath.cpp
+++ libzeep-3.0.2/src/xpath.cpp
@@ -12,7 +12,7 @@
#include <cmath>
#include <map>
-#include <boost/tr1/cmath.hpp>
+#include <tr1/cmath>
#include <boost/function.hpp>
#include <boost/bind.hpp>
#include <boost/foreach.hpp>
Index: libzeep-3.0.2/zeep/http/reply.hpp
===================================================================
--- libzeep-3.0.2.orig/zeep/http/reply.hpp
+++ libzeep-3.0.2/zeep/http/reply.hpp
@@ -8,7 +8,7 @@
#include <vector>
-#include <boost/tr1/memory.hpp>
+#include <tr1/memory>
#include <boost/asio/buffer.hpp>
#include <zeep/http/header.hpp>
--- a/doc/Jamfile.v2
+++ b/doc/Jamfile.v2
@@ -1,3 +1,11 @@
+using xsltproc ;
+using boostbook
+ : /usr/share/xml/docbook/stylesheet/nwalsh
+ : /usr/share/xml/docbook/schema/dtd/4.2
+ ;
+using doxygen ;
+using quickbook ;
+
doxygen autodoc
:
[ glob ../zeep/*.hpp ]
Author: Gert Wollny <gw.fossdev@gmail.com>
Last-Update: Wed, 11 May 2016
Description: Correct use of boost::fusion::tie
With the combination of g++6 and boost-1.60 compiled with g++-6
both provide the function tie with equal signatures, hence
compilation fails. This patch ensures that always
boost::fusion::tie is used.
--- a/src/doctype.cpp
+++ b/src/doctype.cpp
@@ -132,7 +132,7 @@
switch (m_state)
{
case state_Start:
- tie(result, done) = m_sub->allow(name);
+ boost::fusion::tie(result, done) = m_sub->allow(name);
if (result == true)
m_state = state_Loop;
else
@@ -140,7 +140,7 @@
break;
case state_Loop:
- tie(result, done) = m_sub->allow(name);
+ boost::fusion::tie(result, done) = m_sub->allow(name);
if (result == false and done)
done = true;
break;
@@ -172,7 +172,7 @@
switch (m_state)
{
case state_Start:
- tie(result, done) = m_sub->allow(name);
+ boost::fusion::tie(result, done) = m_sub->allow(name);
if (result == true)
m_state = state_Loop;
else
@@ -180,11 +180,11 @@
break;
case state_Loop:
- tie(result, done) = m_sub->allow(name);
+ boost::fusion::tie(result, done) = m_sub->allow(name);
if (result == false and done)
{
m_sub->reset();
- tie(result, done) = m_sub->allow(name);
+ boost::fusion::tie(result, done) = m_sub->allow(name);
if (result == false)
done = true;
}
@@ -218,28 +218,28 @@
switch (m_state)
{
case state_Start:
- tie(result, done) = m_sub->allow(name);
+ boost::fusion::tie(result, done) = m_sub->allow(name);
if (result == true)
m_state = state_FirstLoop;
break;
case state_FirstLoop:
- tie(result, done) = m_sub->allow(name);
+ boost::fusion::tie(result, done) = m_sub->allow(name);
if (result == false and done)
{
m_sub->reset();
- tie(result, done) = m_sub->allow(name);
+ boost::fusion::tie(result, done) = m_sub->allow(name);
if (result == true)
m_state = state_NextLoop;
}
break;
case state_NextLoop:
- tie(result, done) = m_sub->allow(name);
+ boost::fusion::tie(result, done) = m_sub->allow(name);
if (result == false and done)
{
m_sub->reset();
- tie(result, done) = m_sub->allow(name);
+ boost::fusion::tie(result, done) = m_sub->allow(name);
if (result == false)
done = true;
}
@@ -319,7 +319,7 @@
// fall through
case state_Element:
- tie(result, done) = (*m_next)->allow(name);
+ boost::fusion::tie(result, done) = (*m_next)->allow(name);
while (result == false and done)
{
++m_next;
@@ -330,7 +330,7 @@
break;
}
- tie(result, done) = (*m_next)->allow(name);
+ boost::fusion::tie(result, done) = (*m_next)->allow(name);
}
break;
}
@@ -404,7 +404,7 @@
case state_Start:
for (list<state_ptr>::iterator choice = m_states.begin(); choice != m_states.end(); ++choice)
{
- tie(result, done) = (*choice)->allow(name);
+ boost::fusion::tie(result, done) = (*choice)->allow(name);
if (result == true)
{
m_sub = *choice;
@@ -415,7 +415,7 @@
break;
case state_Choice:
- tie(result, done) = m_sub->allow(name);
+ boost::fusion::tie(result, done) = m_sub->allow(name);
break;
}
@@ -490,7 +490,7 @@
bool validator::allow(const string& name)
{
bool result;
- tie(result, m_done) = m_state->allow(name);
+ boost::fusion::tie(result, m_done) = m_state->allow(name);
return result;
}
Author: Logan Rosen <logan@ubuntu.com>
Last-Update: Wed, 17 Dec 2014 02:40:34 -0500
Bugs-Debian: http://bugs.debian.org/773339
Description: fix linking order for ld --as-needed
You can read more about this option here:
https://wiki.debian.org/ToolChain/DSOLinking#Only_link_with_needed_libraries
--- a/makefile
+++ b/makefile
@@ -62,7 +62,7 @@
ld -r -o $@ $(OBJECTS)
$(LIB_NAME): $(OBJECTS)
- $(CXX) -shared -o $@ -Wl,-soname=$(SO_NAME) $(LDFLAGS) $(OBJECTS)
+ $(CXX) -shared -o $@ -Wl,-soname=$(SO_NAME) $(OBJECTS) $(LDFLAGS)
$(SO_NAME): $(LIB_NAME)
ln -fs $(LIB_NAME) $@
......@@ -19,7 +19,7 @@ Author: Maarten L. Hekkelman <m.hekkelman@cmbi.ru.nl>
-LIBDIR ?= $(PREFIX)/lib
-INCDIR ?= $(PREFIX)/include
-MANDIR ?= $(PREFIX)/man/man3
-DOCDIR ?= $(PREFIX)/share/doc/libzeep-doc
-DOCDIR ?= $(PREFIX)/share/libzeep
+LIBDIR = $(DESTDIR)/usr/lib
+INCDIR = $(DESTDIR)/usr/include
+MANDIR = $(DESTDIR)/usr/share/man/man3
......@@ -31,7 +31,15 @@ Author: Maarten L. Hekkelman <m.hekkelman@cmbi.ru.nl>
BOOST_LIBS = system thread filesystem regex math_c99 random
BOOST_LIBS := $(BOOST_LIBS:%=boost_%$(BOOST_LIB_SUFFIX))
@@ -32,13 +30,9 @@
@@ -25,20 +23,16 @@
LDFLAGS += $(BOOST_LIB_DIR:%=-L%) $(LIBS:%=-l%) -g
VERSION_MAJOR = 3.0
-VERSION_MINOR = 4
+VERSION_MINOR = 5
VERSION = $(VERSION_MAJOR).$(VERSION_MINOR)
DIST_NAME = libzeep-$(VERSION)
SO_NAME = libzeep.so.$(VERSION_MAJOR)
LIB_NAME = $(SO_NAME).$(VERSION_MINOR)
CXX ?= c++
......@@ -40,7 +48,7 @@ Author: Maarten L. Hekkelman <m.hekkelman@cmbi.ru.nl>
-#CFLAGS += -g $(BOOST_INC_DIR:%=-I%) -I. -fPIC -pthread -shared # -std=c++0x
-CFLAGS += -Wall
-CFLAGS += -g
+CXXFLAGS += -O2 -I. -fPIC -pthread -shared -std=c++11
+CXXFLAGS += -O2 -I. -fPIC -pthread -shared -std=c++0x
+CXXFLAGS += -Wall
LD ?= ld
-LD_CONFIG ?= ldconfig
......@@ -56,33 +64,39 @@ Author: Maarten L. Hekkelman <m.hekkelman@cmbi.ru.nl>
libzeep.a: $(OBJECTS)
ar rc $@ $(OBJECTS)
@@ -88,14 +82,10 @@
install $(LIB_NAME) $(LIBDIR)/$(LIB_NAME)
strip --strip-unneeded $(LIBDIR)/$(LIB_NAME)
ln -Tfs $(LIB_NAME) $(LIBDIR)/$(SO_NAME)
- ln -Tfs $(LIB_NAME) $(LIBDIR)/libzeep.so
- $(LD_CONFIG) -n $(LIBDIR)
-install-dev: libzeep.a
+install-dev:
install -d $(LIBDIR) $(INCDIR)/zeep/xml $(INCDIR)/zeep/http $(INCDIR)/zeep/http/webapp
@@ -91,21 +85,17 @@
install-dev: doc libzeep.a
install -d $(MANDIR) $(LIBDIR) $(INCDIR)/zeep/xml $(INCDIR)/zeep/http $(INCDIR)/zeep/http/webapp
-
for f in `find zeep -name "*.hpp"`; do install $$f $(INCDIR)/$$f; done
-
install doc/libzeep.3 $(MANDIR)/libzeep.3
- for d in . images libzeep zeep zeep/http zeep/http/preforked_server_base zeep/http/el \
- zeep/http/el/object zeep/xml zeep/xml/doctype zeep/xml/container zeep/xml/element \
- index; do install -d $(DOCDIR)/$$d; install doc/html/$$d/* $(DOCDIR)/$$d; done;
- install ./libzeep.a $(LIBDIR)/libzeep.a
- strip -SX $(LIBDIR)/libzeep.a
+ install -d $(DOCDIR)
+ cd doc/html; for d in `find . -type d`; do install -d $(DOCDIR)/$$d; done
+ cd doc/html; for f in `find . -type f`; do install $$f $(DOCDIR)/$$f; done
ln -Tfs $(LIB_NAME) $(LIBDIR)/libzeep.so
$(LD_CONFIG) -n $(LIBDIR)
install: install-libs install-dev
install-doc: doc
install -d $(MANDIR) $(DOCDIR)/html
@@ -110,7 +100,6 @@
-dist: lib doc
+dist: lib
rm -rf $(DIST_NAME)
mkdir -p $(DIST_NAME)
git archive master | tar xC $(DIST_NAME)
find doc/html -depth | cpio -pd $(DIST_NAME)
- rm -rf $(DIST_NAME)/tests
@@ -116,25 +106,17 @@
tar czf $(DIST_NAME).tgz $(DIST_NAME)
rm -rf $(DIST_NAME)
@@ -118,12 +107,12 @@
cd doc; bjam
-doc: FORCE
- cd doc; bjam
-
obj/%.o: %.cpp | obj
- $(CXX) -MD -c -o $@ $< $(CFLAGS)
+ $(CXX) -MD -c -o $@ $< $(CXXFLAGS)
......@@ -95,3 +109,12 @@ Author: Maarten L. Hekkelman <m.hekkelman@cmbi.ru.nl>
$(OBJECTS:.o=.d):
-test: libzeep.a
- make -C tests
-
clean:
rm -rf obj/* libzeep.a libzeep.so* zeep-test $(DIST_NAME) $(DIST_NAME).tgz
- cd doc; bjam clean
- $(MAKE) -C tests clean
FORCE:
......@@ -12,4 +12,4 @@ override_dh_auto_build:
override_dh_auto_install:
$(MAKE) DESTDIR=$(CURDIR)/debian/libzeep3.0v5 install-libs
$(MAKE) DESTDIR=$(CURDIR)/debian/libzeep-dev install-dev install-doc
$(MAKE) DESTDIR=$(CURDIR)/debian/libzeep-dev install-dev
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Macro SOAP_SERVER_HAS_PREFORK</title>
<link rel="stylesheet" href="boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="libzeep 3.0">
<link rel="up" href="index/s05.html#header..home.maarten.projects.libzeep.zeep.config_hpp" title="Header &lt;/home/maarten/projects/libzeep/zeep/config.hpp&gt;">
<link rel="prev" href="SOAP_XML_HAS_EXPAT_SUPPORT.html" title="Macro SOAP_XML_HAS_EXPAT_SUPPORT">
<link rel="next" href="zeep/dispatcher.html" title="Class dispatcher">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="spirit-nav">
<a accesskey="p" href="SOAP_XML_HAS_EXPAT_SUPPORT.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="index/s05.html#header..home.maarten.projects.libzeep.zeep.config_hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="zeep/dispatcher.html"><img src="images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="SOAP_SERVER_HAS_PREFORK"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Macro SOAP_SERVER_HAS_PREFORK</span></h2>
<p>SOAP_SERVER_HAS_PREFORK</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="index/s05.html#header..home.maarten.projects.libzeep.zeep.config_hpp" title="Header &lt;/home/maarten/projects/libzeep/zeep/config.hpp&gt;">/home/maarten/projects/libzeep/zeep/config.hpp</a>&gt;
</span>SOAP_SERVER_HAS_PREFORK</pre></div>
<div class="refsect1">
<a name="idm1866"></a><h2>Description</h2>
<p>The http server implementation in libzeep can use a preforked mode. That means the main process listens to a network port and passes the socket to a client process for doing the actual handling. The advantages for a setup like this is that if the client fails, the server can detect this and restart the client thereby guaranteeing a better uptime. </p>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2012-2019 Maarten L. Hekkelman<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="SOAP_XML_HAS_EXPAT_SUPPORT.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="index/s05.html#header..home.maarten.projects.libzeep.zeep.config_hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="zeep/dispatcher.html"><img src="images/next.png" alt="Next"></a>
</div>
</body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Macro SOAP_XML_ADD_ENUM</title>
<link rel="stylesheet" href="boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="libzeep 3.0">
<link rel="up" href="index/s05.html#header..home.maarten.projects.libzeep.zeep.xml.serialize_hpp" title="Header &lt;/home/maarten/projects/libzeep/zeep/xml/serialize.hpp&gt;">
<link rel="prev" href="SOAP_XML_SET_STRUCT_NAME.html" title="Macro SOAP_XML_SET_STRUCT_NAME">
<link rel="next" href="zeep/xml/unicode.html" title="Type definition unicode">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="spirit-nav">
<a accesskey="p" href="SOAP_XML_SET_STRUCT_NAME.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="index/s05.html#header..home.maarten.projects.libzeep.zeep.xml.serialize_hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="zeep/xml/unicode.html"><img src="images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="SOAP_XML_ADD_ENUM"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Macro SOAP_XML_ADD_ENUM</span></h2>
<p>SOAP_XML_ADD_ENUM &#8212; A macro to add the name of an enum value to the serializer. </p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="index/s05.html#header..home.maarten.projects.libzeep.zeep.xml.serialize_hpp" title="Header &lt;/home/maarten/projects/libzeep/zeep/xml/serialize.hpp&gt;">/home/maarten/projects/libzeep/zeep/xml/serialize.hpp</a>&gt;
</span>SOAP_XML_ADD_ENUM(e, v)</pre></div>
<div class="refsect1">
<a name="idm22118"></a><h2>Description</h2>
<p>To be able to correctly use enum values in a schema file or when serializing, you have to specify the enum values.</p>
<p>E.g., if you have a struct name Algorithm with values 'vector', 'dice' and 'jaccard' you would write:</p>
<div class="blockquote"><blockquote class="blockquote"><p>enum Algorithm { vector, dice, jaccard }; SOAP_XML_ADD_ENUM(Algorithm, vector); SOAP_XML_ADD_ENUM(Algorithm, dice); SOAP_XML_ADD_ENUM(Algorithm, jaccard); </p></blockquote></div>
<p>An alternative (better?) way to do this is:</p>
<div class="blockquote"><blockquote class="blockquote"><p>zeep::xml::enum_map&lt;Algorithm&gt;::instance("Algorithm").add_enum() ("vector", vector) ("dice", dice) ("jaccard", jaccard); </p></blockquote></div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2012-2019 Maarten L. Hekkelman<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="SOAP_XML_SET_STRUCT_NAME.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="index/s05.html#header..home.maarten.projects.libzeep.zeep.xml.serialize_hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="zeep/xml/unicode.html"><img src="images/next.png" alt="Next"></a>
</div>
</body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Macro SOAP_XML_HAS_EXPAT_SUPPORT</title>
<link rel="stylesheet" href="boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="libzeep 3.0">
<link rel="up" href="index/s05.html#header..home.maarten.projects.libzeep.zeep.config_hpp" title="Header &lt;/home/maarten/projects/libzeep/zeep/config.hpp&gt;">
<link rel="prev" href="index/s05.html" title="Reference">
<link rel="next" href="SOAP_SERVER_HAS_PREFORK.html" title="Macro SOAP_SERVER_HAS_PREFORK">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="spirit-nav">
<a accesskey="p" href="index/s05.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="index/s05.html#header..home.maarten.projects.libzeep.zeep.config_hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="SOAP_SERVER_HAS_PREFORK.html"><img src="images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="SOAP_XML_HAS_EXPAT_SUPPORT"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Macro SOAP_XML_HAS_EXPAT_SUPPORT</span></h2>
<p>SOAP_XML_HAS_EXPAT_SUPPORT</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="index/s05.html#header..home.maarten.projects.libzeep.zeep.config_hpp" title="Header &lt;/home/maarten/projects/libzeep/zeep/config.hpp&gt;">/home/maarten/projects/libzeep/zeep/config.hpp</a>&gt;
</span>SOAP_XML_HAS_EXPAT_SUPPORT</pre></div>
<div class="refsect1">
<a name="idm1852"></a><h2>Description</h2>
<p>Libzeep comes with its own XML parser implementation. If you prefer you can use expat instead. To do so you have to define the SOAP_XML_HAS_EXPAT_SUPPORT flag and then you can call the zeep::xml::document::set_parser_type function to specify expat. </p>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2012-2019 Maarten L. Hekkelman<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="index/s05.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="index/s05.html#header..home.maarten.projects.libzeep.zeep.config_hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="SOAP_SERVER_HAS_PREFORK.html"><img src="images/next.png" alt="Next"></a>
</div>
</body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Macro SOAP_XML_SET_STRUCT_NAME</title>
<link rel="stylesheet" href="boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="libzeep 3.0">
<link rel="up" href="index/s05.html#header..home.maarten.projects.libzeep.zeep.xml.serialize_hpp" title="Header &lt;/home/maarten/projects/libzeep/zeep/xml/serialize.hpp&gt;">
<link rel="prev" href="ZEEP_ATTRIBUTE_NAME_VALUE.html" title="Macro ZEEP_ATTRIBUTE_NAME_VALUE">
<link rel="next" href="SOAP_XML_ADD_ENUM.html" title="Macro SOAP_XML_ADD_ENUM">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="spirit-nav">
<a accesskey="p" href="ZEEP_ATTRIBUTE_NAME_VALUE.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="index/s05.html#header..home.maarten.projects.libzeep.zeep.xml.serialize_hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="SOAP_XML_ADD_ENUM.html"><img src="images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="SOAP_XML_SET_STRUCT_NAME"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Macro SOAP_XML_SET_STRUCT_NAME</span></h2>
<p>SOAP_XML_SET_STRUCT_NAME &#8212; A macro to assign a name to a struct used in serialization. </p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="index/s05.html#header..home.maarten.projects.libzeep.zeep.xml.serialize_hpp" title="Header &lt;/home/maarten/projects/libzeep/zeep/xml/serialize.hpp&gt;">/home/maarten/projects/libzeep/zeep/xml/serialize.hpp</a>&gt;
</span>SOAP_XML_SET_STRUCT_NAME(s)</pre></div>
<div class="refsect1">
<a name="idm22102"></a><h2>Description</h2>
<p>By default, libzeep uses the typeid(s).name() as the name for an element. That's often not what is intented. Calling this macro will make sure the type name you used in your code will be used instead.</p>
<p>E.g., struct FindResult { ... } might end up with a mangled name in the schema. To use FindResult instead, call SOAP_XML_SET_STRUCT_NAME(FindResult);</p>
<p>An alternative is to call, which allows different schema and struct names: zeep::xml::struct_serializer&lt;FindResult&gt;::set_struct_name("FindResult"); </p>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2012-2019 Maarten L. Hekkelman<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="ZEEP_ATTRIBUTE_NAME_VALUE.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="index/s05.html#header..home.maarten.projects.libzeep.zeep.xml.serialize_hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="SOAP_XML_ADD_ENUM.html"><img src="images/next.png" alt="Next"></a>
</div>
</body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Macro ZEEP_ATTRIBUTE_NAME_VALUE</title>
<link rel="stylesheet" href="boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="libzeep 3.0">
<link rel="up" href="index/s05.html#header..home.maarten.projects.libzeep.zeep.xml.serialize_hpp" title="Header &lt;/home/maarten/projects/libzeep/zeep/xml/serialize.hpp&gt;">
<link rel="prev" href="ZEEP_ELEMENT_NAME_VALUE.html" title="Macro ZEEP_ELEMENT_NAME_VALUE">
<link rel="next" href="SOAP_XML_SET_STRUCT_NAME.html" title="Macro SOAP_XML_SET_STRUCT_NAME">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="spirit-nav">
<a accesskey="p" href="ZEEP_ELEMENT_NAME_VALUE.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="index/s05.html#header..home.maarten.projects.libzeep.zeep.xml.serialize_hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="SOAP_XML_SET_STRUCT_NAME.html"><img src="images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="ZEEP_ATTRIBUTE_NAME_VALUE"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Macro ZEEP_ATTRIBUTE_NAME_VALUE</span></h2>
<p>ZEEP_ATTRIBUTE_NAME_VALUE</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="index/s05.html#header..home.maarten.projects.libzeep.zeep.xml.serialize_hpp" title="Header &lt;/home/maarten/projects/libzeep/zeep/xml/serialize.hpp&gt;">/home/maarten/projects/libzeep/zeep/xml/serialize.hpp</a>&gt;
</span>ZEEP_ATTRIBUTE_NAME_VALUE(name)</pre></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2012-2019 Maarten L. Hekkelman<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="ZEEP_ELEMENT_NAME_VALUE.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="index/s05.html#header..home.maarten.projects.libzeep.zeep.xml.serialize_hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="SOAP_XML_SET_STRUCT_NAME.html"><img src="images/next.png" alt="Next"></a>
</div>
</body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Macro ZEEP_ELEMENT_NAME_VALUE</title>
<link rel="stylesheet" href="boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="libzeep 3.0">
<link rel="up" href="index/s05.html#header..home.maarten.projects.libzeep.zeep.xml.serialize_hpp" title="Header &lt;/home/maarten/projects/libzeep/zeep/xml/serialize.hpp&gt;">
<link rel="prev" href="zeep/xml/serializer.html" title="Struct serializer">
<link rel="next" href="ZEEP_ATTRIBUTE_NAME_VALUE.html" title="Macro ZEEP_ATTRIBUTE_NAME_VALUE">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="spirit-nav">
<a accesskey="p" href="zeep/xml/serializer.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="index/s05.html#header..home.maarten.projects.libzeep.zeep.xml.serialize_hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ZEEP_ATTRIBUTE_NAME_VALUE.html"><img src="images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="ZEEP_ELEMENT_NAME_VALUE"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Macro ZEEP_ELEMENT_NAME_VALUE</span></h2>
<p>ZEEP_ELEMENT_NAME_VALUE</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="index/s05.html#header..home.maarten.projects.libzeep.zeep.xml.serialize_hpp" title="Header &lt;/home/maarten/projects/libzeep/zeep/xml/serialize.hpp&gt;">/home/maarten/projects/libzeep/zeep/xml/serialize.hpp</a>&gt;
</span>ZEEP_ELEMENT_NAME_VALUE(name)</pre></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2012-2019 Maarten L. Hekkelman<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="zeep/xml/serializer.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="index/s05.html#header..home.maarten.projects.libzeep.zeep.xml.serialize_hpp"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="ZEEP_ATTRIBUTE_NAME_VALUE.html"><img src="images/next.png" alt="Next"></a>
</div>
</body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>libzeep 3.0</title>
<link rel="stylesheet" href="boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="libzeep 3.0">
<link rel="next" href="libzeep/intro.html" title="Introduction">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="spirit-nav"><a accesskey="n" href="libzeep/intro.html"><img src="images/next.png" alt="Next"></a></div>
<div class="article">
<div class="titlepage">
<div>
<div><h2 class="title">
<a name="libzeep"></a>libzeep 3.0</h2></div>
<div><div class="authorgroup"><div class="author"><h3 class="author">
<span class="firstname">Maarten L.</span> <span class="surname">Hekkelman</span>
</h3></div></div></div>
<div><p class="copyright">Copyright &#169; 2012-2019 Maarten L. Hekkelman</p></div>
<div><div class="legalnotice">
<a name="libzeep.legal"></a><p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></div>
</div>
<hr>
</div>
<div class="toc">
<p><b>Table of Contents</b></p>
<dl class="toc">
<dt><span class="section"><a href="index.html#libzeep.overview">Overview</a></span></dt>
<dt><span class="section"><a href="libzeep/intro.html">Introduction</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="libzeep/intro.html#libzeep.intro.xml">XML Parser</a></span></dt>
<dt><span class="section"><a href="libzeep/intro.html#libzeep.intro.xml_serialization">XML Serialization</a></span></dt>
<dt><span class="section"><a href="libzeep/intro.html#libzeep.intro.xpath">XPath 1.0</a></span></dt>
<dt><span class="section"><a href="libzeep/intro.html#libzeep.intro.http">HTTP Server</a></span></dt>
<dt><span class="section"><a href="libzeep/intro.html#libzeep.intro.soap">SOAP Server</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="libzeep/soap.html">Creating a SOAP and REST server</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="libzeep/soap.html#libzeep.soap.intro">Introduction</a></span></dt>
<dt><span class="section"><a href="libzeep/soap.html#libzeep.soap.basics">A real world example</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="libzeep/webapp.html">Creating a Web Application</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="libzeep/webapp.html#libzeep.webapp.intro">Introduction</a></span></dt>
<dt><span class="section"><a href="libzeep/webapp.html#libzeep.webapp.basics">The building blocks</a></span></dt>
<dt><span class="section"><a href="libzeep/webapp.html#libzeep.webapp.hello">Hello world!</a></span></dt>
<dt><span class="section"><a href="libzeep/webapp.html#libzeep.webapp.forms">Using forms</a></span></dt>
<dt><span class="section"><a href="libzeep/webapp.html#libzeep.webapp.el">Using <code class="computeroutput"><span class="identifier">el</span></code>
script</a></span></dt>
<dt><span class="section"><a href="libzeep/webapp.html#libzeep.webapp.processing_tags">Processing Tags</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="index/s05.html">Reference</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="index/s05.html#header..home.maarten.projects.libzeep.zeep.config_hpp">Header &lt;/home/maarten/projects/libzeep/zeep/config.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="index/s05.html#header..home.maarten.projects.libzeep.zeep.dispatcher_hpp">Header &lt;/home/maarten/projects/libzeep/zeep/dispatcher.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="index/s05.html#header..home.maarten.projects.libzeep.zeep.envelope_hpp">Header &lt;/home/maarten/projects/libzeep/zeep/envelope.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="index/s05.html#header..home.maarten.projects.libzeep.zeep.exception_hpp">Header &lt;/home/maarten/projects/libzeep/zeep/exception.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="index/s05.html#header..home.maarten.projects.libzeep.zeep.http.connection_hpp">Header &lt;/home/maarten/projects/libzeep/zeep/http/connection.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="index/s05.html#header..home.maarten.projects.libzeep.zeep.http.header_hpp">Header &lt;/home/maarten/projects/libzeep/zeep/http/header.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="index/s05.html#header..home.maarten.projects.libzeep.zeep.http.md5_hpp">Header &lt;/home/maarten/projects/libzeep/zeep/http/md5.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="index/s05.html#header..home.maarten.projects.libzeep.zeep.http.message_parser_hpp">Header &lt;/home/maarten/projects/libzeep/zeep/http/message_parser.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="index/s05.html#header..home.maarten.projects.libzeep.zeep.http.preforked-server_hpp">Header &lt;/home/maarten/projects/libzeep/zeep/http/preforked-server.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="index/s05.html#header..home.maarten.projects.libzeep.zeep.http.reply_hpp">Header &lt;/home/maarten/projects/libzeep/zeep/http/reply.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="index/s05.html#header..home.maarten.projects.libzeep.zeep.http.request_hpp">Header &lt;/home/maarten/projects/libzeep/zeep/http/request.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="index/s05.html#header..home.maarten.projects.libzeep.zeep.http.request_handler_hpp">Header &lt;/home/maarten/projects/libzeep/zeep/http/request_handler.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="index/s05.html#header..home.maarten.projects.libzeep.zeep.http.webapp_hpp">Header &lt;/home/maarten/projects/libzeep/zeep/http/webapp.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="index/s05.html#header..home.maarten.projects.libzeep.zeep.http.webapp.el_hpp">Header &lt;/home/maarten/projects/libzeep/zeep/http/webapp/el.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="index/s05.html#header..home.maarten.projects.libzeep.zeep.server_hpp">Header &lt;/home/maarten/projects/libzeep/zeep/server.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="index/s05.html#header..home.maarten.projects.libzeep.zeep.http.server_hpp">Header &lt;/home/maarten/projects/libzeep/zeep/http/server.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="index/s05.html#header..home.maarten.projects.libzeep.zeep.xml.doctype_hpp">Header &lt;/home/maarten/projects/libzeep/zeep/xml/doctype.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="index/s05.html#header..home.maarten.projects.libzeep.zeep.xml.document_hpp">Header &lt;/home/maarten/projects/libzeep/zeep/xml/document.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="index/s05.html#header..home.maarten.projects.libzeep.zeep.xml.node_hpp">Header &lt;/home/maarten/projects/libzeep/zeep/xml/node.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="index/s05.html#header..home.maarten.projects.libzeep.zeep.xml.parser_hpp">Header &lt;/home/maarten/projects/libzeep/zeep/xml/parser.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="index/s05.html#header..home.maarten.projects.libzeep.zeep.xml.serialize_hpp">Header &lt;/home/maarten/projects/libzeep/zeep/xml/serialize.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="index/s05.html#header..home.maarten.projects.libzeep.zeep.xml.unicode_support_hpp">Header &lt;/home/maarten/projects/libzeep/zeep/xml/unicode_support.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="index/s05.html#header..home.maarten.projects.libzeep.zeep.xml.writer_hpp">Header &lt;/home/maarten/projects/libzeep/zeep/xml/writer.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="index/s05.html#header..home.maarten.projects.libzeep.zeep.xml.xpath_hpp">Header &lt;/home/maarten/projects/libzeep/zeep/xml/xpath.hpp&gt;</a></span></dt>
</dl></dd>
</dl>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="libzeep.overview"></a><a class="link" href="index.html#libzeep.overview" title="Overview">Overview</a>
</h2></div></div></div>
<p>
Libzeep is packaged as one library, but actually contains two different libraries.
The first part of libzeep consists of code to read, manipulate and write XML.
It contains a validating XML parser, an XPath implementation to query a DOM
tree, code to serialize objects into and out of XML and finally it contains
an XML writing module.
</p>
<p>
The second part of libzeep is targeted to writing SOAP and REST servers as
well as full web applications using C++. There is a simple HTTP server implementation,
code to create SOAP (and REST) servers out of existing C++ objects and there
is code to create complete web applications that work a bit like popular Java
web application frameworks. The libzeep web application framework turns page
templates consisting of XHTML with custom tags and a custom script language
into HTML.
</p>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"><p><small>Last revised: May 09, 2019 at 09:05:48 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>
<div class="spirit-nav"><a accesskey="n" href="libzeep/intro.html"><img src="images/next.png" alt="Next"></a></div>
</body>
</html>
This diff is collapsed.
index.html
libzeep/intro.html
libzeep/soap.html
libzeep/webapp.html
index/s05.html
SOAP_XML_HAS_EXPAT_SUPPORT.html
SOAP_SERVER_HAS_PREFORK.html
zeep/dispatcher.html
zeep/envelope.html
zeep/make_envelope.html
zeep/make_fault_idm2208.html
zeep/make_fault_idm2221.html
zeep/exception.html
zeep/http/connection.html
zeep/http/header.html
zeep/http/md5.html
zeep/http/parser.html
zeep/http/reply_parser.html
zeep/http/request_parser.html
zeep/http/preforked_server.html
zeep/http/reply.html
zeep/http/request.html
zeep/http/request_handler.html
zeep/http/basic_webapp.html
zeep/http/basic_webapp/mount_point.html
zeep/http/parameter_map.html
zeep/http/parameter_value.html
zeep/http/unauthorized_exception.html
zeep/http/webapp.html
zeep/http/el/object.html
zeep/http/el/object/basic_iterator.html
zeep/http/el/scope.html
zeep/http/el/process_el.html
zeep/http/el/evaluate_el_idm3682.html
zeep/http/el/evaluate_el_idm3705.html
zeep/server.html
zeep/http/server.html
zeep/http/decode_url.html
zeep/http/encode_url.html
zeep/xml/doctype/allowed_any.html
zeep/xml/doctype/allowed_base.html
zeep/xml/doctype/allowed_choice.html
zeep/xml/doctype/allowed_element.html
zeep/xml/doctype/allowed_empty.html
zeep/xml/doctype/allowed_repeated.html
zeep/xml/doctype/allowed_seq.html
zeep/xml/doctype/attribute.html
zeep/xml/doctype/element.html
zeep/xml/doctype/entity.html
zeep/xml/doctype/general_entity.html
zeep/xml/doctype/parameter_entity.html
zeep/xml/doctype/validator.html
zeep/xml/document.html
zeep/xml/attribute.html
zeep/xml/cdata.html
zeep/xml/comment.html
zeep/xml/container.html
zeep/xml/container/basic_iterator.html
zeep/xml/element.html
zeep/xml/element/attribute_iterator.html
zeep/xml/element/const_attribute_iterator.html
zeep/xml/name_space.html
zeep/xml/node.html
zeep/xml/processing_instruction.html
zeep/xml/root_node.html
zeep/xml/text.html
zeep/xml/invalid_exception.html
zeep/xml/not_wf_exception.html
zeep/xml/parser.html
zeep/xml/attribute_nvp.html
zeep/xml/deserializer.html
zeep/xml/element_nvp.html
zeep/xml/schema_creator.html
zeep/xml/serializer.html
ZEEP_ELEMENT_NAME_VALUE.html
ZEEP_ATTRIBUTE_NAME_VALUE.html
SOAP_XML_SET_STRUCT_NAME.html
SOAP_XML_ADD_ENUM.html
zeep/xml/unicode.html
zeep/xml/writer.html
zeep/xml/context.html
zeep/xml/xpath.html
This diff is collapsed.
This diff is collapsed.