+++ /dev/null
-// Copyright (C) 2007
-// Fraunhofer Institute for Open Communication Systems (FOKUS)
-// Competence Center NETwork research (NET), St. Augustin, GERMANY
-// David Wagner <dw6@berlios.de>
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the
-// Free Software Foundation, Inc.,
-// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-#include "ForwardSwitch.hh"
-
-#define prefix_ inline
-
-prefix_ senf::ppi::module::ForwardSwitch::ForwardSwitch(bool state)
- :forward_(state)
-{
- route( input, output );
- input.onRequest( &ForwardSwitch::onRequest );
-}
-
-prefix_ void senf::ppi::module::ForwardSwitch::onRequest()
-{
- if(forward_){
- output.write(input.read());
- } else {
- input.read(); // and discard automatically
- }
-}
-
-prefix_ bool senf::ppi::module::ForwardSwitch::forward(){
- return forward_;
-}
-
-prefix_ bool senf::ppi::module::ForwardSwitch::forward(bool state){
- forward_ = state;
- return state;
-}
-
-prefix_ bool senf::ppi::module::ForwardSwitch::stopForwarding(){
- return forward(false);
-}
-
-
-prefix_ bool senf::ppi::module::ForwardSwitch::startForwarding(){
- return forward(true);
-}
-
-#undef prefix_
-
+++ /dev/null
-// Copyright (C) 2007
-// Fraunhofer Institute for Open Communication Systems (FOKUS)
-// Competence Center NETwork research (NET), St. Augustin, GERMANY
-// David Wagner <dw6@berlios.de>
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the
-// Free Software Foundation, Inc.,
-// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-#ifndef HH_SENF_PPI_ForwardSwitch_
-#define HH_SENF_PPI_ForwardSwitch_
-
-// Custom includes
-#include "Connectors.hh"
-#include "Module.hh"
-
-namespace senf {
-namespace ppi {
-namespace module {
-
-class ForwardSwitch
- : public Module
-{
- SENF_PPI_MODULE(ForwardSwitch);
-public:
-
- connector::PassiveInput<> input;
- connector::ActiveOutput<> output;
-
- ForwardSwitch(bool state);
- bool forward();
- bool forward(bool state);
- bool stopForwarding();
- bool startForwarding();
-private:
- void onRequest();
- bool forward_;
-
-};
-
-}}} //namespaces
-#include "ForwardSwitch.cci"
-#endif /*HH_SENF_PPI_ForwardSwitch_*/