9 #ifndef __pianod__ownership__
10 #define __pianod__ownership__
30 const std::string &
ownerName (
void)
const;
Class to map between enumerations and their text values.
Definition: lookup.h:30
Privilege management for media sources.
Definition: fundamentals.h:351
Action
Access actions for an object.
Definition: fundamentals.h:364
Type
Access levels for an object.
Definition: fundamentals.h:355
@ DISOWNED
Object has no owner.
Ownership where privilege is defined within the object.
Definition: ownership.h:18
~PrimaryOwnership(void)
Definition: ownership.cpp:33
Type access
Definition: ownership.h:20
User * getOwner(void) const
Definition: ownership.h:28
virtual bool hasPermission(const User *user, Action action) const override
Determine if a user has permission to use this item in some manner.
Definition: ownership.cpp:74
PrimaryOwnership(void)
Default construct ownership: No owner, private access.
Definition: ownership.cpp:21
void abandon(void)
Disassociate ownership from any owner, and mark as disowned.
Definition: ownership.cpp:46
virtual bool isOwnedBy(const User *user) const override
Check if we are owned by a user.
Definition: ownership.cpp:64
User * owner
Definition: ownership.h:21
const std::string & ownerName(void) const
Retrieve the name of the owner.
Definition: ownership.cpp:39
bool isOwned(void) const
Definition: ownership.h:29
Ownership where privilege is regulated by some parent object.
Definition: ownership.h:37
virtual bool isOwnedBy(const User *user) const override
Definition: ownership.cpp:83
virtual bool hasPermission(const User *user, Action action) const override
Definition: ownership.cpp:88
virtual Ownership * parentOwner(void) const =0
Data about each user.
Definition: user.h:53
Essential data structures and support.
const LookupTable< Ownership::Type > OwnershipLookup
Definition: ownership.h:46
OwnershipLookup OWNERSHIP