/usr/include/sipxtapi/mp/MpBufferMsg.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 | //
// Copyright (C) 2006 SIPez LLC.
// Licensed to SIPfoundry under a Contributor Agreement.
//
// 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 _MpBufferMsg_h_
#define _MpBufferMsg_h_
// SYSTEM INCLUDES
// APPLICATION INCLUDES
#include "os/OsMsg.h"
#include "mp/MpBuf.h"
// DEFINES
// MACROS
// EXTERNAL FUNCTIONS
// EXTERNAL VARIABLES
// CONSTANTS
// STRUCTS
// TYPEDEFS
// FORWARD DECLARATIONS
/**
* @brief Message object used to communicate with the media processing task.
*/
class MpBufferMsg : public OsMsg
{
/* //////////////////////////// PUBLIC //////////////////////////////////// */
public:
/// Phone set message types
typedef enum
{
AUD_RECORDED, ///< Captured audio frame.
AUD_RTP_RECV,
AUD_RTCP_RECV,
AUD_PLAY,
ACK_EOSTREAM,
VIDEO_FRAME ///< Captured video frame.
} MpBufferMsgType;
/* ============================ CREATORS ================================== */
///@name Creators
//@{
/// Constructor
MpBufferMsg(int msg, const MpBufPtr &pBuffer=MpBufPtr());
/// Copy constructor
MpBufferMsg(const MpBufferMsg& rMpBufferMsg);
/// Create a copy of this msg object (which may be of a derived type)
virtual OsMsg* createCopy() const;
/// Done with message, delete it or mark it unused
virtual void releaseMsg();
/// Destructor
virtual
~MpBufferMsg();
//@}
/* ============================ MANIPULATORS ============================== */
///@name Manipulators
//@{
/// Assignment operator
MpBufferMsg& operator=(const MpBufferMsg& rhs);
/// Copy buffer to this message
void setBuffer(const MpBufPtr &p);
/**<
* Note, that this function create copy of the buffer! To avoid copying
* use ownBuffer() function. Copying is needed to avoid racing conditions
* in MpBuf::detach() code.
*/
/// Own provided buffer
void ownBuffer(MpBufPtr &p);
/**<
* This function may be used to avoid buffer copying when passing buffer
* to message object. It owns provided buffer and invalidates it, i.e.
* after execution of this function MpBufPtr::isValid() will return false
* for passed buffer pointer.
*
* Note, that buffer will not be copied only if MpBufPtr::isWritable()
* returns true for passed pointer. Copying is needed to avoid racing
* conditions in MpBuf::detach() code.
*/
//@}
/* ============================ ACCESSORS ================================= */
///@name Accessors
//@{
/// Return the type of the buffer message
int getMsg() const;
/// Return buffer object pointer from the buffer message
MpBufPtr &getBuffer();
//@}
/* ============================ INQUIRY =================================== */
///@name Inquiry
//@{
//@}
/* //////////////////////////// PROTECTED ///////////////////////////////// */
protected:
/* //////////////////////////// PRIVATE /////////////////////////////////// */
private:
MpBufPtr mpBuffer; ///< Carried buffer
};
/* ============================ INLINE METHODS ============================ */
#endif // _MpBufferMsg_h_
|