class Access : public SecCFObject {
NOCOPY(Access)
public:
+ SECCFFUNCTIONS(Access, SecAccessRef, errSecInvalidItemRef)
+
class Maker {
NOCOPY(Maker)
static const size_t keySize = 16; // number of (random) bytes
// make from CSSM layer information (presumably retrieved by caller)
Access(const CSSM_ACL_OWNER_PROTOTYPE &owner,
uint32 aclCount, const CSSM_ACL_ENTRY_INFO *acls);
-
- virtual ~Access();
+ virtual ~Access() throw();
public:
CFArrayRef copySecACLs() const;
void addApplicationToRight(AclAuthorization right, TrustedApplication *app);
+ void copyOwnerAndAcl(CSSM_ACL_OWNER_PROTOTYPE * &owner,
+ uint32 &aclCount, CSSM_ACL_ENTRY_INFO * &acls);
+
protected:
void makeStandard(const string &description, const ACL::ApplicationList &trusted,
const AclAuthorizationSet &limitedRights = AclAuthorizationSet(),
private:
static const CSSM_ACL_HANDLE ownerHandle = ACL::ownerHandle;
- typedef map<CSSM_ACL_HANDLE, RefPointer<ACL> > Map;
+ typedef map<CSSM_ACL_HANDLE, SecPointer<ACL> > Map;
Map mAcls; // set of ACL entries
};