当前位置: 首页>>代码示例>>C++>>正文


C++ SecPointer::modify方法代码示例

本文整理汇总了C++中SecPointer::modify方法的典型用法代码示例。如果您正苦于以下问题:C++ SecPointer::modify方法的具体用法?C++ SecPointer::modify怎么用?C++ SecPointer::modify使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SecPointer的用法示例。


在下文中一共展示了SecPointer::modify方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: SecACLSetSimpleContents

OSStatus SecACLSetSimpleContents(SecACLRef aclRef,
	CFArrayRef applicationList,
	CFStringRef description, const CSSM_ACL_KEYCHAIN_PROMPT_SELECTOR *promptSelector)
{
	BEGIN_SECAPI
	SecPointer<ACL> acl = ACL::required(aclRef);
    if(acl->form() == ACL::integrityForm) {
        // If this is an integrity ACL, route the (unhexified) promptDescription into the right place
        string hex = cfString(description);
        if(hex.length() %2 == 0) {
            // might be a valid hex string, try to set
            CssmAutoData data(Allocator::standard());
            data.malloc(hex.length() / 2);
            data.get().fromHex(hex.c_str());
            acl->setIntegrity(data);
        }
    } else {
        // Otherwise, put it in the promptDescription where it belongs
        acl->promptDescription() = description ? cfString(description) : "";
    }
	acl->promptSelector() = promptSelector ? *promptSelector : ACL::defaultSelector;
    if(acl->form() !=  ACL::integrityForm) {
        if (applicationList) {
            // application-list + prompt
            acl->form(ACL::appListForm);
            setApplications(acl, applicationList);
        } else {
            // allow-any
            acl->form(ACL::allowAllForm);
        }
	}
	acl->modify();
	END_SECAPI
}
开发者ID:darlinghq,项目名称:darling-security,代码行数:34,代码来源:SecACL.cpp

示例2: SecACLSetAuthorizations

OSStatus SecACLSetAuthorizations(SecACLRef aclRef,
	CSSM_ACL_AUTHORIZATION_TAG *tags, uint32 tagCount)
{
	BEGIN_SECAPI
	SecPointer<ACL> acl = ACL::required(aclRef);
	if (acl->isOwner())		// can't change rights of the owner ACL
		MacOSError::throwMe(errSecInvalidOwnerEdit);
	AclAuthorizationSet &auths = acl->authorizations();
	auths.clear();
	copy(tags, tags + tagCount, insert_iterator<AclAuthorizationSet>(auths, auths.begin()));
	acl->modify();
	END_SECAPI
}
开发者ID:darlinghq,项目名称:darling-security,代码行数:13,代码来源:SecACL.cpp


注:本文中的SecPointer::modify方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。