/**
 *  Copyright (c) 2018, MasterCard International Incorporated and/or its
 *  affiliates. All rights reserved.
 *
 *  The contents of this file may only be used subject to the MasterCard
 *  Mobile Payment SDK for MCBP and/or MasterCard Mobile MPP UI SDK
 *  Materials License.
 *
 *  Please refer to the file LICENSE.TXT for full details.
 *
 *  TO THE EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS", WITHOUT
 *  WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
 *  WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 *  NON INFRINGEMENT. TO THE EXTENT PERMITTED BY LAW, IN NO EVENT SHALL
 *  MASTERCARD OR ITS AFFILIATES BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 *  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 *  IN THE SOFTWARE.
 **/

// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from ReturnCode.djinni

#import <Foundation/Foundation.h>

/** Auto-generated Djinni interface for ::mpsdk::componentinterface::database::exception::returncodes::ReturnCode_t */
typedef NS_ENUM(NSInteger, ReturnCode)
{
    /**
     * 
     * Generic success code (i.e. No error during processing)
     * 
     */
    ReturnCode_OK,
    ReturnCode_DIGITIZED_CARD_CREATED,
    ReturnCode_DIGITIZED_CARD_UPDATED,
    /**
     * 
     * Invalid input data provided
     * 
     */
    ReturnCode_INVALID_INPUT,
    /**
     * 
     * The Digitized Card_t ID is not valid
     * 
     */
    ReturnCode_INVALID_DIGITIZED_CARD_ID,
    /**
     * 
     * The Digitized Card_t Profile is not valid
     * 
     */
    ReturnCode_INVALID_DIGITIZED_CARD_PROFILE,
    /**
     * 
     * The format of one or more of the Digitized Card_t Single Use Keys (DC_SUKs) is invalid.
     * 
     */
    ReturnCode_INVALID_DIGITIZED_CARD_SINGLE_USE_KEY,
    /**
     * 
     * The Digitized Card_t ID does not exist in the Local Database Encrypted (Lde)
     * 
     */
    ReturnCode_DIGITIZED_CARD_ID_NOT_FOUND,
    /**
     * 
     * The Local Database Encrypted (Lde) is not initialized
     * 
     */
    ReturnCode_LDE_NOT_INITIALIZED,
    /**
     * 
     * The Local Database Encrypted (Lde) is already initialized
     * 
     */
    ReturnCode_LDE_ALREADY_INITIALIZED,
    /**
     * 
     * The received transaction log record format is invalid
     * 
     */
    ReturnCode_INVALID_LOG_RECORD_FORMAT,
    /**
     * 
     * Digitized Card_t Single Use Keys (DC_SUKs) queue of the referenced Digitized Card_t is empty
     * 
     */
    ReturnCode_NO_SESSION_KEYS_AVAILABLE,
    /**
     * 
     * No User Information has been pushed by the CMS, or No information pushed by CMS and not read
     * before by the Business Logic module
     * 
     */
    ReturnCode_NO_USER_INFORMATION_FOUND,
    /**
     * 
     * The MPP Lite is in the wrong state to perform the requested operation.
     * This error code is used slightly different than in the specifications since the state of the
     * MPP Lite is not exposed to other objects.
     * 
     */
    ReturnCode_WRONG_STATE,
    /**
     * 
     * The Card_t Profile is not compatible with the requested operation (i.e. Remote Payment or
     * Contactless transaction)
     * 
     */
    ReturnCode_INCOMPATIBLE_PROFILE,
    /**
     * 
     * The format of received credentials is incorrect for a Remote Payment Transaction
     * 
     */
    ReturnCode_INVALID_REMOTE_PAYMENT_CREDENTIALS,
    /**
     * 
     * The format of received credentials is incorrect for a Contactless Transaction
     * 
     */
    ReturnCode_INVALID_CONTACTLESS_CREDENTIALS,
    /**
     * 
     * Component not initialized
     * 
     */
    ReturnCode_NOT_INITIALIZED,
    /**
     * 
     * Error occurred during processing
     * 
     */
    ReturnCode_INTERNAL_ERROR,
    /**
     * 
     * An error occurred during remote management operations
     * 
     */
    ReturnCode_REMOTE_MANAGEMENT_ERROR,
    /**
     * 
     * Incompatible data retrieved during processing
     * 
     */
    ReturnCode_UNEXPECTED_DATA,
    /**
     * 
     * Unexpected Protocol Message
     * 
     */
    ReturnCode_UNEXPECTED_PROTOCOL_MESSAGE,
    /**
     * 
     * McbpCard is unable to log the transaction
     * 
     */
    ReturnCode_LOGGING_ERROR,
    /**
     * 
     * Card_t Holder Validator authentication was not successful
     * 
     */
    ReturnCode_CH_VALIDATION_ERROR,
    /**
     * 
     * The protocol message is not valid (e.g. MAC not matching)
     * 
     */
    ReturnCode_INVALID_PROTOCOL_MESSAGE,
    /**
     * 
     * A cryptographic error has occurred
     * 
     */
    ReturnCode_CRYPTO_ERROR,
    /**
     * 
     * Lde Generic Error
     * 
     */
    ReturnCode_LDE_ERROR,
    /**
     * 
     * If provisioning of SUK failed
     * 
     */
    ReturnCode_PROVISIONING_SUK_FAILED_ERROR,
    /**
     * 
     * Raised when the number of transactions stored in the database exceeds the maximum number
     * 
     */
    ReturnCode_TRANSACTION_STORAGE_LIMIT_REACH,
    /**
     * 
     * An error has occurred when registering with Google Cloud Messaging
     * 
     */
    ReturnCode_GCM_REGISTRATION_FAILED,
    /**
     * 
     * Unable to perform CMS request due to network connectivity
     * 
     */
    ReturnCode_NETWORK_ERROR,
    /**
     * 
     * Failure event when another request is already in process.
     * 
     */
    ReturnCode_ANOTHER_REQUEST_IS_ALREADY_IN_PROCESS,
    /**
     * 
     * Failure event when unable to request session.
     * 
     */
    ReturnCode_FAILED_TO_FETCH_SESSION,
    /**
     * 
     * Failure event when failed with unknown reason.
     * 
     */
    ReturnCode_FAILED_DUE_TO_UNKNOWN_REASON,
    /**
     * 
     * Operation attempted whilst key rollover is in progress
     * 
     */
    ReturnCode_ROLLOVER_IN_PROGRESS,
};
