implemnted operator connect...
Stefan Schuermans authored 12 years ago
|
src/noarch/OpSplitter.h 1) /* Blinker
|
update copyright years
Stefan Schuermans authored 10 years ago
|
src/noarch/OpSplitter.h 2) Copyright 2011-2014 Stefan Schuermans <stefan@blinkenarea.org>
|
implemnted operator connect...
Stefan Schuermans authored 12 years ago
|
src/noarch/OpSplitter.h 3) Copyleft GNU public license - http://www.gnu.org/copyleft/gpl.html
src/noarch/OpSplitter.h 4) a blinkenarea.org project */
src/noarch/OpSplitter.h 5)
src/noarch/OpSplitter.h 6) #ifndef BLINKER_OPSPLITTER_H
src/noarch/OpSplitter.h 7) #define BLINKER_OPSPLITTER_H
src/noarch/OpSplitter.h 8)
src/noarch/OpSplitter.h 9) #include <map>
src/noarch/OpSplitter.h 10) #include <string>
src/noarch/OpSplitter.h 11)
|
implemented single mode for...
Stefan Schuermans authored 12 years ago
|
src/noarch/OpSplitter.h 12) #include "BoolFile.h"
|
implemnted operator connect...
Stefan Schuermans authored 12 years ago
|
src/noarch/OpSplitter.h 13) #include "Directory.h"
src/noarch/OpSplitter.h 14) #include "File.h"
src/noarch/OpSplitter.h 15) #include "ListTracker.h"
src/noarch/OpSplitter.h 16) #include "Mgrs.h"
src/noarch/OpSplitter.h 17) #include "Module.h"
src/noarch/OpSplitter.h 18) #include "NameFile.h"
src/noarch/OpSplitter.h 19) #include "OpConn.h"
src/noarch/OpSplitter.h 20) #include "OpConnIf.h"
src/noarch/OpSplitter.h 21) #include "OpReqIf.h"
src/noarch/OpSplitter.h 22) #include "SettingFile.h"
src/noarch/OpSplitter.h 23) #include "Time.h"
src/noarch/OpSplitter.h 24) #include "TimeCallee.h"
|
limit number of connections...
Stefan Schuermans authored 12 years ago
|
src/noarch/OpSplitter.h 25) #include "UIntFile.h"
|
implemnted operator connect...
Stefan Schuermans authored 12 years ago
|
src/noarch/OpSplitter.h 26)
src/noarch/OpSplitter.h 27) namespace Blinker {
src/noarch/OpSplitter.h 28)
src/noarch/OpSplitter.h 29) /// operator connection splitter
src/noarch/OpSplitter.h 30) class OpSplitter: public Module, public OpReqIf, public TimeCallee
src/noarch/OpSplitter.h 31) {
src/noarch/OpSplitter.h 32) protected:
src/noarch/OpSplitter.h 33) /// extension to be called
src/noarch/OpSplitter.h 34) class Extension;
src/noarch/OpSplitter.h 35)
src/noarch/OpSplitter.h 36) /// extension list tracker
src/noarch/OpSplitter.h 37) typedef ListTracker<OpSplitter, Extension, Directory> ExtListTracker;
src/noarch/OpSplitter.h 38)
src/noarch/OpSplitter.h 39) /// map of extensions to call (extension name -> module name)
src/noarch/OpSplitter.h 40) typedef std::map<std::string, std::string> ExtMap;
src/noarch/OpSplitter.h 41)
src/noarch/OpSplitter.h 42) /// type for locally handles connection
src/noarch/OpSplitter.h 43) struct Local {
src/noarch/OpSplitter.h 44) std::string m_number; ///< extension number dialed so far
src/noarch/OpSplitter.h 45) bool m_sendPlay; ///< if to send a play request
|
implemented single mode for...
Stefan Schuermans authored 12 years ago
|
src/noarch/OpSplitter.h 46) bool m_close; ///< if to close connection as soon as possible
|
implemnted operator connect...
Stefan Schuermans authored 12 years ago
|
src/noarch/OpSplitter.h 47) };
src/noarch/OpSplitter.h 48)
src/noarch/OpSplitter.h 49) /**
src/noarch/OpSplitter.h 50) * @brief map of local connections,
src/noarch/OpSplitter.h 51) * contains all incoming connections as key for which no
src/noarch/OpSplitter.h 52) * outgoing connection is available
src/noarch/OpSplitter.h 53) */
src/noarch/OpSplitter.h 54) typedef std::map<OpConn *, Local> MapLocal;
src/noarch/OpSplitter.h 55)
src/noarch/OpSplitter.h 56) /**
src/noarch/OpSplitter.h 57) * @brief map from incoming to outgoing connections,
src/noarch/OpSplitter.h 58) * contains all incoming connectes as key for which a corresponding
src/noarch/OpSplitter.h 59) * outgoing connection is available
src/noarch/OpSplitter.h 60) */
src/noarch/OpSplitter.h 61) typedef std::map<OpConn *, OpConn *> MapInOut;
src/noarch/OpSplitter.h 62)
src/noarch/OpSplitter.h 63) /// map from outgoing to incoming connections
src/noarch/OpSplitter.h 64) typedef std::map<OpConn *, OpConn *> MapOutIn;
src/noarch/OpSplitter.h 65)
src/noarch/OpSplitter.h 66) public:
src/noarch/OpSplitter.h 67) /**
src/noarch/OpSplitter.h 68) * @brief constructor
src/noarch/OpSplitter.h 69) * @param[in] name module name
src/noarch/OpSplitter.h 70) * @param[in] mgrs managers
src/noarch/OpSplitter.h 71) * @param[in] dirBase base directory
src/noarch/OpSplitter.h 72) */
src/noarch/OpSplitter.h 73) OpSplitter(const std::string &name, Mgrs &mgrs, const Directory &dirBase);
src/noarch/OpSplitter.h 74)
src/noarch/OpSplitter.h 75) /// virtual destructor
src/noarch/OpSplitter.h 76) virtual ~OpSplitter();
src/noarch/OpSplitter.h 77)
src/noarch/OpSplitter.h 78) private:
src/noarch/OpSplitter.h 79) /// copy constructor disabled
src/noarch/OpSplitter.h 80) OpSplitter(const OpSplitter &that);
src/noarch/OpSplitter.h 81)
src/noarch/OpSplitter.h 82) /// assignment operator disabled
src/noarch/OpSplitter.h 83) const OpSplitter & operator=(const OpSplitter &that);
src/noarch/OpSplitter.h 84)
src/noarch/OpSplitter.h 85) public:
src/noarch/OpSplitter.h 86) /// check for update of configuration
src/noarch/OpSplitter.h 87) virtual void updateConfig();
src/noarch/OpSplitter.h 88)
src/noarch/OpSplitter.h 89) /// callback when requested time reached
src/noarch/OpSplitter.h 90) virtual void timeCall();
src/noarch/OpSplitter.h 91)
src/noarch/OpSplitter.h 92) /**
src/noarch/OpSplitter.h 93) * @brief check if accepting new operator connction is possible
src/noarch/OpSplitter.h 94) * @param[in] name operator interface name
src/noarch/OpSplitter.h 95) * @return if accepting new connection is possible
src/noarch/OpSplitter.h 96) */
src/noarch/OpSplitter.h 97) virtual bool acceptNewOpConn(const std::string &name);
src/noarch/OpSplitter.h 98)
src/noarch/OpSplitter.h 99) /**
src/noarch/OpSplitter.h 100) * @brief new operator connection
src/noarch/OpSplitter.h 101) * @param[in] name operator interface name
src/noarch/OpSplitter.h 102) * @param[in] pConn operator connection object
src/noarch/OpSplitter.h 103) *
src/noarch/OpSplitter.h 104) * The new connection may not yet be used for sending inside this callback.
src/noarch/OpSplitter.h 105) */
src/noarch/OpSplitter.h 106) virtual void newOpConn(const std::string &name, OpConn *pConn);
src/noarch/OpSplitter.h 107)
src/noarch/OpSplitter.h 108) /**
src/noarch/OpSplitter.h 109) * @brief key command received on operator connection
src/noarch/OpSplitter.h 110) * @param[in] pConn operator connection object
src/noarch/OpSplitter.h 111) * @param[in] key key that was pressed
src/noarch/OpSplitter.h 112) */
src/noarch/OpSplitter.h 113) virtual void opConnRecvKey(OpConn *pConn, char key);
src/noarch/OpSplitter.h 114)
src/noarch/OpSplitter.h 115) /**
src/noarch/OpSplitter.h 116) * @brief play command received on operator connection
src/noarch/OpSplitter.h 117) * @param[in] pConn operator connection object
src/noarch/OpSplitter.h 118) * @param[in] sound name of sound to play
src/noarch/OpSplitter.h 119) */
src/noarch/OpSplitter.h 120) virtual void opConnRecvPlay(OpConn *pConn, const std::string &sound);
src/noarch/OpSplitter.h 121)
src/noarch/OpSplitter.h 122) /**
src/noarch/OpSplitter.h 123) * @brief operator connection is closed
src/noarch/OpSplitter.h 124) * @param[in] pConn operator connection object
src/noarch/OpSplitter.h 125) *
src/noarch/OpSplitter.h 126) * The connection may not be used for sending any more in this callback.
src/noarch/OpSplitter.h 127) */
src/noarch/OpSplitter.h 128) virtual void opConnClose(OpConn *pConn);
src/noarch/OpSplitter.h 129)
src/noarch/OpSplitter.h 130) protected:
src/noarch/OpSplitter.h 131) /**
src/noarch/OpSplitter.h 132) * @brief create new local connection
src/noarch/OpSplitter.h 133) * @param[in] pConn connection to make local
|
implemented single mode for...
Stefan Schuermans authored 12 years ago
|
src/noarch/OpSplitter.h 134) * @param[in] close if to close connection as soon as possible
|
implemnted operator connect...
Stefan Schuermans authored 12 years ago
|
src/noarch/OpSplitter.h 135) */
|
implemented single mode for...
Stefan Schuermans authored 12 years ago
|
src/noarch/OpSplitter.h 136) void newLocal(OpConn *pConn, bool close = false);
|
implemnted operator connect...
Stefan Schuermans authored 12 years ago
|
src/noarch/OpSplitter.h 137)
src/noarch/OpSplitter.h 138) /**
src/noarch/OpSplitter.h 139) * @brief a key has been pressed for a local connection
src/noarch/OpSplitter.h 140) * @param[in] itLocal local connection
src/noarch/OpSplitter.h 141) * @param[in] key the key pressed
src/noarch/OpSplitter.h 142) */
src/noarch/OpSplitter.h 143) void localKey(MapLocal::iterator itLocal, char key);
src/noarch/OpSplitter.h 144)
src/noarch/OpSplitter.h 145) /**
src/noarch/OpSplitter.h 146) * @brief call extension dialed over local connection
src/noarch/OpSplitter.h 147) * @param[in] itLocal local connection
src/noarch/OpSplitter.h 148) */
src/noarch/OpSplitter.h 149) void callExtension(MapLocal::iterator itLocal);
src/noarch/OpSplitter.h 150)
src/noarch/OpSplitter.h 151) protected:
src/noarch/OpSplitter.h 152) NameFile m_fileSound; ///< file containing sound name
|
limit number of connections...
Stefan Schuermans authored 12 years ago
|
src/noarch/OpSplitter.h 153) UIntFile m_fileMaxConn; ///< file containing max. number of conn.
|
implemented single mode for...
Stefan Schuermans authored 12 years ago
|
src/noarch/OpSplitter.h 154) BoolFile m_fileSingle; ///< file containing single mode config
src/noarch/OpSplitter.h 155) std::string m_singleOp; ///< operator intf. to call in single mode
|