This file is indexed.

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

// SYSTEM INCLUDES

// APPLICATION INCLUDES

#include <os/OsDefs.h>
#include <os/OsMsgQ.h>
#include <os/OsMutex.h>
#include <utl/UtlDefs.h>
#include <utl/UtlHashMap.h>
#include <utl/UtlHashBag.h>

// DEFINES
// MACROS
// EXTERNAL FUNCTIONS
// EXTERNAL VARIABLES
// CONSTANTS
// STRUCTS
// FORWARD DECLARATIONS
class SipMessage;
class UtlString;

// TYPEDEFS

//! Class for maintaining PUBLISH event state information in publish server
/*! 
 *
 * \par 
 */
class SipPublishServerEventStateMgr
{
/* //////////////////////////// PUBLIC //////////////////////////////////// */
public:



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

    //! Default constructor
    SipPublishServerEventStateMgr();


    //! Destructor
    virtual
    ~SipPublishServerEventStateMgr();


/* ============================ MANIPULATORS ============================== */
                 
    //! Generate a new entity tag
    virtual void generateETag(UtlString& entity);

    //! Add a new publication
    void addPublish(UtlString& entity, UtlString& resourceId,
                    UtlString& eventTypeKey, int expiration);

    //! Update the publication
    void updatePublish(UtlString& oldEntity, UtlString& entity, UtlString& resourceId,
                       UtlString& eventTypeKey, int expiration);
                    
    //! Remove old publication
    void removePublish(UtlString& entity);

    //! Remove old publication that expired before given date
    void removeOldPublication(long oldEpochTimeSeconds);

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

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

    //! inquire if the publish exists
    virtual UtlBoolean publishExists(UtlString& entityTag);

    //! inquire if the publish has already expired
    virtual UtlBoolean isExpired(UtlString& entityTag);

    //! inquire if the expiration is correct
    virtual UtlBoolean checkExpiration(int* expiration);
    
/* //////////////////////////// PROTECTED ///////////////////////////////// */
protected:

/* //////////////////////////// PRIVATE /////////////////////////////////// */
private:
    //! Copy constructor NOT ALLOWED
    SipPublishServerEventStateMgr(const SipPublishServerEventStateMgr& rSipPublishServerEventStateMgr);

    //! Assignment operator NOT ALLOWED
    SipPublishServerEventStateMgr& operator=(const SipPublishServerEventStateMgr& rhs);

    //! lock for single thread use
    void lock();

    //! unlock for use
    void unlock();

    OsMutex mEventStateMgrMutex;
    int mMinExpiration;
    int mDefaultExpiration;
    int mMaxExpiration;

    // Container for the event states
    UtlHashMap mEventStatesByEntityTag;
};

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

#endif  // _SipPublishServerEventStateMgr_h_