MYKeychainItem.h
author snej@snej.local
Sat Apr 04 22:56:13 2009 -0700 (2009-04-04)
changeset 1 60e4cbbb5128
parent 0 0a6527af039b
child 2 8982b8fada63
permissions -rw-r--r--
Code cleanup, more header comments.
snej@0
     1
//
snej@0
     2
//  MYKeychainItem.h
snej@0
     3
//  MYCrypto
snej@0
     4
//
snej@0
     5
//  Created by Jens Alfke on 3/26/09.
snej@0
     6
//  Copyright 2009 Jens Alfke. All rights reserved.
snej@0
     7
//
snej@0
     8
snej@0
     9
#import <Foundation/Foundation.h>
snej@0
    10
#import <Security/Security.h>
snej@0
    11
@class MYKeychain;
snej@0
    12
snej@1
    13
snej@1
    14
/** Error domain for CSSM (low-level crypto) errors */
snej@1
    15
extern NSString* const MYCSSMErrorDomain;
snej@1
    16
snej@1
    17
snej@0
    18
#if TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR
snej@0
    19
typedef CFTypeRef MYKeychainItemRef;
snej@0
    20
#else
snej@0
    21
typedef SecKeychainItemRef MYKeychainItemRef;
snej@0
    22
#endif
snej@0
    23
snej@0
    24
snej@1
    25
/** Abstract base class for keychain items.
snej@1
    26
    Direct subclasses are MYKey and MYCertificate. */
snej@0
    27
@interface MYKeychainItem : NSObject
snej@0
    28
{
snej@0
    29
    @private
snej@0
    30
    MYKeychainItemRef _itemRef;
snej@0
    31
}
snej@0
    32
snej@1
    33
/** The Keychain item reference that this object represents. */
snej@0
    34
@property (readonly) MYKeychainItemRef keychainItemRef;
snej@0
    35
snej@1
    36
/** The Keychain that contains this object, or nil. */
snej@0
    37
@property (readonly) MYKeychain *keychain;
snej@0
    38
snej@0
    39
/** Removes the item from its keychain, if any. */
snej@0
    40
- (BOOL) removeFromKeychain;
snej@0
    41
snej@0
    42
@end