1*5a1d355fSStephan Aßmus // UserSecurityContext.h 2*5a1d355fSStephan Aßmus 3*5a1d355fSStephan Aßmus #ifndef NET_FS_USER_SECURITY_CONTEXT_H 4*5a1d355fSStephan Aßmus #define NET_FS_USER_SECURITY_CONTEXT_H 5*5a1d355fSStephan Aßmus 6*5a1d355fSStephan Aßmus #include "Permissions.h" 7*5a1d355fSStephan Aßmus 8*5a1d355fSStephan Aßmus #include <Node.h> 9*5a1d355fSStephan Aßmus 10*5a1d355fSStephan Aßmus class User; 11*5a1d355fSStephan Aßmus 12*5a1d355fSStephan Aßmus class UserSecurityContext { 13*5a1d355fSStephan Aßmus public: 14*5a1d355fSStephan Aßmus UserSecurityContext(); 15*5a1d355fSStephan Aßmus ~UserSecurityContext(); 16*5a1d355fSStephan Aßmus 17*5a1d355fSStephan Aßmus status_t Init(User* user); 18*5a1d355fSStephan Aßmus 19*5a1d355fSStephan Aßmus User* GetUser() const; 20*5a1d355fSStephan Aßmus 21*5a1d355fSStephan Aßmus status_t AddNode(dev_t volumeID, ino_t nodeID, 22*5a1d355fSStephan Aßmus Permissions permissions); 23*5a1d355fSStephan Aßmus 24*5a1d355fSStephan Aßmus Permissions GetNodePermissions(dev_t volumeID, 25*5a1d355fSStephan Aßmus ino_t nodeID) const; 26*5a1d355fSStephan Aßmus Permissions GetNodePermissions(const node_ref& ref) const; 27*5a1d355fSStephan Aßmus Permissions GetNodePermissions(dev_t volumeID, ino_t nodeID, 28*5a1d355fSStephan Aßmus Permissions parentPermissions) const; 29*5a1d355fSStephan Aßmus Permissions GetNodePermissions(const node_ref& ref, 30*5a1d355fSStephan Aßmus Permissions parentPermissions) const; 31*5a1d355fSStephan Aßmus 32*5a1d355fSStephan Aßmus private: 33*5a1d355fSStephan Aßmus struct PermissionMap; 34*5a1d355fSStephan Aßmus 35*5a1d355fSStephan Aßmus User* fUser; 36*5a1d355fSStephan Aßmus PermissionMap* fPermissions; 37*5a1d355fSStephan Aßmus }; 38*5a1d355fSStephan Aßmus 39*5a1d355fSStephan Aßmus #endif // NET_FS_USER_SECURITY_CONTEXT_H 40