package cdac.medinfo.sdk.hl7282.hl7net.commons;

import java.io.IOException;

import cdac.medinfo.sdk.hl7282.baselibs.messages.Message;
import cdac.medinfo.sdk.hl7282.utils.EnumErrorCode;


/**
 * IDataNotificationListener is the listener interface for receiving Messages. 
 * The class that is interested in receiving an IMessages implements this interface, 
 * When Message is received by HL7 SDK notifyData is method is invoked for message arrival.
 */
public interface IDataNotificationListener 
{
	/**
	 * Adds Data Notification Listeners to Receive HL7BatchFile.
	 * @param objBatchFile HL7BatchFile that is received as Data.
	 */
	public void notifyData(IHL7BatchFile objBatchFile );
//	
//	/**
//	 * Adds Data Notification Listeners to Receive HL7BatchFile.
//	 * @param objHL7Batch HL7Batch that is received as data.
//	 */
//	public void notifyData(IHL7Batch objHL7Batch);
	
	/**
	 * Adds Data Notification Listeners to Receive Message.
	 * @param objIMessage message that is received as Data.
	 * @param enumErrorCode error code received.
	 * @throws IOException  Signals that an IO Exception has occurred.
	 */
	public void notifyData(Message objIMessage,EnumErrorCode enumErrorCode) throws IOException;
}
