/usr/include/sipxtapi/net/SipSubscribeServerEventHandler.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 | //
// 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.
//
// $$
///////////////////////////////////////////////////////////////////////////////
// Author: Dan Petrie (dpetrie AT SIPez DOT com)
#ifndef _SipSubscribeServerEventHandler_h_
#define _SipSubscribeServerEventHandler_h_
// SYSTEM INCLUDES
// APPLICATION INCLUDES
#include <os/OsDefs.h>
#include <os/OsMutex.h>
#include <utl/UtlDefs.h>
#include <utl/UtlHashMap.h>
// DEFINES
// MACROS
// EXTERNAL FUNCTIONS
// EXTERNAL VARIABLES
// CONSTANTS
// STRUCTS
// FORWARD DECLARATIONS
class SipMessage;
class UtlString;
class SipPublishContentMgr;
// TYPEDEFS
//! Class for specializing the handling of SIP Events in SipSubscribeServer
/*! This class provides the default behavior for SIP event packages
* handled by SipSubscribeServer. Event packages which wish to change
* or extend the default behavior should derived from this class and
* override the behavior of methods implemented by this class.
*
* \par
*/
class SipSubscribeServerEventHandler
{
/* //////////////////////////// PUBLIC //////////////////////////////////// */
public:
/* ============================ CREATORS ================================== */
//! Default Dialog constructor
SipSubscribeServerEventHandler();
//! Destructor
virtual
~SipSubscribeServerEventHandler();
/* ============================ MANIPULATORS ============================== */
/** Determine what the resourceId, eventTypeKey, and eventType
* should be for this SUBSCRIBE request.
* The default behavior is to use the identify from the request URI
* as the resourceId and the event type token from the Event header
* as the eventTypeKey. Some event packages may wish to override
* this (e.g. the host part of the resourceID, which will usually be an
* IP addressmay make sense in some cases to be substituted with the
* domain name. In some event packages, the content of the event state
* information will vary based upon some Event header parameters, in
* which cases it may make sense to include that event header parameter
* in a consistant order and format in the eventTypeKey.)
*/
virtual UtlBoolean getKeys(const SipMessage& subscribeRequest,
UtlString& resourceId,
UtlString& eventTypeKey,
UtlString& eventType);
//! Determine if the given SUBSCRIBE request is authenticated to subscribe
/*! Default behavior is to not require any authentication.
*/
virtual UtlBoolean isAuthenticated(const SipMessage& subscribeRequest,
const UtlString& resourceId,
const UtlString& eventTypeKey,
SipMessage& subscribeResponse);
//! Determine if the given SUBSCRIBE request is authorized to subscribe
/*! Default behavior is to allow any request to subscribe
*/
virtual UtlBoolean isAuthorized(const SipMessage& subscribeRequest,
const UtlString& resourceId,
const UtlString& eventTypeKey,
SipMessage& subscribeResponse);
//! Fill in the event specific content for the identified resource and eventTypeKey
/*! The default behavior is to attach the content yielded from
* contentMgr->getContent.
*/
virtual UtlBoolean getNotifyContent(const UtlString& resourceId,
const UtlString& eventTypeKey,
const UtlString& eventType,
SipPublishContentMgr& contentMgr,
const char* allowHeaderValue,
SipMessage& notifyRequest);
/* ============================ ACCESSORS ================================= */
/* ============================ INQUIRY =================================== */
/* //////////////////////////// PROTECTED ///////////////////////////////// */
protected:
/* //////////////////////////// PRIVATE /////////////////////////////////// */
private:
//! Copy constructor NOT ALLOWED
SipSubscribeServerEventHandler(const SipSubscribeServerEventHandler& rSipSubscribeServerEventHandler);
//! Assignment operator NOT ALLOWED
SipSubscribeServerEventHandler& operator=(const SipSubscribeServerEventHandler& rhs);
};
/* ============================ INLINE METHODS ============================ */
#endif // _SipSubscribeServerEventHandler_h_
|