From: tho Date: Tue, 10 Feb 2009 10:56:31 +0000 (+0000) Subject: PPI: moved ForwardSwitch to ppi-pool X-Git-Url: http://g0dil.de/git?a=commitdiff_plain;h=4c509bca3dda711e9318c3a3221e0e3563aad075;p=senf.git PPI: moved ForwardSwitch to ppi-pool git-svn-id: https://svn.berlios.de/svnroot/repos/senf/trunk@1112 270642c3-0616-0410-b53a-bc976706d245 --- diff --git a/PPI/ForwardSwitch.cci b/PPI/ForwardSwitch.cci deleted file mode 100644 index 9447bab..0000000 --- a/PPI/ForwardSwitch.cci +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright (C) 2007 -// Fraunhofer Institute for Open Communication Systems (FOKUS) -// Competence Center NETwork research (NET), St. Augustin, GERMANY -// David Wagner -// -// 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_ - diff --git a/PPI/ForwardSwitch.hh b/PPI/ForwardSwitch.hh deleted file mode 100644 index 20649bf..0000000 --- a/PPI/ForwardSwitch.hh +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright (C) 2007 -// Fraunhofer Institute for Open Communication Systems (FOKUS) -// Competence Center NETwork research (NET), St. Augustin, GERMANY -// David Wagner -// -// 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_*/