Mercurial > projects > dstep
view dstep/security/AuthorizationPlugin.d @ 27:57371c29ef73 default tip
ObjcWrap is now automatically mixed in. Added support for building as a dylib with DMD.
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Fri, 09 Apr 2010 23:00:22 +0200 |
parents | 07194b026fa4 |
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); }