Mercurial > projects > dstep
view dstep/security/AuthorizationPlugin.d @ 11:07194b026fa4
Added bindings to a couple of frameworks, new license + some other things
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Sat, 01 Aug 2009 15:03:28 +0200 |
parents | |
children |
line wrap: on
line source
/** * Copyright: Copyright (c) 2009 Jacob Carlborg. * Authors: Jacob Carlborg * Version: Initial created: Jul 22, 2009 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) */ module dstep.security.AuthorizationPlugin; import dstep.security.Authorization; struct __OpaqueAuthorizationEngine; alias uint AuthorizationContextFlags; alias char* AuthorizationMechanismId; alias char* AuthorizationPluginId; alias void* AuthorizationPluginRef; alias void* AuthorizationMechanismRef; alias __OpaqueAuthorizationEngine* AuthorizationEngineRef; alias void* AuthorizationSessionId; alias uint AuthorizationResult; enum { kAuthorizationContextFlagExtractable = (1 << 0), kAuthorizationContextFlagVolatile = (1 << 1), kAuthorizationContextFlagSticky = (1 << 2) } enum { kAuthorizationResultAllow, kAuthorizationResultDeny, kAuthorizationResultUndefined, kAuthorizationResultUserCanceled } enum { kAuthorizationPluginInterfaceVersion = 0 } enum { kAuthorizationCallbacksVersion = 0 } struct AuthorizationValue { uint length; void* data; } struct AuthorizationValueVector { uint count; AuthorizationValue* values; } struct AuthorizationCallbacks { uint version_; char* inKey; AuthorizationContextFlags* outContextFlags; uint inContextFlags; } struct AuthorizationPluginInterface { uint version_; AuthorizationEngineRef inEngine; AuthorizationMechanismId mechanismId; } extern (C) { int AuthorizationPluginCreate (AuthorizationCallbacks* callbacks, AuthorizationPluginRef* outPlugin, AuthorizationPluginInterface** outPluginInterface); }