Main Page   Namespace List   Class Hierarchy   Data Structures   File List   Namespace Members   Data Fields   Globals   Related Pages  

bogotel::CVoiceDev Class Reference

#include <VoiceDev.h>

Inheritance diagram for bogotel::CVoiceDev:

Inheritance graph
[legend]
Collaboration diagram for bogotel::CVoiceDev:

Collaboration graph
[legend]

Public Types

enum  targetType { local = 0, remote }
enum  speakerState { UNDEFINED = -1, SILENT, WAV, DTMF }

Public Member Functions

 CVoiceDev (CBgtRt *pBgtRt)
int init (std::string strName, long lHandle, long lTimeslot)
int listen (CSignalDev *pVD)
int play (DX_IOTT *pIott, const DV_TPT *pTpt, const DX_XPB *pXpb, unsigned short usMode)
int dial (const char *szDialStr, const DX_CAP *pCAP, unsigned short usMode)
int stop (unsigned short usMode)
int clearDigitBuffer ()
int getDigit (const DV_TPT *pTpt, DV_DIGIT *pDigit, unsigned short usMode)
long getSignalHandle ()
long getTimeslot ()
long getHandle ()
speakerState getState ()
char getCurrentDtmf ()
long getTermMsk ()
unsigned int getStateId ()
void truncateDtmfs (int iNumToTruncate)
int receiveMsg (CMsg *pMsg)
void sendPlayMsg (std::string strFilename)
void sendPlayFinishedMsg ()
void sendDtmfMsg (char chDTMF, int iTargetType)
void sendDtmfFinishedMsg (int iTargetType)
void terminateIoOp (long lTermMsk, bool bInternalIoOp=false)
void eraseDigitHistory ()
void eraseFromDigitHistory (unsigned short iToChop)
void eraseFromDigitHistory (DEQUE_CHAR::iterator iterTillToChop)
DEQUE_CHAR getDigitHistory ()
void getDigits (DV_DIGIT *pDigit, int iNumToGet)

Static Public Member Functions

const std::string & getEventName (long lType)

Static Public Attributes

const int invalidHandle = -1
MAP_INT2STR s_mapHandle2Filename
CProperties s_propWav2Dtmfs
std::string s_strWavFilenameBase

Protected Member Functions

int checkDigits ()
int sendEvent (long lType, long lTermMsk=0)
int sendMsg (CMsg *pMsg, int targetType=targetType::remote)
void log (int iLevel, char *szFmt,...)
void getEvtTypeString (long lType, char *szType, int iMaxLen)

Protected Attributes

QUEUE_CHAR m_queueDigitValue
QUEUE_CHAR m_queueDigitType
DEQUE_CHAR m_dequeDigitHistory
speakerState m_speakerState
unsigned int m_uiStateId
std::string m_strName
long m_lHandle
long m_lSCbusTimeslot
CSignalDevm_pSignalDev
long m_lTermMsk
std::string m_strCurrPlaybackFilename
CIOOpm_pIoOp
CIOOpm_pInternalIoOp

Private Member Functions

void registerIoOp (CIOOp *pIoOp, bool bInternalIoOp=false)
void stripBaseFromWavFilename (std::string &strFilename)
bool attemptRecognition (std::string &strFilename)
void updateSpeakerState (speakerState state)
void updateSpeakerState (speakerState state, char chDtmf)
void updateSpeakerState (speakerState state, std::string strFilename)

Private Attributes

boost::recursive_mutex m_mtxIoOps

Static Private Attributes

const std::string eventNames [5]

Member Enumeration Documentation

enum bogotel::CVoiceDev::targetType
 

Enumeration values:
local 
remote 

Definition at line 42 of file VoiceDev.h.

enum bogotel::CVoiceDev::speakerState
 

Enumeration values:
UNDEFINED 
SILENT 
WAV 
DTMF 

Definition at line 47 of file VoiceDev.h.

Referenced by getState().


Constructor & Destructor Documentation

bogotel::CVoiceDev::CVoiceDev CBgtRt pBgtRt  ) 
 

Definition at line 27 of file VoiceDev.cpp.


Member Function Documentation

int bogotel::CVoiceDev::init std::string  strName,
long  lHandle,
long  lTimeslot
 

Definition at line 40 of file VoiceDev.cpp.

References m_lHandle, m_lSCbusTimeslot, m_strName, and bogotel::resultSUCCESS.

Referenced by bogotel::CBgtRt::openVoiceDev().

int bogotel::CVoiceDev::listen CSignalDev pVD  ) 
 

Definition at line 53 of file VoiceDev.cpp.

References m_pSignalDev, bogotel::resultPOINTER, and bogotel::resultSUCCESS.

Referenced by bogotel::CBgtRt::listenSignalTimeslot().

int bogotel::CVoiceDev::play DX_IOTT *  pIott,
const DV_TPT *  pTpt,
const DX_XPB *  pXpb,
unsigned short  usMode
 

Definition at line 64 of file VoiceDev.cpp.

References log(), registerIoOp(), bogotel::resultFAIL, bogotel::resultFUNC_BAD_PARAMETER, and bogotel::resultSUCCESS.

Referenced by bogotel::CBgtRt::mediaFilePlay().

int bogotel::CVoiceDev::dial const char *  szDialStr,
const DX_CAP *  pCAP,
unsigned short  usMode
 

Definition at line 83 of file VoiceDev.cpp.

References log(), registerIoOp(), bogotel::resultFAIL, bogotel::resultFUNC_BAD_PARAMETER, and bogotel::resultSUCCESS.

Referenced by bogotel::CBgtRt::dial().

int bogotel::CVoiceDev::stop unsigned short  usMode  ) 
 

Definition at line 192 of file VoiceDev.cpp.

References log(), bogotel::resultSUCCESS, and terminateIoOp().

Referenced by bogotel::CBgtRt::stopVoice().

int bogotel::CVoiceDev::clearDigitBuffer  ) 
 

Definition at line 203 of file VoiceDev.cpp.

References eraseDigitHistory(), log(), m_queueDigitType, m_queueDigitValue, and bogotel::resultSUCCESS.

Referenced by bogotel::CBgtRt::clearDigitBuffer().

int bogotel::CVoiceDev::getDigit const DV_TPT *  pTpt,
DV_DIGIT *  pDigit,
unsigned short  usMode
 

Definition at line 106 of file VoiceDev.cpp.

References log(), registerIoOp(), bogotel::resultFAIL, bogotel::resultFUNC_BAD_PARAMETER, and bogotel::resultSUCCESS.

Referenced by bogotel::CBgtRt::getDigit().

long bogotel::CVoiceDev::getSignalHandle  ) 
 

Definition at line 439 of file VoiceDev.cpp.

References bogotel::CSignalDev::getHandle(), and m_pSignalDev.

Referenced by bogotel::CBgtRt::incomingMsg(), bogotel::CTermParms::log(), and bogotel::CIOOp::log().

long bogotel::CVoiceDev::getTimeslot  )  [inline]
 

Definition at line 64 of file VoiceDev.h.

References m_lSCbusTimeslot.

long bogotel::CVoiceDev::getHandle  )  [inline]
 

Definition at line 65 of file VoiceDev.h.

References m_lHandle.

Referenced by bogotel::CSignalDev::sendEvent().

speakerState bogotel::CVoiceDev::getState  )  [inline]
 

Definition at line 66 of file VoiceDev.h.

References m_speakerState, and speakerState.

Referenced by bogotel::CTermParms::update().

char bogotel::CVoiceDev::getCurrentDtmf  )  [inline]
 

Definition at line 67 of file VoiceDev.h.

References m_queueDigitValue.

Referenced by bogotel::CTermParms::_update().

long bogotel::CVoiceDev::getTermMsk  )  [inline]
 

Definition at line 68 of file VoiceDev.h.

References m_lTermMsk.

Referenced by bogotel::CBgtRt::getTermMsk().

unsigned int bogotel::CVoiceDev::getStateId  )  [inline]
 

Definition at line 69 of file VoiceDev.h.

References m_uiStateId.

Referenced by bogotel::CTermParms::update().

void bogotel::CVoiceDev::truncateDtmfs int  iNumToTruncate  ) 
 

int bogotel::CVoiceDev::receiveMsg CMsg pMsg  ) 
 

Definition at line 216 of file VoiceDev.cpp.

References bogotel::CSignalDev::getHandle(), bogotel::CMsg::getMsgTypeString(), bogotel::CMsg::getParam(), log(), m_pSignalDev, bogotel::CMsg::m_type, bogotel::MT_PLAY_DTMF, bogotel::MT_PLAY_DTMF_FINISHED, bogotel::MT_PLAY_WAV, bogotel::MT_PLAY_WAV_FINISHED, bogotel::PT_DTMF, bogotel::PT_WAV_FILENAME, bogotel::resultSUCCESS, terminateIoOp(), and updateSpeakerState().

Referenced by bogotel::CBgtRt::incomingMsg(), and sendMsg().

void bogotel::CVoiceDev::sendPlayMsg std::string  strFilename  ) 
 

Definition at line 352 of file VoiceDev.cpp.

References bogotel::CMsg::addParam(), bogotel::CMsg::init(), log(), m_lHandle, bogotel::CDevBase::m_pMsg, bogotel::MC_VOICE, bogotel::MT_PLAY_WAV, bogotel::PT_WAV_FILENAME, bogotel::resultSUCCESS, sendMsg(), and stripBaseFromWavFilename().

void bogotel::CVoiceDev::sendPlayFinishedMsg  ) 
 

Definition at line 363 of file VoiceDev.cpp.

References bogotel::CMsg::init(), log(), m_lHandle, bogotel::CDevBase::m_pMsg, bogotel::MC_VOICE, bogotel::MT_PLAY_WAV_FINISHED, bogotel::resultSUCCESS, and sendMsg().

void bogotel::CVoiceDev::sendDtmfMsg char  chDTMF,
int  iTargetType
 

Definition at line 371 of file VoiceDev.cpp.

References bogotel::CMsg::addParam(), bogotel::CMsg::init(), log(), m_lHandle, bogotel::CDevBase::m_pMsg, bogotel::MC_VOICE, bogotel::MT_PLAY_DTMF, bogotel::PT_DTMF, bogotel::resultSUCCESS, and sendMsg().

Referenced by bogotel::CDialOp::dialSingleDigit().

void bogotel::CVoiceDev::sendDtmfFinishedMsg int  iTargetType  ) 
 

Definition at line 385 of file VoiceDev.cpp.

References bogotel::CMsg::init(), log(), m_lHandle, bogotel::CDevBase::m_pMsg, bogotel::MC_VOICE, bogotel::MT_PLAY_DTMF_FINISHED, bogotel::resultSUCCESS, and sendMsg().

Referenced by bogotel::CDialOp::dialSingleDigit().

void bogotel::CVoiceDev::terminateIoOp long  lTermMsk,
bool  bInternalIoOp = false
 

Definition at line 142 of file VoiceDev.cpp.

References log(), m_mtxIoOps, m_pInternalIoOp, m_pIoOp, bogotel::CDevBase::m_pTimer, bogotel::CTimer::requestTargetDeletion(), sendEvent(), bogotel::CIOOp::terminationEvent(), and bogotel::CTimerTarget::toString().

Referenced by receiveMsg(), registerIoOp(), stop(), bogotel::CIOOp::terminate(), and bogotel::CDialOp::terminate().

void bogotel::CVoiceDev::eraseDigitHistory  ) 
 

Definition at line 466 of file VoiceDev.cpp.

References m_dequeDigitHistory.

Referenced by bogotel::CTermParms::_update(), clearDigitBuffer(), and bogotel::CTermParms::initialCheck().

void bogotel::CVoiceDev::eraseFromDigitHistory unsigned short  iToChop  ) 
 

Definition at line 444 of file VoiceDev.cpp.

References log(), and m_dequeDigitHistory.

Referenced by bogotel::CTermParms::initialCheck().

void bogotel::CVoiceDev::eraseFromDigitHistory DEQUE_CHAR::iterator  iterTillToChop  ) 
 

Definition at line 461 of file VoiceDev.cpp.

References m_dequeDigitHistory.

DEQUE_CHAR bogotel::CVoiceDev::getDigitHistory  )  [inline]
 

Definition at line 83 of file VoiceDev.h.

References bogotel::DEQUE_CHAR, and m_dequeDigitHistory.

Referenced by bogotel::CTermParms::initialCheck().

const std::string & bogotel::CVoiceDev::getEventName long  lType  )  [static]
 

Definition at line 499 of file VoiceDev.cpp.

References eventNames.

void bogotel::CVoiceDev::getDigits DV_DIGIT *  pDigit,
int  iNumToGet
 

Definition at line 471 of file VoiceDev.cpp.

References log(), m_dequeDigitHistory, m_queueDigitType, and m_queueDigitValue.

Referenced by bogotel::CGetDigOp::terminate().

int bogotel::CVoiceDev::checkDigits  )  [protected]
 

int bogotel::CVoiceDev::sendEvent long  lType,
long  lTermMsk = 0
[protected]
 

Definition at line 400 of file VoiceDev.cpp.

References bogotel::CBgtRt::addEvent(), bogotel::CSignalDev::getHandle(), INVALID_CRN, log(), bogotel::CEvt::m_iSysType, bogotel::CEvt::m_lCrn, m_lHandle, bogotel::CEvt::m_lLen, bogotel::CEvt::m_lSignalDevHandle, m_lTermMsk, bogotel::CEvt::m_lType, bogotel::CEvt::m_lVoiceDevHandle, bogotel::CDevBase::m_pBgtRt, m_pSignalDev, bogotel::CEvt::m_pUsrAttr, bogotel::CEvt::m_ulFlags, bogotel::resultSUCCESS, and bogotel::CEvt::toString().

Referenced by terminateIoOp().

int bogotel::CVoiceDev::sendMsg CMsg pMsg,
int  targetType = targetType::remote
[protected]
 

Definition at line 336 of file VoiceDev.cpp.

References bogotel::CMsg::getMsgTypeString(), log(), bogotel::CDevBase::m_pTransport, receiveMsg(), bogotel::resultFUNC_BAD_PARAMETER, and bogotel::CMsgTransport::sendMsg().

Referenced by sendDtmfFinishedMsg(), sendDtmfMsg(), sendPlayFinishedMsg(), and sendPlayMsg().

void bogotel::CVoiceDev::log int  iLevel,
char *  szFmt,
... 
[protected]
 

Definition at line 427 of file VoiceDev.cpp.

References bogotel::g_util, bogotel::CSignalDev::getHandle(), bogotel::CUtil::log(), and m_pSignalDev.

Referenced by attemptRecognition(), clearDigitBuffer(), dial(), eraseFromDigitHistory(), getDigit(), getDigits(), play(), receiveMsg(), registerIoOp(), sendDtmfFinishedMsg(), sendDtmfMsg(), sendEvent(), sendMsg(), sendPlayFinishedMsg(), sendPlayMsg(), stop(), terminateIoOp(), and updateSpeakerState().

void bogotel::CVoiceDev::getEvtTypeString long  lType,
char *  szType,
int  iMaxLen
[protected]
 

void bogotel::CVoiceDev::registerIoOp CIOOp pIoOp,
bool  bInternalIoOp = false
[private]
 

Definition at line 173 of file VoiceDev.cpp.

References log(), m_mtxIoOps, m_pInternalIoOp, m_pIoOp, bogotel::CDevBase::m_pTimer, bogotel::CTimer::registerTarget(), bogotel::CIOOp::start(), and terminateIoOp().

Referenced by attemptRecognition(), dial(), getDigit(), and play().

void bogotel::CVoiceDev::stripBaseFromWavFilename std::string &  strFilename  )  [private]
 

Definition at line 393 of file VoiceDev.cpp.

References s_strWavFilenameBase.

Referenced by sendPlayMsg().

bool bogotel::CVoiceDev::attemptRecognition std::string &  strFilename  )  [private]
 

Definition at line 305 of file VoiceDev.cpp.

References bogotel::g_util, bogotel::CProperties::getProperty(), log(), m_pInternalIoOp, bogotel::CUtil::m_propIni, registerIoOp(), and s_propWav2Dtmfs.

Referenced by updateSpeakerState().

void bogotel::CVoiceDev::updateSpeakerState speakerState  state  )  [private]
 

Definition at line 277 of file VoiceDev.cpp.

References log(), m_queueDigitValue, m_speakerState, m_strCurrPlaybackFilename, and m_uiStateId.

Referenced by receiveMsg(), and updateSpeakerState().

void bogotel::CVoiceDev::updateSpeakerState speakerState  state,
char  chDtmf
[private]
 

Definition at line 263 of file VoiceDev.cpp.

References log(), m_queueDigitType, m_queueDigitValue, and updateSpeakerState().

void bogotel::CVoiceDev::updateSpeakerState speakerState  state,
std::string  strFilename
[private]
 

Definition at line 253 of file VoiceDev.cpp.

References attemptRecognition(), m_strCurrPlaybackFilename, and updateSpeakerState().


Field Documentation

const int bogotel::CVoiceDev::invalidHandle = -1 [static]
 

Definition at line 25 of file VoiceDev.cpp.

MAP_INT2STR bogotel::CVoiceDev::s_mapHandle2Filename [static]
 

Definition at line 22 of file VoiceDev.cpp.

CProperties bogotel::CVoiceDev::s_propWav2Dtmfs [static]
 

Definition at line 24 of file VoiceDev.cpp.

Referenced by attemptRecognition().

std::string bogotel::CVoiceDev::s_strWavFilenameBase [static]
 

Definition at line 23 of file VoiceDev.cpp.

Referenced by stripBaseFromWavFilename().

QUEUE_CHAR bogotel::CVoiceDev::m_queueDigitValue [protected]
 

Definition at line 95 of file VoiceDev.h.

Referenced by clearDigitBuffer(), getCurrentDtmf(), getDigits(), and updateSpeakerState().

QUEUE_CHAR bogotel::CVoiceDev::m_queueDigitType [protected]
 

Definition at line 96 of file VoiceDev.h.

Referenced by clearDigitBuffer(), getDigits(), and updateSpeakerState().

DEQUE_CHAR bogotel::CVoiceDev::m_dequeDigitHistory [protected]
 

Definition at line 98 of file VoiceDev.h.

Referenced by eraseDigitHistory(), eraseFromDigitHistory(), getDigitHistory(), and getDigits().

speakerState bogotel::CVoiceDev::m_speakerState [protected]
 

Definition at line 100 of file VoiceDev.h.

Referenced by getState(), and updateSpeakerState().

unsigned int bogotel::CVoiceDev::m_uiStateId [protected]
 

Definition at line 104 of file VoiceDev.h.

Referenced by getStateId(), and updateSpeakerState().

std::string bogotel::CVoiceDev::m_strName [protected]
 

Definition at line 106 of file VoiceDev.h.

Referenced by init().

long bogotel::CVoiceDev::m_lHandle [protected]
 

Definition at line 107 of file VoiceDev.h.

Referenced by getHandle(), init(), sendDtmfFinishedMsg(), sendDtmfMsg(), sendEvent(), sendPlayFinishedMsg(), and sendPlayMsg().

long bogotel::CVoiceDev::m_lSCbusTimeslot [protected]
 

Definition at line 108 of file VoiceDev.h.

Referenced by getTimeslot(), and init().

CSignalDev* bogotel::CVoiceDev::m_pSignalDev [protected]
 

Definition at line 109 of file VoiceDev.h.

Referenced by getSignalHandle(), listen(), log(), receiveMsg(), and sendEvent().

long bogotel::CVoiceDev::m_lTermMsk [protected]
 

Definition at line 110 of file VoiceDev.h.

Referenced by getTermMsk(), and sendEvent().

std::string bogotel::CVoiceDev::m_strCurrPlaybackFilename [protected]
 

Definition at line 112 of file VoiceDev.h.

Referenced by updateSpeakerState().

CIOOp* bogotel::CVoiceDev::m_pIoOp [protected]
 

Definition at line 113 of file VoiceDev.h.

Referenced by registerIoOp(), and terminateIoOp().

CIOOp* bogotel::CVoiceDev::m_pInternalIoOp [protected]
 

Definition at line 114 of file VoiceDev.h.

Referenced by attemptRecognition(), registerIoOp(), and terminateIoOp().

boost::recursive_mutex bogotel::CVoiceDev::m_mtxIoOps [private]
 

Definition at line 126 of file VoiceDev.h.

Referenced by registerIoOp(), and terminateIoOp().

const std::string bogotel::CVoiceDev::eventNames [static, private]
 

Initial value:

 {
        "TDX_PLAY",
        "TDX_GETDIG",
        "TDX_ERROR",
        "TDX_DIAL",
        "Unknown"
    }

Definition at line 510 of file VoiceDev.cpp.

Referenced by getEventName().


The documentation for this class was generated from the following files:
Generated on Tue Aug 12 12:42:34 2003 for bogotel by doxygen 1.3. Hosted by SourceForge.net Logo