/usr/include/sipxtapi/tao/TaoServerTask.h is in libsipxtapi-dev 3.3.0~test17-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | //
// Copyright (C) 2004-2006 SIPfoundry Inc.
// Licensed by SIPfoundry under the LGPL license.
//
// Copyright (C) 2004-2006 Pingtel Corp. All rights reserved.
// Licensed to SIPfoundry under a Contributor Agreement.
//
// $$
///////////////////////////////////////////////////////////////////////////////
#ifndef _TaoServer_h_
#define _TaoServer_h_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
// SYSTEM INCLUDES
// APPLICATION INCLUDES
#include "os/OsMsgQ.h"
#include "os/OsServerTask.h"
#include "os/OsTime.h"
#include "tao/TaoObject.h"
#include "tao/TaoMessage.h"
#include "tao/TaoObjectMap.h"
#include "tao/TaoReference.h"
#include "tao/TaoListenerManager.h"
// DEFINES
// MACROS
// EXTERNAL FUNCTIONS
// EXTERNAL VARIABLES
// CONSTANTS
// STRUCTS
// TYPEDEFS
// FORWARD DECLARATIONS
class TaoTransportTask;
class PtProvider;
class PtCall;
class CpCallManager;
class PsPhoneTask;
//:The server is the place where all requests from clients are received and
// processed accordingly. It contains a db of addresses, a registry of listeners,
// a registry of clients, a list of invoked PTAPI objects, and an incoming message
// queue.
class TaoServerTask : public OsServerTask
{
/* //////////////////////////// PUBLIC //////////////////////////////////// */
public:
/* ============================ CREATORS ================================== */
static TaoServerTask* getTaoServerTask(CpCallManager *pCallMgr);
TaoServerTask(const TaoServerTask& rTaoServerTask);
//:Copy constructor (not implemented for this class)
virtual ~TaoServerTask();
/* ============================ MANIPULATORS ============================== */
virtual UtlBoolean handleMessage(OsMsg& rMsg);
//:Handle an incoming message.
// If the message is not one that the object is prepared to process,
// the handleMessage() method in the derived class should return FALSE
// which will cause the OsServerTask::handleMessage() method to be
// invoked on the message.
virtual OsStatus setErrno(int errno);
//:Set the errno status for the task
// This call has no effect under Windows NT and, if the task has been
// started, will always returns OS_SUCCESS
void setClientHandle(TaoObjHandle hClient);
//:Set the handle for the client that is at the same location of the TaoServer
void setEventClient(TaoObjHandle hEventClient);
//:Set the handle for the client event handler that will receive the event messages from TaoListenerManager
/* ============================ ACCESSORS ================================= */
TaoListenerManager* getTaoListenerManager() { return mpListenerMgr; };
/* //////////////////////////// PRIVATE /////////////////////////////////// */
private:
// Singleton globals
// Note: this class does not need to be a singleton. The only method that
// assumes singleton is getTaoServerTask
static TaoServerTask* mpInstance;
static OsBSem sLock;
TaoServerTask(CpCallManager *pCallMgr,
PsPhoneTask *pPhoneTask,
const UtlString& name="TaoServerTask-%d",
void* pArg=NULL,
const int maxRequestQMsgs=DEF_MAX_MSGS,
const int priority=DEF_PRIO,
const int options=DEF_OPTIONS,
const int stackSize=DEF_STACKSIZE);
//:Constructor
TaoServerTask(const UtlString& name="TaoServerTask-%d",
void* pArg=NULL,
const int maxRequestQMsgs=DEF_MAX_MSGS,
const int priority=DEF_PRIO,
const int options=DEF_OPTIONS,
const int stackSize=DEF_STACKSIZE);
//:Constructor
TaoServerTask(const int maxIncomingQMsgs);
//:Constructor
/* ============================ MANIPULATORS ============================== */
TaoStatus initInstance();
/* ============================ MEMBERS ============================== */
CpCallManager* mpCallMgr;
PsPhoneTask* mpPhoneTask; // phone set task
TaoObjHandle mClientHandle;
TaoObjHandle mEventClient;
TaoTransportTask* mpSvrTransport;
TaoListenerManager* mpListenerMgr;
TaoObjectMap* mpConnectionDb;
TaoObjectMap* mpTransactionDb;
TaoObjectMap* mpListeners;
TaoObjectMap* mpClients;
TaoObjectMap* mpAdaptors;
TaoReference* mpConnectionCnt;
TaoReference* mpClientCnt;
TaoReference* mpListenerCnt;
TaoReference* mpTransactionCnt;
TaoReference* mpAdaptorCnt;
OsMsgQ mOutgoingQ; // queue for outgoing messages
PtProvider* mpProvider;
PtCall *mpCall;
};
#endif // _TaoServer_h_
|