ptterminallistener.cpp

来自「基于sipfoundy 公司开发的sipx协议API」· C++ 代码 · 共 146 行

CPP
146
字号
//// Copyright (C) 2004, 2005 Pingtel Corp.// //// $$//////////////////////////////////////////////////////////////////////////////// SYSTEM INCLUDES#include <assert.h>// APPLICATION INCLUDES#include "ptapi/PtEventListener.h"#include "ptapi/PtTerminalListener.h"// EXTERNAL FUNCTIONS// EXTERNAL VARIABLES// CONSTANTS// STATIC VARIABLE INITIALIZATIONS/* //////////////////////////// PUBLIC //////////////////////////////////// *//* ============================ CREATORS ================================== */// ConstructorPtTerminalListener::PtTerminalListener(const char * pTerminalName, PtEventMask* pMask)        : PtEventListener(pMask){   if (pTerminalName)   {           int len = strlen(pTerminalName);           mpTerminalName = new char[len + 1];           strcpy(mpTerminalName, pTerminalName);   }   else                mpTerminalName = 0;}// Copy constructorPtTerminalListener::PtTerminalListener(const PtTerminalListener& rPtTerminalListener){        if (rPtTerminalListener.mpTerminalName)        {           int len = strlen(rPtTerminalListener.mpTerminalName);           mpTerminalName = new char[len + 1];           strcpy(mpTerminalName, rPtTerminalListener.mpTerminalName);        }        else                mpTerminalName = 0;}// DestructorPtTerminalListener::~PtTerminalListener(){        if (mpTerminalName)        {                delete[] mpTerminalName;                mpTerminalName = 0;        }}/* ============================ MANIPULATORS ============================== */// Assignment operatorPtTerminalListener&PtTerminalListener::operator=(const PtTerminalListener& rhs){   if (this == &rhs)            // handle the assignment to self case      return *this;        if (rhs.mpTerminalName)        {           int len = strlen(rhs.mpTerminalName);           mpTerminalName = new char[len + 1];           strcpy(mpTerminalName, rhs.mpTerminalName);        }        else                mpTerminalName = 0;        return *this;}PtStatus PtTerminalListener::setTerminalName(const char* name){        if (name)        {                if (mpTerminalName)                        delete[] mpTerminalName;                int len = strlen(name);                mpTerminalName = new char[len + 1];                if (mpTerminalName)                {                        strcpy (mpTerminalName, name);                        return PT_SUCCESS;                }                else                        return PT_RESOURCE_UNAVAILABLE;        }        return PT_INVALID_ARGUMENT;}void PtTerminalListener::terminalEventTransmissionEnded(const PtTerminalEvent& rEvent){}/* ============================ ACCESSORS ================================= */PtStatus PtTerminalListener::getTerminalName(char* name, int len){        if (name && len > 0)        {                if (mpTerminalName)                {                        int bytes = strlen(mpTerminalName);                        bytes = (bytes > len) ? len : bytes;                        memset(name, 0, len);                        strncpy (name, mpTerminalName, bytes);                        return PT_SUCCESS;                }                else                        return PT_RESOURCE_UNAVAILABLE;        }        return PT_INVALID_ARGUMENT;}/* ============================ ACCESSORS ================================= *//* ============================ INQUIRY =================================== */ PT_IMPLEMENT_CLASS_INFO(PtTerminalListener, PtEventListener)/* //////////////////////////// PROTECTED ///////////////////////////////// *//* //////////////////////////// PRIVATE /////////////////////////////////// *//* ============================ FUNCTIONS ================================= */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?