/**********************************************
* CONFIDENTIAL AND PROPRIETARY
*
* The information contained herein is the confidential and the exclusive property of
* ZIH Corp. This document, and the information contained herein, shall not be copied, reproduced, published,
* displayed or distributed, in whole or in part, in any medium, by any means, for any purpose without the express
* written consent of ZIH Corp.
*
* Copyright ZIH Corp. 2012
*
* ALL RIGHTS RESERVED
***********************************************/
#import "PrinterStatus.h"
/**
* This class is used to acquire a human readable string of the current errors/warnings stored in a
* PrinterStatus instance.
*
* Get a string array of the current errors and warnings.
* \code
#import "TcpPrinterConnection.h"
#import "ZebraPrinter.h"
#import "ZebraPrinterFactory.h"
#import "PrinterStatusMessages.h"
#import
TcpPrinterConnection *zebraPrinterConnection = [[TcpPrinterConnection alloc] initWithAddress:@"192.168.1.100" andWithPort:6101];
BOOL success = [zebraPrinterConnection open];
NSError *error = nil;
id printer = [ZebraPrinterFactory getInstance:zebraPrinterConnection error:&error];
PrinterStatus *printerStatus = [printer getCurrentStatus:&error];
NSString* status = nil;
if (printerStatus.isReadyToPrint) {
status = @"Ready To Print";
} else {
PrinterStatusMessages *statusMessage = [[PrinterStatusMessages alloc]initWithPrinterStatus:printerStatus];
NSArray *statusMessages = [statusMessage getStatusMessage];
NSMutableString *joinedStatusMessage = [[NSMutableString alloc] initWithFormat:@""];
for (NSUInteger i = 0; i < [statusMessages count]; i++) {
[joinedStatusMessage appendFormat:@"%@;", [statusMessages objectAtIndex:i]];
}
status = [[NSString alloc] initWithFormat:@"Cannot Print: %@", joinedStatusMessage];
[joinedStatusMessage release];
[statusMessage release];
}
if (error != nil || printer == nil || success == NO) {
UIAlertView *errorAlert = [[UIAlertView alloc] initWithTitle:@"Error" message:[error localizedDescription] delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
[errorAlert show];
[errorAlert release];
}
[zebraPrinterConnection release];
* \endcode
*/
@interface PrinterStatusMessages : NSObject {
@private PrinterStatus *printerStatus;
}
/**
* Message to indicate the head is open.
* @returns A message to indicate the head is open.
*/
+(NSString*) HEAD_OPEN_MSG;
/**
* Message to indicate the head is too hot.
* @returns A Message to indicate the head is too hot.
*/
+(NSString*) HEAD_TOO_HOT_MSG ;
/**
* Message to indicate the paper is out.
* @returns A message to indicate the paper is out.
*/
+(NSString*) PAPER_OUT_MSG;
/**
* Message to indicate the ribbon is out.
* @returns A message to indicate the ribbon is out.
*/
+(NSString*) RIBBON_OUT_MSG;
/**
* Message to indicate the receive buffer is full.
* @returns A message to indicate the receive buffer is full.
*/
+(NSString*) RECEIVE_BUFFER_FULL_MSG;
/**
* Message to indicate printer is paused.
* @returns A message to indicate printer is paused.
*/
+(NSString*) PAUSE_MSG;
/**
* Used to acquire a human readable string of the current errors/warnings stored in aPrinterStatus
*
* @param aPrinterStatus An instance of PrinterStatus that will be used to acquire the human readable string
* of warnings/errors stored in aPrinterStatus.
*/
-(id)initWithPrinterStatus:(PrinterStatus *)aPrinterStatus;
/**
* Used to acquire a human readable string of the current errors/warnings passed to this instance.
*
* @returns A human readable string array of the current errors/warnings passed to this instance.
*/
-(NSArray *)getStatusMessage;
@end