This file is indexed.

/usr/include/sipxtapi/tao/TaoServerTask.h is in libsipxtapi-dev 3.3.0~test17-2.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_