From 1500d350bb472bc50d36642060e559bb67c1d185 Mon Sep 17 00:00:00 2001 From: Marc Cromme Date: Thu, 6 Oct 2005 09:53:11 +0000 Subject: [PATCH] build system added --- Makefile.am | 15 +----- configure.in | 10 +--- src/Makefile.am | 32 ++++------- src/design.h | 147 +++++++++++++++++++++++++++++++++++++++++++++++++++ src/design_main.cpp | 69 ++++++++++++++++++++++++ src/p3_filter.h | 147 --------------------------------------------------- src/p3_main.cpp | 69 ------------------------ 7 files changed, 230 insertions(+), 259 deletions(-) create mode 100644 src/design.h create mode 100644 src/design_main.cpp delete mode 100644 src/p3_filter.h delete mode 100644 src/p3_main.cpp diff --git a/Makefile.am b/Makefile.am index 16e47c8..b2e0eb5 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,16 +1,5 @@ AUTOMAKE_OPTIONS = foreign -SUBDIRS = src include etc doc +SUBDIRS = src -EXTRA_DIST= README LICENSE yazpp.m4 yaz.m4 usemarcon.m4 buildconf.sh - -dist-hook: - mkdir $(distdir)/win - cp $(srcdir)/win/makefile $(distdir)/win/ - mkdir $(distdir)/debian - cp $(srcdir)/debian/control $(distdir)/debian - cp $(srcdir)/debian/changelog $(distdir)/debian - cp $(srcdir)/debian/rules $(distdir)/debian - cp $(srcdir)/debian/postinst $(distdir)/debian - cp $(srcdir)/debian/compat $(distdir)/debian - cp $(srcdir)/debian/*.install $(distdir)/debian +EXTRA_DIST= yazpp.m4 yaz.m4 usemarcon.m4 buildconf.sh diff --git a/configure.in b/configure.in index a41d27c..d58baad 100644 --- a/configure.in +++ b/configure.in @@ -1,5 +1,5 @@ AC_INIT(configure.in) -AM_INIT_AUTOMAKE(yazproxy,1.1.0) +AM_INIT_AUTOMAKE(yp2,0.0.0) AC_PROG_CC AC_PROG_CPP @@ -52,13 +52,7 @@ AC_SUBST(YAZPROXY_BUILD_ROOT) YAZPROXY_SRC_ROOT=`cd ${srcdir}; pwd` YAZPROXY_BUILD_ROOT=`pwd` AC_OUTPUT([ + Doxyfile Makefile src/Makefile - include/Makefile - include/yazproxy/Makefile - doc/Makefile - doc/yazproxy.xml - doc/yazprint.dsl doc/yazphp.dsl doc/yazhtml.dsl - doc/tkl.xsl - etc/Makefile ]) diff --git a/src/Makefile.am b/src/Makefile.am index c650337..3bbe77b 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,35 +1,23 @@ -## $Id: Makefile.am,v 1.1 2005-10-06 09:37:25 marc Exp $ +## $Id: Makefile.am,v 1.2 2005-10-06 09:53:11 marc Exp $ -AM_CXXFLAGS = $(YAZPPINC) -I$(srcdir)/../include $(XSLT_CFLAGS) $(USEMARCONINC) +AM_CXXFLAGS = $(YAZPPINC) $(XSLT_CFLAGS) $(USEMARCONINC) -lib_LTLIBRARIES = libyazproxy.la -libyazproxy_la_LDFLAGS=-version-info 1:0:0 +bin_PROGRAMS = +check_PROGRAMS = +noinst_PROGRAMS = p2 design -libyazproxy_la_SOURCES= yaz-proxy.cpp yaz-proxy-config.cpp yaz-bw.cpp \ - proxyp.h yaz-usemarcon.cpp charset-converter.cpp msg-thread.cpp msg-thread.h \ - modules.cpp +TESTS=$(check_PROGRAMS) -bin_PROGRAMS = yazproxy -check_PROGRAMS = cdetails -noinst_PROGRAMS = tstthreads t-server p2 +design_SOURCES=design.h design_main.cpp -TESTS=$(check_PROGRAMS) -yazproxy_SOURCES=yaz-proxy-main.cpp -cdetails_SOURCES=cdetails.cpp -tstthreads_SOURCES=tstthreads.cpp -t_server_SOURCES=t-server.cpp p2_SOURCES=p2_frontend.cpp p2_msg.cpp p2.cpp p2_frontend.h \ p2_config.cpp p2_config.h \ p2_backend.h p2_backend_dummy.cpp \ p2_modules.cpp p2_modules.h \ - p2_xmlerror.cpp p2_xmlerror.h + p2_xmlerror.cpp p2_xmlerror.h msg-thread.h msg-thread.cpp -LDADD=libyazproxy.la $(YAZPPLALIB) $(XSLT_LIBS) $(USEMARCONLALIB) -libyazproxy_la_LIBADD = $(XSLT_LIBS) +LDADD= $(YAZPPLALIB) $(XSLT_LIBS) $(USEMARCONLALIB) -# Modules -mod_proxy_sample_la_SOURCES = mod_sample.cpp -mod_proxy_sample_la_LDFLAGS = -rpath $(pkglibdir) -module -avoid-version -pkglib_LTLIBRARIES = mod_proxy_sample.la +# Modules diff --git a/src/design.h b/src/design.h new file mode 100644 index 0000000..bb6f5b1 --- /dev/null +++ b/src/design.h @@ -0,0 +1,147 @@ + +#ifndef P3_FILTER_H +#define P3_FILTER_H + +#include + + +namespace p3 { + + class Package; + + + + class Filter { + public: + virtual ~Filter(){}; + virtual Package & process(Package & package) const { + return package; + }; + virtual void configure(){}; + + // set/get the C++ way .. just as showoff + + // get function - returns copy and keeps object const, + // thus is right val in assignment + unsigned int max_front_workers() const { + return m_max_front; + } + // set function - returns reference and changes object, + // thus is left val in assignment + unsigned int & max_front_workers() { + return m_max_front; + } + // more traditional set function, taking const reference + // or copy (here const ref for demo), returning ref to object + // can be chained with other similar functions! + Filter & max_front_workers(const unsigned int & max_front){ + m_max_front = max_front; + return *this; + } + + private: + unsigned int m_max_front; + }; + + + class Filter_Exception : public std::runtime_error { + public: + Filter_Exception(const std::string message) + : std::runtime_error("Filter_Exception: " + message){ + }; + }; + + + class Router { + public: + virtual ~Router(){}; + virtual const Filter & + route(const Filter & filter, Package & package) const { + //if (!m_sillyrule) + //throw Router_Exception("no routing rules known"); + return m_sillyrule; + }; + virtual void configure(){}; + Router & rule(Filter filter){ + m_sillyrule = filter; + return *this; + } + private: + Filter m_sillyrule; + }; + + + class Router_Exception : public std::runtime_error { + public: + Router_Exception(const std::string message) + : std::runtime_error("Router_Exception: " + message){}; + }; + + + class Package { + public: + + // send package to it's next filter defined in chain + void move() { + Filter oldfilter; + Filter nextfilter = m_router.route(oldfilter, *this); + nextfilter.process(*this); + } + + + // get function - returns copy and keeps object const, + // thus is right val in assignment + unsigned int data() const { + return m_data; + } + // set function - returns reference and changes object, + // thus is left val in assignment + unsigned int & data() { + return m_data; + } + + // more traditional set function, taking const reference + // or copy (here const ref for demo), returning ref to object + // can be chained with other similar functions! + Package & data(const unsigned int & data){ + m_data = data; + return *this; + } + + // get function - returns copy and keeps object const, + // thus is right val in assignment + Router router() const { + return m_router; + } + // set function - returns reference and changes object, + // thus is left val in assignment + Router & router() { + return m_router; + } + // more traditional set function, taking const reference + // or copy (here const ref for demo), returning ref to object + // can be chained with other similar functions! + Package & router(const Router & router){ + m_router = router; + return *this; + } + + private: + unsigned int m_data; + Router m_router; + }; + + + class Package_Exception : public std::runtime_error { + public: + Package_Exception(const std::string message) + : std::runtime_error("Package_Exception: " + message){ + }; + }; + + + + +} + +#endif diff --git a/src/design_main.cpp b/src/design_main.cpp new file mode 100644 index 0000000..f5c2820 --- /dev/null +++ b/src/design_main.cpp @@ -0,0 +1,69 @@ + +#include +#include "design.h" + + + +int main(int argc, char **argv) { + + // test filter set/get/exception + try { + std::cout << "\nTRY" << "\n"; + p3::Filter filter; + unsigned int tmp; + + filter.max_front_workers(1).max_front_workers(2); + tmp = filter.max_front_workers(); + std::cout << "workers: " << tmp << "\n"; + + filter.max_front_workers() = 3; + tmp = filter.max_front_workers(); + std::cout << "workers: " << tmp << "\n"; + + throw p3::Filter_Exception("finished"); + } + catch (std::exception &e) { + std::cout << e.what() << "\n"; + } + + + try { + std::cout << "\nTRY" << "\n"; + + p3::Filter filter1; + p3::Filter filter2; + + std::cout << "filter1 filter2" << "\n"; + + p3::Router router1; + router1.rule(filter1); + std::cout << "router1.rule(filter1)" << "\n"; + + p3::Router router2; + router2.rule(filter2); + std::cout << "router2.rule(filter2)" << "\n"; + + p3::Package pack_in; + pack_in.data(7).router(router1); + std::cout << "pack_in.data(7).router(router1)" << "\n"; + + pack_in.move(); + std::cout << "pack_in.move()" << "\n"; + + pack_in.router(router2); + std::cout << "pack_in.router(router2)" << "\n"; + + pack_in.move(); + std::cout << "pack_in.move()" << "\n"; + + throw p3::Router_Exception("finished"); + + } + catch (std::exception &e) { + std::cout << e.what() << "\n"; + } + + + +} + diff --git a/src/p3_filter.h b/src/p3_filter.h deleted file mode 100644 index bb6f5b1..0000000 --- a/src/p3_filter.h +++ /dev/null @@ -1,147 +0,0 @@ - -#ifndef P3_FILTER_H -#define P3_FILTER_H - -#include - - -namespace p3 { - - class Package; - - - - class Filter { - public: - virtual ~Filter(){}; - virtual Package & process(Package & package) const { - return package; - }; - virtual void configure(){}; - - // set/get the C++ way .. just as showoff - - // get function - returns copy and keeps object const, - // thus is right val in assignment - unsigned int max_front_workers() const { - return m_max_front; - } - // set function - returns reference and changes object, - // thus is left val in assignment - unsigned int & max_front_workers() { - return m_max_front; - } - // more traditional set function, taking const reference - // or copy (here const ref for demo), returning ref to object - // can be chained with other similar functions! - Filter & max_front_workers(const unsigned int & max_front){ - m_max_front = max_front; - return *this; - } - - private: - unsigned int m_max_front; - }; - - - class Filter_Exception : public std::runtime_error { - public: - Filter_Exception(const std::string message) - : std::runtime_error("Filter_Exception: " + message){ - }; - }; - - - class Router { - public: - virtual ~Router(){}; - virtual const Filter & - route(const Filter & filter, Package & package) const { - //if (!m_sillyrule) - //throw Router_Exception("no routing rules known"); - return m_sillyrule; - }; - virtual void configure(){}; - Router & rule(Filter filter){ - m_sillyrule = filter; - return *this; - } - private: - Filter m_sillyrule; - }; - - - class Router_Exception : public std::runtime_error { - public: - Router_Exception(const std::string message) - : std::runtime_error("Router_Exception: " + message){}; - }; - - - class Package { - public: - - // send package to it's next filter defined in chain - void move() { - Filter oldfilter; - Filter nextfilter = m_router.route(oldfilter, *this); - nextfilter.process(*this); - } - - - // get function - returns copy and keeps object const, - // thus is right val in assignment - unsigned int data() const { - return m_data; - } - // set function - returns reference and changes object, - // thus is left val in assignment - unsigned int & data() { - return m_data; - } - - // more traditional set function, taking const reference - // or copy (here const ref for demo), returning ref to object - // can be chained with other similar functions! - Package & data(const unsigned int & data){ - m_data = data; - return *this; - } - - // get function - returns copy and keeps object const, - // thus is right val in assignment - Router router() const { - return m_router; - } - // set function - returns reference and changes object, - // thus is left val in assignment - Router & router() { - return m_router; - } - // more traditional set function, taking const reference - // or copy (here const ref for demo), returning ref to object - // can be chained with other similar functions! - Package & router(const Router & router){ - m_router = router; - return *this; - } - - private: - unsigned int m_data; - Router m_router; - }; - - - class Package_Exception : public std::runtime_error { - public: - Package_Exception(const std::string message) - : std::runtime_error("Package_Exception: " + message){ - }; - }; - - - - -} - -#endif diff --git a/src/p3_main.cpp b/src/p3_main.cpp deleted file mode 100644 index ee4c4a2..0000000 --- a/src/p3_main.cpp +++ /dev/null @@ -1,69 +0,0 @@ - -#include -#include "p3_filter.h" - - - -int main(int argc, char **argv) { - - // test filter set/get/exception - try { - std::cout << "\nTRY" << "\n"; - p3::Filter filter; - unsigned int tmp; - - filter.max_front_workers(1).max_front_workers(2); - tmp = filter.max_front_workers(); - std::cout << "workers: " << tmp << "\n"; - - filter.max_front_workers() = 3; - tmp = filter.max_front_workers(); - std::cout << "workers: " << tmp << "\n"; - - throw p3::Filter_Exception("finished"); - } - catch (std::exception &e) { - std::cout << e.what() << "\n"; - } - - - try { - std::cout << "\nTRY" << "\n"; - - p3::Filter filter1; - p3::Filter filter2; - - std::cout << "filter1 filter2" << "\n"; - - p3::Router router1; - router1.rule(filter1); - std::cout << "router1.rule(filter1)" << "\n"; - - p3::Router router2; - router2.rule(filter2); - std::cout << "router2.rule(filter2)" << "\n"; - - p3::Package pack_in; - pack_in.data(7).router(router1); - std::cout << "pack_in.data(7).router(router1)" << "\n"; - - pack_in.move(); - std::cout << "pack_in.move()" << "\n"; - - pack_in.router(router2); - std::cout << "pack_in.router(router2)" << "\n"; - - pack_in.move(); - std::cout << "pack_in.move()" << "\n"; - - throw p3::Router_Exception("finished"); - - } - catch (std::exception &e) { - std::cout << e.what() << "\n"; - } - - - -} - -- 1.7.10.4