// // CommunicationProtocol.h // DUREX Vendor Control // // Created by Imanol Barba on 5/23/14. // Copyright (c) 2014 Emmoco. All rights reserved. // @class CommunicationProtocol; #import #import "EMFramework.h" #define SLEEP_TIME ((NSTimeInterval)1) #define MAX_STRING_LENGTH ((int)200) #define MAX_RETRIES ((int)3) #define MAX_PRODUCT_NAME_LENGTH ((int)64) #define MAX_CHANNELS ((int)16) #define MONEY_IN_NUM_UNITS ((int)6) #define MONEY_OUT_NUM_UNITS ((int)3) #define CHANGE_NUM_UNITS ((int)2) #define MAX_PRODUCTS ((int)16) #define SALE_STRING_LENGTH ((int)36) #define INCIDENT_STRING_LENGTH ((int)20) #define REPORT_SERVER_URL @"http://seneca.upc.es:8090/machine" @protocol CommunicationProtocolDelegate - (void)processMessage:(CommunicationProtocol*)protocol didFinishEnteringItem:(NSString*) response; - (void) reportProtocolError: (CommunicationProtocol*)protocol didFinishEnteringItem:(NSString*) error; @end @interface CommunicationProtocol : NSObject @property (nonatomic, strong) id delegate; -(void) writeMessage: (NSString*) message; -(void) readMessage; -(void) establishConnection; -(void) disconnect; -(void) updateTime: (NSDateComponents*) date; -(void) updatePrice: (uint8_t) channel : (uint8_t) product : (uint8_t) eur : (uint8_t) cents; -(void) updateProductName: (uint8_t) channel : (uint8_t) product : (NSString*) name; -(void) readSensorData; -(void) readSalesLog: (NSDateComponents*) start : (NSDateComponents*) end; -(void) readIncidentLog: (NSDateComponents*) start : (NSDateComponents*) end; //-(void) testA9 : (NSMutableString*) testString; +(id) sharedProtocol; @end