/usr/include/sipxtapi/net/SipProtocolServerBase.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 | //
// 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 _SipProtocolServerBase_h_
#define _SipProtocolServerBase_h_
// SYSTEM INCLUDES
//#include <...>
// APPLICATION INCLUDES
#include <net/SipClient.h>
#include <os/OsServerSocket.h>
#include <os/OsTask.h>
#include <os/OsServerTask.h>
#include <os/OsLockingList.h>
#include <os/OsRWMutex.h>
#include <utl/UtlHashMap.h>
// DEFINES
// MACROS
// EXTERNAL FUNCTIONS
// EXTERNAL VARIABLES
// CONSTANTS
// STRUCTS
// TYPEDEFS
// FORWARD DECLARATIONS
class SipUserAgent;
class SipServerBrokerListener;
//:Class short description which may consist of multiple lines (note the ':')
// Class detailed description which may extend to multiple lines
class SipProtocolServerBase : public OsTask
{
/* //////////////////////////// PUBLIC //////////////////////////////////// */
public:
/* ============================ CREATORS ================================== */
SipProtocolServerBase(SipUserAgent* userAgent,
const char* protocolString,
const char* taskName);
//:Default constructor
virtual
~SipProtocolServerBase();
//:Destructor
/* ============================ MANIPULATORS ============================== */
virtual UtlBoolean startListener();
virtual void shutdownListener() = 0;
UtlBoolean send(SipMessage* message, const char* hostAddress,
int hostPort = SIP_PORT);
virtual int run(void* pArg) = 0;
void removeOldClients(long oldTime);
/* ============================ ACCESSORS ================================= */
int getClientCount();
virtual void printStatus();
virtual UtlBoolean isOk();
/* ============================ INQUIRY =================================== */
/* //////////////////////////// PROTECTED ///////////////////////////////// */
protected:
friend class SipServerBrokerListener;
SipClient* createClient(const char* hostAddress,
int hostPort,
const char* localIp);
void releaseClient(SipClient* client);
void startClients();
void shutdownClients();
UtlBoolean clientExists(SipClient* client);
void addClient(SipClient* client);
virtual OsSocket* buildClientSocket(int hostPort, const char* hostAddress, const char* localIp) = 0;
UtlString mProtocolString;
UtlString mDefaultIp;
int mDefaultPort;
SipUserAgent* mSipUserAgent;
UtlHashMap mServerSocketMap;
UtlHashMap mServerPortMap;
UtlHashMap mServers;
SipServerBrokerListener* mpServerBrokerListener;
/* //////////////////////////// PRIVATE /////////////////////////////////// */
private:
UtlBoolean waitForClientToWrite(SipClient* client);
SipClient* getClient(const char* hostAddress,
int hostPort,
const char* localIp);
void deleteClient(SipClient* client);
OsRWMutex mClientLock;
OsLockingList mClientList;
SipProtocolServerBase(const SipProtocolServerBase& rSipProtocolServerBase);
//: disable Copy constructor
SipProtocolServerBase& operator=(const SipProtocolServerBase& rhs);
//:disable Assignment operator
};
/* ============================ INLINE METHODS ============================ */
#endif // _SipProtocolServerBase_h_
|