/*
 * Copyright (c) 2011 - 2012, Precise Biometrics AB
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. Neither the name of the Precise Biometrics AB nor the names of its
 *    contributors may be used to endorse or promote products derived from
 *    this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 * DAMAGE.
 *
 *
 * $Date: 2012-04-20 11:18:03 +0200 (fr, 20 apr 2012) $ $Rev: 14630 $ 
 *
 */

#import <Foundation/Foundation.h>


// access conditions for ID store containers 
typedef enum {
    PBSmartcardIDStoreAccessConditionAnyone,         // unrestricted access
    PBSmartcardIDStoreAccessConditionBiometryOnly,   // a biometric template must be verified on BioManager
    PBSmartcardIDStoreAccessConditionAdminOnly,      // the BioManager Admin key must be verified.
    PBSmartcardIDStoreAccessConditionBiometryOrAdmin // a biometric template must be verified or the admin key on BioManager must be verified
} PBSmartcardIDStoreAccessCondition;

@interface PBSmartcardIDStoreContainer : NSObject {
    PBSmartcardIDStoreAccessCondition readAccess;   // access condition for reading data
    PBSmartcardIDStoreAccessCondition writeAccess;  // access condition for writing data
    int capacity;           // container capacity (in bytes)
    int currentlyStored;    // number of bytes currently written
    BOOL inUse;             // if the container is in use or not (actual use of this is unknown)
}

@property (nonatomic) PBSmartcardIDStoreAccessCondition readAccess;
@property (nonatomic) PBSmartcardIDStoreAccessCondition writeAccess;
@property (nonatomic) int capacity;
@property (nonatomic) int currentlyStored;
@property (nonatomic) BOOL inUse;

@end
