]>
git.saurik.com Git - apple/security.git/blob - SecurityServer/Authorization/AuthorizationWalkers.h
2 * Copyright (c) 2000-2001 Apple Computer, Inc. All Rights Reserved.
4 * The contents of this file constitute Original Code as defined in and are
5 * subject to the Apple Public Source License Version 1.2 (the 'License').
6 * You may not use this file except in compliance with the License. Please obtain
7 * a copy of the License at http://www.apple.com/publicsource and read it before
10 * This Original Code and all software distributed under the License are
11 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS
12 * OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT
13 * LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
14 * PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. Please see the License for the
15 * specific language governing rights and limitations under the License.
20 * AuthorizationWalkers.h
23 * Copyright: (c) 2000 by Apple Computer, Inc., all rights reserved
27 #if !defined(__AuthorizationWalkers__)
28 #define __AuthorizationWalkers__ 1
30 #include <Security/Authorization.h>
31 #include <Security/walkers.h>
39 template <class Action
>
40 void walk(Action
&operate
, AuthorizationItem
&item
)
42 walk(operate
, item
.name
);
43 operate(item
.value
, item
.valueLength
);
47 template <class Action
>
48 AuthorizationItemSet
*walk(Action
&operate
, AuthorizationItemSet
* &itemSet
)
51 operate(itemSet
->items
, itemSet
->count
* sizeof(AuthorizationItem
));
52 for (uint32 n
= 0; n
< itemSet
->count
; n
++)
53 walk(operate
, itemSet
->items
[n
]);
57 } // end namespace DataWalkers
59 } // end namespace Security
61 #endif /* ! __AuthorizationWalkers__ */