// Path: gsm-modem-client-api/src/main/java/fr/romainmoreau/gsmmodem/client/api/GsmModemClient.java
// public interface GsmModemClient extends Closeable {
// 	void setSMSTextMode() throws IOException, GsmModemException;
// 
// 	void sendSms(String gsmNumber, String sms) throws IOException, GsmModemException;
// 
// 	void sendCommand(String command) throws IOException, GsmModemException;
// }
// 
// Path: gsm-modem-jaxb-api/src/main/java/fr/romainmoreau/gsmmodem/jaxb/api/Command.java
// public interface Command {
// 	void execute(GsmModemClient gsmModemClient) throws IOException, GsmModemException;
// }
// 
// Path: gsm-modem-jaxb-api/src/main/java/fr/romainmoreau/gsmmodem/jaxb/api/Commands.java
// @XmlRootElement
// public class Commands {
// 	private List<Command> commands;
// 
// 	@XmlElements({ @XmlElement(name = "sendSms", type = SendSms.class),
// 			@XmlElement(name = "sendCommand", type = SendCommand.class),
// 			@XmlElement(name = "setSMSTextMode", type = SetSMSTextMode.class) })
// 	public List<Command> getCommands() {
// 		return commands;
// 	}
// 
// 	public void setCommands(List<Command> commands) {
// 		this.commands = commands;
// 	}
// }


import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import fr.romainmoreau.gsmmodem.client.api.GsmModemClient;
import fr.romainmoreau.gsmmodem.jaxb.api.Command;
import fr.romainmoreau.gsmmodem.jaxb.api.Commands;
package fr.romainmoreau.gsmmodem.web;





@Service
public class GsmModemWorker {
	private static final Logger LOGGER = LoggerFactory.getLogger(GsmModemWorker.class);

	@Autowired
// Path: gsm-modem-client-api/src/main/java/fr/romainmoreau/gsmmodem/client/api/GsmModemClient.java
// public interface GsmModemClient extends Closeable {
// 	void setSMSTextMode() throws IOException, GsmModemException;
// 
// 	void sendSms(String gsmNumber, String sms) throws IOException, GsmModemException;
// 
// 	void sendCommand(String command) throws IOException, GsmModemException;
// }
// 
// Path: gsm-modem-jaxb-api/src/main/java/fr/romainmoreau/gsmmodem/jaxb/api/Command.java
// public interface Command {
// 	void execute(GsmModemClient gsmModemClient) throws IOException, GsmModemException;
// }
// 
// Path: gsm-modem-jaxb-api/src/main/java/fr/romainmoreau/gsmmodem/jaxb/api/Commands.java
// @XmlRootElement
// public class Commands {
// 	private List<Command> commands;
// 
// 	@XmlElements({ @XmlElement(name = "sendSms", type = SendSms.class),
// 			@XmlElement(name = "sendCommand", type = SendCommand.class),
// 			@XmlElement(name = "setSMSTextMode", type = SetSMSTextMode.class) })
// 	public List<Command> getCommands() {
// 		return commands;
// 	}
// 
// 	public void setCommands(List<Command> commands) {
// 		this.commands = commands;
// 	}
// }


// Path: gsm-modem-web/src/main/java/fr/romainmoreau/gsmmodem/web/GsmModemWorker.java
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import fr.romainmoreau.gsmmodem.client.api.GsmModemClient;
import fr.romainmoreau.gsmmodem.jaxb.api.Command;
import fr.romainmoreau.gsmmodem.jaxb.api.Commands;

package fr.romainmoreau.gsmmodem.web;





@Service
public class GsmModemWorker {
	private static final Logger LOGGER = LoggerFactory.getLogger(GsmModemWorker.class);

	@Autowired
	private GsmModemClient gsmModemClient;