//
//  CustomXmlError.h
//  CustomXmlTest
//
//  Created by sviluppo on 19/03/14.
//  Copyright (c) 2014 CUSTOM. All rights reserved.
//

#import <Foundation/Foundation.h>



#define CUSTOM_XML_RETCODE_SUCCESS  0
#define CUSTOM_XML_RETCODE_FAILURE  -1



/// <summary>
/// Error class for CustomXmliOSApi
/// </summary>
@interface CustomXmlError : NSObject


{
@public
    
    /// <summary>
    /// Errors / Warnings Descriptions
    /// </summary>
    enum ErrorCodes
    {
        /**
         * Success
         */
        CUSTOM_XMLPRINT_SUCCESS = 0,
        /**
         * Generic failure
         */
        CUSTOM_XMLPRINT_GENERIC_FAILURE = 1,
        /**
         * Invalid argument
         */
        CUSTOM_XMLPRINT_INVALID_ARGUMENT = 2,
        /**
         * Printer name is not valid
         */
        CUSTOM_XMLPRINT_NOT_VALID_PRINTER = 3,
        /**
         * Internal engine library error
         */
        CUSTOM_XMLPRINT_INTERNAL_LIBRARY_ERROR = 4,
        /**
         * Library error
         */
        CUSTOM_XMLPRINT_LIBRARY_ERROR = 5,
        /**
         * Xml parsing error
         */
        CUSTOM_XMLPRINT_PARSE_ERROR = 6,
        /**
         * Supplied printer is not a Custom printer
         */
        CUSTOM_XMLPRINT_NOT_CUSTOM_PRINTER = 7,
        /**
         * Feature not enabled
         */
        CUSTOM_XMLPRINT_FEATURE_NOT_ENABLED = 8,
        /**
         * No match
         */
        CUSTOM_XMLPRINT_NO_MATCH = 9,
        /**
         * Security error
         */
        CUSTOM_XMLPRINT_SECURITY_ERROR = 10,
        /**
         * Font not available
         */
        CUSTOM_XMLPRINT_FONT_NOT_AVAILABLE = 11,

    };
    
@protected
    
@private
}

//Hide it in the documentation
//! @cond PRIVATE
+(void) Create:(NSError**)error :(enum ErrorCodes)errcode;
+(void) Create:(NSError**)error :(enum ErrorCodes)errcode :(NSString*)strFormat ,...;
+(void) Init:(NSError**)error;
//! @endcond





@end
