f670ca05dd608c9d5b0300ca1dc493f6ffd8afa1
Stefan Schuermans implemented operator connec...

Stefan Schuermans authored 12 years ago

src/noarch/OpMgr.cpp  1) /* Blinker
Stefan Schuermans update copyright years

Stefan Schuermans authored 10 years ago

src/noarch/OpMgr.cpp  2)    Copyright 2011-2014 Stefan Schuermans <stefan@blinkenarea.org>
Stefan Schuermans implemented operator connec...

Stefan Schuermans authored 12 years ago

src/noarch/OpMgr.cpp  3)    Copyleft GNU public license - http://www.gnu.org/copyleft/gpl.html
src/noarch/OpMgr.cpp  4)    a blinkenarea.org project */
src/noarch/OpMgr.cpp  5) 
src/noarch/OpMgr.cpp  6) #include <map>
src/noarch/OpMgr.cpp  7) #include <string>
src/noarch/OpMgr.cpp  8) 
src/noarch/OpMgr.cpp  9) #include "OpConn.h"
src/noarch/OpMgr.cpp 10) #include "OpConnIf.h"
src/noarch/OpMgr.cpp 11) #include "OpMgr.h"
src/noarch/OpMgr.cpp 12) #include "OpReqIf.h"
src/noarch/OpMgr.cpp 13) 
src/noarch/OpMgr.cpp 14) namespace Blinker {
src/noarch/OpMgr.cpp 15) 
src/noarch/OpMgr.cpp 16) /// constructor
src/noarch/OpMgr.cpp 17) OpMgr::OpMgr()
src/noarch/OpMgr.cpp 18) {
src/noarch/OpMgr.cpp 19) }
src/noarch/OpMgr.cpp 20) 
src/noarch/OpMgr.cpp 21) /// destructor
src/noarch/OpMgr.cpp 22) OpMgr::~OpMgr()
src/noarch/OpMgr.cpp 23) {
src/noarch/OpMgr.cpp 24) }
src/noarch/OpMgr.cpp 25) 
src/noarch/OpMgr.cpp 26) /**
src/noarch/OpMgr.cpp 27)  * @brief open operator interface
src/noarch/OpMgr.cpp 28)  * @param[in] name operator interface name
src/noarch/OpMgr.cpp 29)  * @param[in] pOpReqIf interface to call on incoming operator request
src/noarch/OpMgr.cpp 30)  * @return if operator interface could be opened
src/noarch/OpMgr.cpp 31)  */
src/noarch/OpMgr.cpp 32) bool OpMgr::open(const std::string &name, OpReqIf *pOpReqIf)
src/noarch/OpMgr.cpp 33) {
src/noarch/OpMgr.cpp 34)   if (m_reqIfs.find(name) != m_reqIfs.end())
src/noarch/OpMgr.cpp 35)     return false; // already open
src/noarch/OpMgr.cpp 36)   m_reqIfs[name] = pOpReqIf;
src/noarch/OpMgr.cpp 37)   return true;
src/noarch/OpMgr.cpp 38) }
src/noarch/OpMgr.cpp 39) 
src/noarch/OpMgr.cpp 40) /**
src/noarch/OpMgr.cpp 41)  * @brief close operator interface
src/noarch/OpMgr.cpp 42)  * @param[in] name operator interface name
src/noarch/OpMgr.cpp 43)  * @return if interface name was open before
src/noarch/OpMgr.cpp 44)  */
src/noarch/OpMgr.cpp 45) bool OpMgr::close(const std::string &name)
src/noarch/OpMgr.cpp 46) {
src/noarch/OpMgr.cpp 47)   ReqIfMap::iterator itReqIf = m_reqIfs.find(name);
src/noarch/OpMgr.cpp 48)   if (itReqIf == m_reqIfs.end())
src/noarch/OpMgr.cpp 49)     return false; // was not open
src/noarch/OpMgr.cpp 50)   m_reqIfs.erase(itReqIf);
src/noarch/OpMgr.cpp 51)   return true;
src/noarch/OpMgr.cpp 52) }
src/noarch/OpMgr.cpp 53) 
Stefan Schuermans implemented single mode for...

Stefan Schuermans authored 12 years ago

src/noarch/OpMgr.cpp 54) /**
src/noarch/OpMgr.cpp 55)  * @brief check if operator interface will accept new connection
src/noarch/OpMgr.cpp 56)  * @param[in] name operator interface to connect to
src/noarch/OpMgr.cpp 57)  * @return if a new connection would be accepted
src/noarch/OpMgr.cpp 58)  */
src/noarch/OpMgr.cpp 59) bool OpMgr::canConnect(const std::string &name)
src/noarch/OpMgr.cpp 60) {
src/noarch/OpMgr.cpp 61)   // find requested interface
src/noarch/OpMgr.cpp 62)   ReqIfMap::iterator itReqIf = m_reqIfs.find(name);
src/noarch/OpMgr.cpp 63)   if (itReqIf == m_reqIfs.end())
src/noarch/OpMgr.cpp 64)     return false; // not open
src/noarch/OpMgr.cpp 65) 
src/noarch/OpMgr.cpp 66)   // check with server side if new connection is accepted
src/noarch/OpMgr.cpp 67)   return itReqIf->second->acceptNewOpConn(name);
src/noarch/OpMgr.cpp 68) }
src/noarch/OpMgr.cpp 69)