A
download otdialdxx.cpp
Language: C++
Copyright: (c) 1995-99 OpenComm do Brasil Ltda.
LOC: 72
Project Info
Open Telephony Server(opentel)
Server: SourceForge
Type: cvs
...el\server\drivers\dialogic\
   dialogic.dsp
   otdialap.cpp
   otdialap.h
   otdialar.cpp
   otdialar.h
   otdialdev.h
   otdialdrv.cpp
   otdialdrv.h
   otdialdti.cpp
   otdialdti.h
   otdialdxx.cpp
   otdialdxx.h
   otdialei.cpp
   otdialei.h
   otdialev.cpp
   otdialev.h
   otdialex.cpp
   otdialex.h
   otdialgc.cpp
   otdialgc.h
   otdialmsi.cpp
   otdialmsi.h
   otdialogic.cpp
   otdialogic.h
   otdialsc.cpp
   otdialsc.h
   otdialtd.cpp
   otdialtd.h
   otdialtg.cpp
   otdialtg.h

/*****************************************************************************
* OpenTel Telephony Server & Framework
* Copyright (c) 1995-99 OpenComm do Brasil Ltda.
* Todos os direitos reservados.
* Este arquivo contem material confidencial de OpenComm do Brasil, e deve
* darse tratamento como tal.
******************************************************************************/


#ident "@(#) $Header: /cvsroot/opentel/opentel/server/drivers/dialogic/otdialdxx.cpp,v 1.2 2000/03/24 05:16:43 jbernab Exp $"

#include <otconfig.h>

#ifdef _WINDOWS
#include <windows.h>
#include <io.h>
#endif

extern "C" {
#include <srllib.h>
#include <dxxxlib.h>
};

#include <otcallc.includes>
#include <dialogic/otdialogic.h>
#include <otarchive.includes>
#include <dialogic/otdialdxx.h>

#include <otbus.includes>                              // Bus Stuff
#include <dialogic/otdialsc.h>


OtDialogicDxx::OtDialogicDxx(const OtString &dev, OtBus *bus) :
        _linedev(0),
        m_bus(bus),
        _devName(dev),
        m_hasToClose(true)
{
        open();

        // Set Listener and Trnasmitter
        m_listener=new OtTimeSlotListenerDxxSC(this,(OtBusSC *)m_bus);
        m_transmitter=new OtTimeSlotTransmitterDxxSC(this,(OtBusSC *)m_bus);
}

#ifdef CONFIG_DIALOGIC_GC

OtDialogicDxx::OtDialogicDxx(const OtDialogicGc *gc) :
        _linedev(0),
        m_bus(NULL),
        m_hasToClose(false)
{
        if(gc_GetVoiceH(gc->getGcLineDev(),&_linedev)<0)
                throw OtDialogicGcException(gc);

        _devName=ATDV_NAMEP(_linedev);          // Get Name from handle

        // Set Listener and Trnasmitter
        m_bus=gc->getBus();

        m_listener=new OtTimeSlotListenerDxxSC(this,(OtBusSC *)m_bus);
        m_transmitter=new OtTimeSlotTransmitterDxxSC(this,(OtBusSC *)m_bus);
}
#endif

OtDialogicDxx::~OtDialogicDxx(void)
{
        if(m_hasToClose)
                close();

        m_bus=NULL;
}

int OtDialogicDxx::open(void)
{
        if((_linedev=dx_open(_devName,OF_DEFAULT))==ERROR) {
                throw OtException(OtString("OtDialogicDxx::open(): Error opening device: ") + _devName);
                return false;
                }
        return true;
}



int OtDialogicDxx::close(void)
{
        int ret=0;
        if(_linedev) {
                if((ret=dx_close(_linedev))<0)
                        throw OtDialogicException(_linedev);
                _linedev=0;
                }
        return ret;
}

void OtDialogicDxx::onMessage(OtMessage *msg)
{
        OtMessageSource::dispatchMessage(msg);
}


int OtDialogicDxx::isForMe(OtDialogicEvent *e)
{
        return (e->getDev()==_linedev);         //
}


About Koders | Resources | Downloads | Support | Black Duck | Terms of Service | DMCA | Privacy Policy | Contact Us