replaced tabs with spaces.
[senf.git] / PPI / ForwardSwitch.cci
index 7b8012a..9447bab 100644 (file)
 #define prefix_ inline
 
 prefix_  senf::ppi::module::ForwardSwitch::ForwardSwitch(bool state) 
+    :forward_(state)
 {
     route( input, output );
     input.onRequest( &ForwardSwitch::onRequest );
-    forward_ = state;
 }
 
 prefix_  void senf::ppi::module::ForwardSwitch::onRequest() 
 {
-       if(forward_){
-               output(input());
-       }
+    if(forward_){
+        output.write(input.read());
+    } else {
+        input.read(); // and discard automatically
+    }
 }
 
 prefix_ bool  senf::ppi::module::ForwardSwitch::forward(){
-       return forward_;
+    return forward_;
 }
 
 prefix_ bool  senf::ppi::module::ForwardSwitch::forward(bool state){
-       forward_ = state;
-       return state;
+    forward_ = state;
+    return state;
 }
 
 prefix_ bool  senf::ppi::module::ForwardSwitch::stopForwarding(){
-       return forward(false);
+    return forward(false);
 }
 
 
 prefix_ bool  senf::ppi::module::ForwardSwitch::startForwarding(){
-       return forward(true);
+    return forward(true);
 }
 
 #undef prefix_