362c1f4c3b5ce9e3fce11167a51fbe4cdb2174de
Stefan Schuermans implemented priority based...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp   1) /* Blinker
Stefan Schuermans update copyright header

Stefan Schuermans authored 5 years ago

src/common/PriorityInput.cpp   2)    Copyright 2011-2019 Stefan Schuermans <stefan@blinkenarea.org>
Stefan Schuermans implemented priority based...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp   3)    Copyleft GNU public license - http://www.gnu.org/copyleft/gpl.html
src/noarch/PriorityInput.cpp   4)    a blinkenarea.org project */
src/noarch/PriorityInput.cpp   5) 
src/noarch/PriorityInput.cpp   6) #include <string>
src/noarch/PriorityInput.cpp   7) 
src/noarch/PriorityInput.cpp   8) #include <BlinkenLib/BlinkenFrame.h>
src/noarch/PriorityInput.cpp   9) 
src/noarch/PriorityInput.cpp  10) #include "Directory.h"
src/noarch/PriorityInput.cpp  11) #include "File.h"
Stefan Schuermans implemented specialized set...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  12) #include "InStreamFile.h"
Stefan Schuermans implemented priority based...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  13) #include "Priority.h"
src/noarch/PriorityInput.cpp  14) #include "PriorityInput.h"
src/noarch/PriorityInput.cpp  15) #include "StreamMgr.h"
src/noarch/PriorityInput.cpp  16) #include "StreamRecv.h"
src/noarch/PriorityInput.cpp  17) 
src/noarch/PriorityInput.cpp  18) namespace Blinker {
src/noarch/PriorityInput.cpp  19) 
src/noarch/PriorityInput.cpp  20) /**
src/noarch/PriorityInput.cpp  21)  * @brief constructor
src/noarch/PriorityInput.cpp  22)  * @param[in] priority owning priority based selector
src/noarch/PriorityInput.cpp  23)  * @param[in] name name of input (i.e. priority)
src/noarch/PriorityInput.cpp  24)  * @param[in] dirBase base directory
src/noarch/PriorityInput.cpp  25)  */
src/noarch/PriorityInput.cpp  26) Priority::Input::Input(Priority &priority, const std::string &name,
src/noarch/PriorityInput.cpp  27)                        const Directory &dirBase):
src/noarch/PriorityInput.cpp  28)   m_priority(priority),
src/noarch/PriorityInput.cpp  29)   m_name(name),
Stefan Schuermans put all managers in one str...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  30)   m_fileInStream(dirBase.getFile("instream"), priority.m_mgrs.m_streamMgr),
Stefan Schuermans implemented priority based...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  31)   m_pFrame(NULL)
src/noarch/PriorityInput.cpp  32) {
Stefan Schuermans implemented specialized set...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  33)   // set up
src/noarch/PriorityInput.cpp  34)   m_fileInStream.setStreamRecv(this);
Stefan Schuermans implemented priority based...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  35) }
src/noarch/PriorityInput.cpp  36) 
src/noarch/PriorityInput.cpp  37) /// virtual destructor
src/noarch/PriorityInput.cpp  38) Priority::Input::~Input()
src/noarch/PriorityInput.cpp  39) {
Stefan Schuermans implemented specialized set...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  40)   // clean up
src/noarch/PriorityInput.cpp  41)   m_fileInStream.setStreamRecv(NULL);
Stefan Schuermans implemented priority based...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  42) }
src/noarch/PriorityInput.cpp  43) 
src/noarch/PriorityInput.cpp  44) /// check for update of configuration
src/noarch/PriorityInput.cpp  45) void Priority::Input::updateConfig()
src/noarch/PriorityInput.cpp  46) {
src/noarch/PriorityInput.cpp  47)   // input stream name file was modified -> re-get input stream
src/noarch/PriorityInput.cpp  48)   if (m_fileInStream.checkModified()) {
Stefan Schuermans implemented specialized set...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  49)     frame(NULL); // unset frame to force priority reevalulation
src/noarch/PriorityInput.cpp  50)     m_fileInStream.update();
Stefan Schuermans implemented priority based...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  51)   }
src/noarch/PriorityInput.cpp  52) }
src/noarch/PriorityInput.cpp  53) 
src/noarch/PriorityInput.cpp  54) /**
src/noarch/PriorityInput.cpp  55)  * @brief set current frame
src/noarch/PriorityInput.cpp  56)  * @param[in] stream stream name
Stefan Schuermans merged frame processing wit...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  57)  * @param[in] pFrame current frame (NULL for none)
Stefan Schuermans implemented priority based...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  58)  */
Stefan Schuermans 80 char reformatting

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  59) void Priority::Input::setFrame(const std::string &stream,
src/noarch/PriorityInput.cpp  60)                                stBlinkenFrame *pFrame)
Stefan Schuermans implemented priority based...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  61) {
src/noarch/PriorityInput.cpp  62)   frame(pFrame);
src/noarch/PriorityInput.cpp  63)   (void)stream; // unused
src/noarch/PriorityInput.cpp  64) }
src/noarch/PriorityInput.cpp  65) 
src/noarch/PriorityInput.cpp  66) /**
src/noarch/PriorityInput.cpp  67)  * @brief get current frame
Stefan Schuermans simplified interface of get...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  68)  * @return current frame (NULL if none)
Stefan Schuermans implemented priority based...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  69)  */
Stefan Schuermans simplified interface of get...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  70) stBlinkenFrame * Priority::Input::getCurFrame()
Stefan Schuermans implemented priority based...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  71) {
Stefan Schuermans simplified interface of get...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  72)   return m_pFrame;
Stefan Schuermans implemented priority based...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  73) }
src/noarch/PriorityInput.cpp  74) 
src/noarch/PriorityInput.cpp  75) /**
src/noarch/PriorityInput.cpp  76)  * @brief set current frame
Stefan Schuermans merged frame processing wit...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  77)  * @param[in] pFrame current frame (NULL for none)
Stefan Schuermans implemented priority based...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  78)  */
src/noarch/PriorityInput.cpp  79) void Priority::Input::frame(stBlinkenFrame *pFrame)
src/noarch/PriorityInput.cpp  80) {
src/noarch/PriorityInput.cpp  81)   // save new frame
src/noarch/PriorityInput.cpp  82)   m_pFrame = pFrame;
src/noarch/PriorityInput.cpp  83) 
Stefan Schuermans merged frame processing wit...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  84)   // there is a frame now
src/noarch/PriorityInput.cpp  85)   if (pFrame) {
Stefan Schuermans implemented priority based...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  86) 
Stefan Schuermans merged frame processing wit...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  87)     // if we are current input
Stefan Schuermans created template class for...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  88)     if (m_priority.m_itCurIn != m_priority.m_inListTracker.m_list.rend() &&
src/noarch/PriorityInput.cpp  89)         m_priority.m_itCurIn->m_pObj == this)
Stefan Schuermans merged frame processing wit...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  90)       // pass on frame
Stefan Schuermans implemented specialized set...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  91)       m_priority.m_fileOutStream.setFrame(pFrame);
Stefan Schuermans merged frame processing wit...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  92) 
src/noarch/PriorityInput.cpp  93)     // we have a higher priority than current input
Stefan Schuermans created template class for...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  94)     if (m_priority.m_itCurIn == m_priority.m_inListTracker.m_list.rend() ||
Stefan Schuermans merged frame processing wit...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp  95)         m_priority.m_itCurIn->m_name < m_name)
src/noarch/PriorityInput.cpp  96)       // tell priority based selector to select us as input
src/noarch/PriorityInput.cpp  97)       m_priority.select(this);
src/noarch/PriorityInput.cpp  98) 
src/noarch/PriorityInput.cpp  99)   }
src/noarch/PriorityInput.cpp 100)   // there is no frame
src/noarch/PriorityInput.cpp 101)   else {
src/noarch/PriorityInput.cpp 102) 
src/noarch/PriorityInput.cpp 103)     // if we are current input
Stefan Schuermans created template class for...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp 104)     if (m_priority.m_itCurIn != m_priority.m_inListTracker.m_list.rend() &&
src/noarch/PriorityInput.cpp 105)         m_priority.m_itCurIn->m_pObj == this)
Stefan Schuermans merged frame processing wit...

Stefan Schuermans authored 12 years ago

src/noarch/PriorityInput.cpp 106)       // tell priority based selector to select lower priority input
src/noarch/PriorityInput.cpp 107)       m_priority.selectLower();
src/noarch/PriorityInput.cpp 108) 
src/noarch/PriorityInput.cpp 109)   }