/usr/include/sipxtapi/mp/StreamFileDataSource.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 | //
// 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 DISABLE_STREAM_PLAYER // [
#ifndef _StreamFileDataSource_h_
#define _StreamFileDataSource_h_
// SYSTEM INCLUDES
// APPLICATION INCLUDES
#include "mp/StreamDataSource.h"
#include "net/Url.h"
#include "os/OsDefs.h"
#include "os/OsStatus.h"
#include "os/OsFS.h"
#include "os/OsMutex.h"
// DEFINES
// MACROS
// EXTERNAL FUNCTIONS
// EXTERNAL VARIABLES
// CONSTANTS
// STRUCTS
// TYPEDEFS
// FORWARD DECLARATIONS
//:Defines a stream data source built ontop of a OsFile
class StreamFileDataSource : public StreamDataSource
{
/* //////////////////////////// PUBLIC //////////////////////////////////// */
public:
/* ============================ CREATORS ================================== */
///@name Creators
//@{
StreamFileDataSource(Url url, int iFlags);
//:Default constructor
virtual
~StreamFileDataSource();
//:Destructor
//@}
/* ============================ MANIPULATORS ============================== */
///@name Manipulators
//@{
virtual OsStatus open() ;
//:Opens the data source
virtual OsStatus close() ;
//:Closes the data source
virtual OsStatus destroyAndDelete() ;
//:Destroys and deletes the data source object
virtual OsStatus read(char *szBuffer, int iLength, int& iLengthRead) ;
//:Reads iLength bytes of data from the data source and places the
//:data into the passed szBuffer buffer.
//
//!param szBuffer - Buffer to place data
//!param iLength - Max length to read
//!param iLengthRead - The actual amount of data read.
virtual OsStatus peek(char* szBuffer, int iLength, int& iLengthRead) ;
//:Identical to read, except the stream pointer is not advanced.
//
//!param szBuffer - Buffer to place data
//!param iLength - Max length to read
//!param iLengthRead - The actual amount of data read.
virtual OsStatus seek(unsigned int iLocation) ;
//:Moves the stream pointer to the an absolute location.
//
//!param iLocation - The desired seek location
//@}
/* ============================ ACCESSORS ================================= */
///@name Accessors
//@{
virtual OsStatus getLength(int& iLength) ;
//:Gets the length of the stream (if available)
virtual OsStatus getPosition(int& iPosition) ;
//:Gets the current position within the stream.
virtual OsStatus toString(UtlString& string) ;
//:Renders a string describing this data source.
// This is often used for debugging purposes.
//@}
/* ============================ INQUIRY =================================== */
///@name Inquiry
//@{
//@}
/* //////////////////////////// PROTECTED ///////////////////////////////// */
protected:
StreamFileDataSource(const StreamFileDataSource& rStreamFileDataSource);
//:Copy constructor
StreamFileDataSource& operator=(const StreamFileDataSource& rhs);
//:Assignment operator
/* //////////////////////////// PRIVATE /////////////////////////////////// */
private:
Url mUrl ; // File Url source
OsFile* mpFile ; // Actual File data source
OsMutex mFileGuard; // Guard closing/touch file from multiple threads
};
/* ============================ INLINE METHODS ============================ */
#endif // _StreamFileDataSource_h_
#endif // DISABLE_STREAM_PLAYER ]
|