This file is indexed.

/usr/include/sipxtapi/net/SipClient.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
//
// 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 _SipClient_h_
#define _SipClient_h_

// SYSTEM INCLUDES
//#include <...>

// APPLICATION INCLUDES
#include <os/OsSocket.h>
#include <os/OsTask.h>
#include <os/OsServerTask.h>
#include <os/OsBSem.h>
#include <net/SipMessage.h>

// DEFINES
// MACROS
// EXTERNAL FUNCTIONS
// EXTERNAL VARIABLES
// CONSTANTS
// STRUCTS
// TYPEDEFS
// FORWARD DECLARATIONS
class SipUserAgentBase;
class OsEvent;

//:Class short description which may consist of multiple lines (note the ':')
// Class detailed description which may extend to multiple lines
class SipClient : public OsTask
{
/* //////////////////////////// PUBLIC //////////////////////////////////// */
public:

/* ============================ CREATORS ================================== */

   SipClient(OsSocket* socket = NULL);
     //:Default constructor


   virtual
   ~SipClient();
     //:Destructor

/* ============================ MANIPULATORS ============================== */
        UtlBoolean send(SipMessage* message);

    UtlBoolean sendTo(const SipMessage& message,
                     const char* address,
                     int port);

        void setUserAgent(SipUserAgentBase* sipUA);
        //void addEventConsumer(OsServerTask* messageEventListener);
        //void removeEventConsumer(OsServerTask* messageEventListener);


        virtual int run(void* pArg);

        UtlBoolean sendInvite(char* toAddress, char* callId, int rtpPort,
                                                                int numCodecs, int rtpCodecs[],
                                                                int sequenceNumber = 1);

    void touch();
    //: Set the time when this client was last used
    // This is potentially used for garbage collection

    void notifyWhenAvailableForWrite(OsEvent& availableEvent);
    //: The given event is signaled when this SipClient is not busy

    void signalNextAvailableForWrite();

    void signalAllAvailableForWrite();

    void setSharedSocket(UtlBoolean bShared) ;

/* ============================ ACCESSORS ================================= */

    //void getHostIp(UtlString* hostAddress) const;
    void getClientNames(UtlString& clientNames) const;
    long getLastTouchedTime() const;
    //int getHostPort() const;
    const UtlString& getLocalIp();

    void markInUseForWrite();
    void markAvailbleForWrite();


/* ============================ INQUIRY =================================== */

    UtlBoolean isOk();

    UtlBoolean isConnectedTo(UtlString& hostName, int hostPort);

    int isInUseForWrite();

/* //////////////////////////// PROTECTED ///////////////////////////////// */
protected:

/* //////////////////////////// PRIVATE /////////////////////////////////// */
private:

    // Test whether the socket is ready to read.  (Does not block.)
        UtlBoolean isReadyToRead();
    // Wait until the socket is ready to read (or has an error).
    UtlBoolean waitForReadyToRead();

    OsSocket* clientSocket;
    OsSocket::IpProtocolSocketType mSocketType;
    SipUserAgentBase* sipUserAgent;
    UtlString mRemoteHostName;
    UtlString mRemoteViaAddress;
    UtlString mRemoteSocketAddress;
    UtlString mReceivedAddress;
    int mRemoteViaPort;
    int mRemoteHostPort;
    int mRemoteReceivedPort;
        long touchedTime;
    OsBSem mSocketLock;
    int mFirstResendTimeoutMs;
    int mInUseForWrite;
    UtlSList* mWaitingList;  // Events waiting until this is available
    UtlBoolean mbSharedSocket; // Shared socket-- do not delete or close (UDP / rport)

    SipClient(const SipClient& rSipClient);
     //:disable Copy constructor

    SipClient& operator=(const SipClient& rhs);
     //:disable Assignment operator

};

/* ============================ INLINE METHODS ============================ */

#endif  // _SipClient_h_