/usr/include/oce/OSD_Protection.hxx is in liboce-foundation-dev 0.18.2-2build1.
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 | // This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to
// this header file considered to be the "object code" form of the original source.
#ifndef _OSD_Protection_HeaderFile
#define _OSD_Protection_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Macro.hxx>
#include <OSD_SingleProtection.hxx>
#include <Standard_Integer.hxx>
class OSD_FileNode;
class OSD_File;
class OSD_Directory;
//! This class provides data to manage file protection
//! Example:These rights are treated in a system dependent manner :
//! On UNIX you have User,Group and Other rights
//! On VMS you have Owner,Group,World and System rights
//! An automatic conversion is done between OSD and UNIX/VMS.
//!
//! OSD VMS UNIX
//! User Owner User
//! Group Group Group
//! World World Other
//! System System (combined with Other)
//!
//! When you use System protection on UNIX you must know that
//! Other rights and System rights are inclusively "ORed".
//! So Other with only READ access and System with WRITE access
//! will produce on UNIX Other with READ and WRITE access.
//!
//! This choice comes from the fact that ROOT can't be considered
//! as member of the group nor as user. So it is considered as Other.
class OSD_Protection
{
public:
DEFINE_STANDARD_ALLOC
//! Initializes global access rights as follows
//!
//! User : Read Write
//! System : Read Write
//! Group : Read
//! World : Read
Standard_EXPORT OSD_Protection();
//! Sets values of fields
Standard_EXPORT OSD_Protection(const OSD_SingleProtection System, const OSD_SingleProtection User, const OSD_SingleProtection Group, const OSD_SingleProtection World);
//! Retrieves values of fields
Standard_EXPORT void Values (OSD_SingleProtection& System, OSD_SingleProtection& User, OSD_SingleProtection& Group, OSD_SingleProtection& World) ;
//! Sets values of fields
Standard_EXPORT void SetValues (const OSD_SingleProtection System, const OSD_SingleProtection User, const OSD_SingleProtection Group, const OSD_SingleProtection World) ;
//! Sets protection of 'System'
Standard_EXPORT void SetSystem (const OSD_SingleProtection priv) ;
//! Sets protection of 'User'
Standard_EXPORT void SetUser (const OSD_SingleProtection priv) ;
//! Sets protection of 'Group'
Standard_EXPORT void SetGroup (const OSD_SingleProtection priv) ;
//! Sets protection of 'World'
Standard_EXPORT void SetWorld (const OSD_SingleProtection priv) ;
//! Gets protection of 'System'
Standard_EXPORT OSD_SingleProtection System() const;
//! Gets protection of 'User'
Standard_EXPORT OSD_SingleProtection User() const;
//! Gets protection of 'Group'
Standard_EXPORT OSD_SingleProtection Group() const;
//! Gets protection of 'World'
Standard_EXPORT OSD_SingleProtection World() const;
//! Add a right to a single protection.
//! ex: aProt = RWD
//! me.Add(aProt,X) -> aProt = RWXD
Standard_EXPORT void Add (OSD_SingleProtection& aProt, const OSD_SingleProtection aRight) ;
//! Subtract a right to a single protection.
//! ex: aProt = RWD
//! me.Sub(aProt,RW) -> aProt = D
//! But me.Sub(aProt,RWX) is also valid and gives same result.
Standard_EXPORT void Sub (OSD_SingleProtection& aProt, const OSD_SingleProtection aRight) ;
friend class OSD_FileNode;
friend class OSD_File;
friend class OSD_Directory;
protected:
private:
//! Returns System dependent access rights
//! this is a private method.
Standard_EXPORT Standard_Integer Internal() const;
OSD_SingleProtection s;
OSD_SingleProtection u;
OSD_SingleProtection g;
OSD_SingleProtection w;
};
#endif // _OSD_Protection_HeaderFile
|