/usr/include/sipxtapi/os/OsPathBase.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 | //
// 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 _OsPathBase_h_
#define _OsPathBase_h_
// SYSTEM INCLUDES
// APPLICATION INCLUDES
#include "os/OsDefs.h"
#include "os/OsStatus.h"
#include "os/OsFS.h"
#include "utl/UtlDefs.h"
#include "utl/UtlString.h"
// DEFINES
// MACROS
// EXTERNAL FUNCTIONS
// EXTERNAL VARIABLES
// CONSTANTS
// STRUCTS
// TYPEDEFS
// FORWARD DECLARATIONS
//:OS generic path class. Will massage any input string so separators are correct.
//:Also provided functions to
class OsPathBase : public UtlString
{
/* //////////////////////////// PUBLIC //////////////////////////////////// */
public:
static UtlString separator;
//: platform specific separator (eg. '/' or '\')
/* ============================ CREATORS ================================== */
OsPathBase();
//:Default constructor
OsPathBase(const OsPathBase& rOsPath);
//:Copy constructor
virtual
~OsPathBase();
//:Destructor
OsPathBase(const UtlString& rPath);
//: Copy contructor
OsPathBase(const char* pPath);
//: Construct OsPath from char*
OsPathBase(const UtlString& rVolume, const UtlString& rDirName, const UtlString& rFileName,
const UtlString& rExtension);
//: Forms a OsPath from discrete parts
/* ============================ MANIPULATORS ============================== */
OsPathBase& operator=(const OsPathBase& rhs);
//:Assignment operator
OsPathBase&
operator+=(const OsPathBase& rhs);
//:+= operator
static void setSeparator(UtlString &rSeparator);
//: Set path separator for this platform
void Split();
//: breaks path into its parts
/* ============================ ACCESSORS ================================= */
UtlString getVolume() const;
//: Returns just the volume of this object (eg. for DOS c:,d: etc...)
UtlString getDirName() const;
//: Returns just the path of this object (without volume or filename)
UtlString getFilename() const;
//: Retrieves just the filename part of this object
UtlString getExt() const;
//: Returns just the extension part of this object
OsStatus getNativePath(OsPathBase &rFullPath) const;
//: Returns TRUE if the full path for the specified platform was
//: found to be valid. Returns the full path in rFullPath.
static UtlString getSeparator();
//: Returns the path separator for this platform
/* ============================ INQUIRY =================================== */
UtlBoolean isValid();
//:Return TRUE if pathname represented by object is valid for the platform.
/* //////////////////////////// PROTECTED ///////////////////////////////// */
protected:
UtlString mDirName;
//: Directory name. Ends with backslash
UtlString mVolume;
//: Volume (eg. c: d: /sda1)
UtlString mFilename;
//: Returns the filename (without extension).
// If the OsPath object contains just a path, then filename and ext will blank.
UtlString mExtension;
//: Returns the extension of the file.
// If the OsPath object contains just a path, then filename and ext will blank.
/* //////////////////////////// PRIVATE /////////////////////////////////// */
private:
void massage();
//: Based on the platform in use, this function manipulates the string
// so it reprsents a valid platform path
};
/* ============================ INLINE METHODS ============================ */
#endif // _OsPathBase_h_
|