TwoWayThreadModule.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002  *  TwoWayThreadModule.h
00003  *
00004  *  (C) 2006 AG Aktives Sehen <agas@uni-koblenz.de>
00005  *           Universitaet Koblenz-Landau
00006  *
00007  *  Additional information:
00008  *  $Id: TwoWayThreadModule.h 44313 2011-04-06 22:46:28Z agas $
00009  ******************************************************************************/
00010 
00011 #ifndef TWOWAYTHREADMODULE_H
00012 #define TWOWAYTHREADMODULE_H
00013 
00014 #include "Thread.h"
00015 #include "Condition.h"
00016 #include "ThreadQueue.h"
00017 
00038 template<class OutT, class InT>
00039 class TwoWayThreadModule : public Thread
00040 {
00041 
00042   public:
00043 
00048     TwoWayThreadModule( size_t numInQueues ) : Thread()
00049     {
00050 
00051     }
00052 
00053     virtual ~TwoWayThreadModule()
00054     {}
00055 
00061     void pushOut ( OutT element, size_t queueId )
00062     {
00063       m_OutboundQueue.push ( element );
00064     }
00065 
00071     OutT popOut()
00072     {
00073       return ( m_OutboundQueue.pop() );
00074     }
00075 
00079     int sizeOut()
00080     {
00081       return m_OutboundQueue.size();
00082     }
00083 
00090     void pushIn ( InT element )
00091     {
00092       m_InboundQueue.push ( element );
00093     }
00094 
00100     InT popIn()
00101     {
00102       return ( m_InboundQueue.pop() );
00103     }
00104 
00108     bool emptyIn()
00109     {
00110       return m_InboundQueue.empty();
00111     }
00112 
00116     int sizeIn()
00117     {
00118       return m_InboundQueue.size();
00119     }
00120 
00121   protected:
00122 
00123 };
00124 
00125 #endif


robbie_architecture
Author(s): Viktor Seib
autogenerated on Mon Oct 6 2014 02:53:09