This file is indexed.

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

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

// APPLICATION INCLUDES
#include <utl/UtlString.h>
#include <utl/UtlDList.h>


// DEFINES
// MACROS
// EXTERNAL FUNCTIONS
// EXTERNAL VARIABLES
// CONSTANTS
// STRUCTS
// TYPEDEFS
// FORWARD DECLARATIONS

//! Class Container for context variables for SIP request API
/*! The class is passed as an additional argument to contain
 *  context information that is not contained in the SIP request
 *  (which is also passed with this container).  Effectively this
 *  is supplimental informatiion to the SIP Request.
 *
 * The intention is for this to be used as part of standard
 * APIs that process SIP requests and generate SIP responses.
 * In those scenarios (e.g. the status server plugins, the
 * redirect server plugins) there is a need for a general 
 * container that provides more information than is available
 * or perhaps easily accessable in the SIP request itself.
 * The specific API will need to provide specifics such as
 * is the request context for consumption only (i.e. read only)
 * or can the application add content to the request context
 * that may be used by subsequent applications consuming the
 * same SipRequestContext.
 */

class SipRequestContext 
{
/* //////////////////////////// PUBLIC //////////////////////////////////// */
public:
   static const char* sAUTH_USER;
   static const char* sAUTH_REALM;
   static const char* sREQUEST_METHOD;
   static const char* sSERVER_DOMAIN;

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

   //! Constructor
   /*! Construct a request context for an incoming request of
    * the given request method.
    * \par requestMethod - the request method for the given request.
    */
   SipRequestContext(const char* requestMethod = NULL);
     //:Default constructor


   virtual
   ~SipRequestContext();
     //:Destructor

/* ============================ MANIPULATORS ============================== */

/* ============================ ACCESSORS ================================= */
   
   //! Get context variables provided in this request context.
   /*! As it is possible to have multiple occurances of a named value
    *  the occurance argument indicates which occurance.  The default is 
    *  the first.
    * \param name - the name of the variable to be retrieved from the
    * request context.  It is legal to have multiple values for the
    * same name.  Hense the optional argument occurance.  In applications
    * where the consumer of the SipRequestContext may also set values,
    * the application should use a names space convention to avoid
    * accedental collisions (e.g. for an ENUM pluging, it might use
    * a prefix of "ENUM." in front of all the variable names it adds
    * to the request context.
    * \param value - the value of the given variable name.
    * \param occurance - if there are more than one instance of the
    * same variable name in the SipRequestContext, occurance is an
    * integer that can be used to walk through and retrieve all of the
    * values.  Returns FALSE if the given occurance number does not exist.
    */
   UtlBoolean getVariable(const char* name, 
                          UtlString& value, 
                          int occurance = 0) const;


   //! Add a variable to the context.
   /*! If there are other instances of the same variable in the
    * context, the new one is added after the last occurance.
    */
   void addVariable( const char* name, const char* value);

   //! Get a string of all the values and names in the SipRequestContext
   /*! This is a debugging tool to dump the context.
    *  Returns the number of variables found.
    */
   int toString(UtlString& dumpString);

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

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

   //! Get the name and value of the variable at the given index
   UtlBoolean getVariable(int index, 
                             UtlString& name, 
                             UtlString& value) const;

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

   SipRequestContext(const SipRequestContext& rSipRequestContext);
     //:Copy constructor 
   SipRequestContext& operator=(const SipRequestContext& rhs);
     //:Assignment operator

   UtlDList mVariableList;
};

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

#endif  // _SipRequestContext_h_