Use namespace yp2::filter for filters .. Rename filters from
authorAdam Dickmeiss <adam@indexdata.dk>
Sat, 15 Oct 2005 13:13:58 +0000 (13:13 +0000)
committerAdam Dickmeiss <adam@indexdata.dk>
Sat, 15 Oct 2005 13:13:58 +0000 (13:13 +0000)
yp2::FilterSomething we use yp2::filter:Something. The base filter
class is called yp2::filter::Base.

src/ex_filter_frontend_net.cpp
src/filter.hpp
src/filter_frontend_net.cpp
src/filter_frontend_net.hpp
src/filter_log.cpp
src/filter_log.hpp
src/package.hpp
src/router.hpp
src/test_filter1.cpp
src/test_filter2.cpp
src/test_filter_frontend_net.cpp

index 41813af..778cd18 100644 (file)
@@ -15,7 +15,7 @@ namespace po = boost::program_options;
 #include "session.hpp"
 #include "package.hpp"
 
-class FilterInit: public yp2::Filter {
+class FilterInit: public yp2::filter::Base {
 public:
     void process(yp2::Package & package) const {
 
@@ -96,7 +96,7 @@ int main(int argc, char **argv)
            yp2::RouterChain router;
 
             // put frontend filter in router
-            yp2::FilterFrontendNet filter_front;
+            yp2::filter::FrontendNet filter_front;
             filter_front.ports() = ports;
 
             // 0=no time, >0 timeout in seconds
@@ -106,7 +106,7 @@ int main(int argc, char **argv)
            router.rule(filter_front);
 
             // put log filter in router
-            yp2::FilterLog filter_log;
+            yp2::filter::Log filter_log;
             router.rule(filter_log);
 
             // put backend init filter in router
index f66457c..73bf2ca 100644 (file)
@@ -7,36 +7,37 @@
 namespace yp2 {
 
     class Package;
-    
-    class Filter {
-    public:
-        virtual ~Filter(){};
 
-        ///sends Package off to next Filter, returns altered Package
-        virtual  void process(Package & package) const {
+    namespace filter {
+        class Base {
+        public:
+            virtual ~Base(){};
+            
+            ///sends Package off to next Filter, returns altered Package
+            virtual  void process(Package & package) const {
+            };
+            virtual  void configure(){};
+            
+            /// get function - right val in assignment
+            std::string name() const {
+                return m_name;
+            }
+            
+            /// set function - left val in assignment
+            std::string & name() {
+                return m_name;
+            }
+            
+            /// set function - can be chained
+            Base & name(const std::string & name){
+                m_name = name;
+                return *this;
+            }
+            
+        private:
+            std::string m_name;
         };
-        virtual  void configure(){};
-
-        /// get function - right val in assignment
-        std::string name() const {
-            return m_name;
-        }
-
-        /// set function - left val in assignment
-        std::string & name() {
-            return m_name;
-        }
-
-        /// set function - can be chained
-        Filter & name(const std::string & name){
-            m_name = name;
-            return *this;
-        }
-        
-    private:
-        std::string m_name;
-    };
-    
+    }
     
     class FilterException : public std::runtime_error {
     public:
index d610cee..5b7f59d 100644 (file)
 
 #include <iostream>
 
-using namespace yp2;
-
 class ZAssocServerChild : public yazpp_1::Z_Assoc {
 public:
     ~ZAssocServerChild();
     ZAssocServerChild(yazpp_1::IPDU_Observable *the_PDU_Observable,
-              ThreadPoolSocketObserver *m_thread_pool_observer,
-              const Package *package);
+              yp2::ThreadPoolSocketObserver *m_thread_pool_observer,
+              const yp2::Package *package);
     int m_no_requests;
 private:
     yazpp_1::IPDU_Observer* sessionNotify(
@@ -33,17 +31,17 @@ private:
     void timeoutNotify();
     void connectNotify();
 private:
-    ThreadPoolSocketObserver *m_thread_pool_observer;
-    Session m_session;
-    Origin m_origin;
+    yp2::ThreadPoolSocketObserver *m_thread_pool_observer;
+    yp2::Session m_session;
+    yp2::Origin m_origin;
     bool m_delete_flag;
-    const Package *m_package;
+    const yp2::Package *m_package;
 };
 
 
-class ThreadPoolPackage : public IThreadPoolMsg {
+class ThreadPoolPackage : public yp2::IThreadPoolMsg {
 public:
-    ThreadPoolPackage(Package *package, ZAssocServerChild *ses) :
+    ThreadPoolPackage(yp2::Package *package, ZAssocServerChild *ses) :
        m_session(ses), m_package(package) { };
     ~ThreadPoolPackage();
     IThreadPoolMsg *handle();
@@ -51,7 +49,7 @@ public:
     
 private:
     ZAssocServerChild *m_session;
-    Package *m_package;
+    yp2::Package *m_package;
     
 };
 
@@ -75,17 +73,17 @@ void ThreadPoolPackage::result()
     delete this;
 }
 
-IThreadPoolMsg *ThreadPoolPackage::handle() 
+yp2::IThreadPoolMsg *ThreadPoolPackage::handle() 
 {
     m_package->move();
     return this;
 }
 
 
-ZAssocServerChild::ZAssocServerChild(yazpp_1::IPDU_Observable *the_PDU_Observable,
-                      ThreadPoolSocketObserver *my_thread_pool,
-                      const Package *package)
-    :  Z_Assoc(the_PDU_Observable)
+ZAssocServerChild::ZAssocServerChild(yazpp_1::IPDU_Observable *PDU_Observable,
+                                    yp2::ThreadPoolSocketObserver *my_thread_pool,
+                                    const yp2::Package *package)
+    :  Z_Assoc(PDU_Observable)
 {
     m_thread_pool_observer = my_thread_pool;
     m_no_requests = 0;
@@ -108,7 +106,7 @@ void ZAssocServerChild::recv_GDU(Z_GDU *z_pdu, int len)
 {
     m_no_requests++;
 
-    Package *p = new Package(m_session, m_origin);
+    yp2::Package *p = new yp2::Package(m_session, m_origin);
 
     ThreadPoolPackage *tp = new ThreadPoolPackage(p, this);
     p->copy_filter(*m_package);
@@ -125,7 +123,7 @@ void ZAssocServerChild::failNotify()
 
     m_session.close();
 
-    Package *p = new Package(m_session, m_origin);
+    yp2::Package *p = new yp2::Package(m_session, m_origin);
 
     ThreadPoolPackage *tp = new ThreadPoolPackage(p, this);
     p->copy_filter(*m_package);
@@ -145,9 +143,9 @@ void ZAssocServerChild::connectNotify()
 class ZAssocServer : public yazpp_1::Z_Assoc {
 public:
     ~ZAssocServer();
-    ZAssocServer(yazpp_1::IPDU_Observable *the_PDU_Observable,
-              ThreadPoolSocketObserver *m_thread_pool_observer,
-             const Package *package);
+    ZAssocServer(yazpp_1::IPDU_Observable *PDU_Observable,
+              yp2::ThreadPoolSocketObserver *m_thread_pool_observer,
+             const yp2::Package *package);
 private:
     yazpp_1::IPDU_Observer* sessionNotify(
         yazpp_1::IPDU_Observable *the_PDU_Observable,
@@ -158,15 +156,15 @@ private:
     void timeoutNotify();
     void connectNotify();
 private:
-    ThreadPoolSocketObserver *m_thread_pool_observer;
-    const Package *m_package;
+    yp2::ThreadPoolSocketObserver *m_thread_pool_observer;
+    const yp2::Package *m_package;
 };
 
 
-ZAssocServer::ZAssocServer(yazpp_1::IPDU_Observable *the_PDU_Observable,
-                     ThreadPoolSocketObserver *thread_pool_observer,
-                    const Package *package)
-    :  Z_Assoc(the_PDU_Observable)
+ZAssocServer::ZAssocServer(yazpp_1::IPDU_Observable *PDU_Observable,
+                          yp2::ThreadPoolSocketObserver *thread_pool_observer,
+                          const yp2::Package *package)
+    :  Z_Assoc(PDU_Observable)
 {
     m_thread_pool_observer = thread_pool_observer;
     m_package = package;
@@ -202,7 +200,7 @@ void ZAssocServer::connectNotify()
 {
 }
 
-FilterFrontendNet::FilterFrontendNet()
+yp2::filter::FrontendNet::FrontendNet()
 {
     m_no_threads = 5;
     m_listen_duration = 0;
@@ -242,7 +240,7 @@ void My_Timer_Thread::socketNotify(int event)
     close(m_fd[1]);
 }
 
-void FilterFrontendNet::process(Package &package) const {
+void yp2::filter::FrontendNet::process(Package &package) const {
     yazpp_1::SocketManager mySocketManager;
 
     My_Timer_Thread *tt = 0;
@@ -276,12 +274,12 @@ void FilterFrontendNet::process(Package &package) const {
     delete tt;
 }
 
-std::vector<std::string> &FilterFrontendNet::ports()
+std::vector<std::string> &yp2::filter::FrontendNet::ports()
 {
     return m_ports;
 }
 
-int &FilterFrontendNet::listen_duration()
+int &yp2::filter::FrontendNet::listen_duration()
 {
     return m_listen_duration;
 }
index b1c6bd4..6fd0856 100644 (file)
@@ -8,19 +8,21 @@
 #include "filter.hpp"
 
 namespace yp2 {
-    class FilterFrontendNet : public yp2::Filter {
-    public:
-       FilterFrontendNet::FilterFrontendNet();
-       void process(yp2::Package & package) const;
-    private:
-        int m_no_threads;
-        std::vector<std::string> m_ports;
-        int m_listen_duration;
-    public:
-        /// set function - left val in assignment
-        std::vector<std::string> &ports();
-        int &listen_duration();
-    };
+    namespace filter {
+        class FrontendNet : public Base {
+        public:
+            FrontendNet::FrontendNet();
+            void process(yp2::Package & package) const;
+        private:
+            int m_no_threads;
+            std::vector<std::string> m_ports;
+            int m_listen_duration;
+        public:
+            /// set function - left val in assignment
+            std::vector<std::string> &ports();
+            int &listen_duration();
+        };
+    }
 }
 
 
index 333658b..f652c3b 100644 (file)
@@ -13,9 +13,9 @@
 
 #include <iostream>
 
-yp2::FilterLog::FilterLog() {}
+yp2::filter::Log::Log() {}
 
-void yp2::FilterLog::process(Package &package) const {
+void yp2::filter::Log::process(Package &package) const {
 
     Z_GDU *gdu;
 
index 84d1491..78c261c 100644 (file)
@@ -8,11 +8,13 @@
 #include "filter.hpp"
 
 namespace yp2 {
-    class FilterLog : public yp2::Filter {
-    public:
-       FilterLog::FilterLog();
-       void process(yp2::Package & package) const;
-    };
+    namespace filter {
+        class Log : public Base {
+        public:
+            Log::Log();
+            void process(yp2::Package & package) const;
+        };
+    }
 }
 
 #endif
index 0b5288e..f756511 100644 (file)
@@ -107,7 +107,7 @@ namespace yp2 {
         Session m_session;
         Origin m_origin;
         
-        const Filter *m_filter;
+        const filter::Base *m_filter;
         const Router *m_router;
         unsigned int m_data;
         
index 72be7f9..d92db4c 100644 (file)
@@ -6,10 +6,11 @@
 #include <list>
 
 namespace yp2 {
-
+    namespace filter {
+        class Base;
+    }
     class Package;
     
-    class Filter; 
     class RouterException : public std::runtime_error {
     public:
         RouterException(const std::string message)
@@ -23,7 +24,7 @@ namespace yp2 {
         virtual ~Router(){};
 
         /// determines next Filter to use from current Filter and Package
-        virtual const Filter *move(const Filter *filter,
+        virtual const filter::Base *move(const filter::Base *filter,
                                    const Package *package) const {
             return 0;
         };
@@ -32,7 +33,7 @@ namespace yp2 {
         virtual void configure(){};
 
         /// add routing rule expressed as Filter to Router
-        virtual Router & rule(const Filter &filter){
+        virtual Router & rule(const filter::Base &filter){
             return *this;
         }
     private:
@@ -48,9 +49,9 @@ namespace yp2 {
     public:
         RouterChain(){};
         virtual ~RouterChain(){};
-        virtual const Filter *move(const Filter *filter,
+        virtual const filter::Base *move(const filter::Base *filter,
                                    const Package *package) const {
-            std::list<const Filter *>::const_iterator it;
+            std::list<const filter::Base *>::const_iterator it;
             it = m_filter_list.begin();
             if (filter)
                 {
@@ -69,12 +70,12 @@ namespace yp2 {
             return *it;
         };
         virtual void configure(){};
-        RouterChain & rule(const Filter &filter){
+        RouterChain & rule(const filter::Base &filter){
             m_filter_list.push_back(&filter);
             return *this;
         }
     protected:
-        std::list<const Filter *> m_filter_list;
+        std::list<const filter::Base *> m_filter_list;
     private:
         /// disabled because class is singleton
         RouterChain(const RouterChain &);
index 592e6ce..02b9fa7 100644 (file)
@@ -10,7 +10,7 @@
 
 using namespace boost::unit_test;
 
-class TFilter: public yp2::Filter {
+class TFilter: public yp2::filter::Base {
 public:
     void process(yp2::Package & package) const {};
 };
index f5cf20a..a02b74f 100644 (file)
@@ -13,7 +13,7 @@
 using namespace boost::unit_test;
 
 
-class FilterConstant: public yp2::Filter {
+class FilterConstant: public yp2::filter::Base {
 public:
     void process(yp2::Package & package) const {
        package.data() = 1234;
@@ -22,7 +22,7 @@ public:
 };
 
 
-class FilterDouble: public yp2::Filter {
+class FilterDouble: public yp2::filter::Base {
 public:
     void process(yp2::Package & package) const {
        package.data() = package.data() * 2;
index f6b9c5d..9b74cd3 100644 (file)
@@ -14,7 +14,7 @@
 
 using namespace boost::unit_test;
 
-class FilterInit: public yp2::Filter {
+class FilterInit: public yp2::filter::Base {
 public:
     void process(yp2::Package & package) const {
 
@@ -45,7 +45,7 @@ BOOST_AUTO_TEST_CASE( test_filter_frontend_net_1 )
     try 
     {
         {
-            yp2::FilterFrontendNet nf;
+            yp2::filter::FrontendNet nf;
         }
     }
     catch ( ... ) {
@@ -101,7 +101,7 @@ BOOST_AUTO_TEST_CASE( test_filter_frontend_net_3 )
            yp2::RouterChain router;
 
             // put in frontend first
-            yp2::FilterFrontendNet filter_front;
+            yp2::filter::FrontendNet filter_front;
 
             std::vector <std::string> ports;
             ports.insert(ports.begin(), "unix:socket");