Move source files for device.lirc

This commit is contained in:
2016-07-03 16:27:26 +01:00
parent 3cca0d9ba0
commit 1221e156ea
25 changed files with 743 additions and 0 deletions

View File

@@ -0,0 +1,4 @@
dependencies {
compile project(':core.legacy')
compile project(':exec.mimis')
}

View File

@@ -0,0 +1,26 @@
/**
* Copyright (C) 2015 Rik Veenboer <rik.veenboer@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package mimis.device.lirc;
import mimis.input.Button;
public interface LircButton extends Button {
public static final String NAME = null;
public String getCode();
public String getName();
}

View File

@@ -0,0 +1,21 @@
/**
* Copyright (C) 2015 Rik Veenboer <rik.veenboer@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package mimis.device.lirc;
public interface LircButtonListener {
public void add(LircButton lircButton);
}

View File

@@ -0,0 +1,126 @@
/**
* Copyright (C) 2015 Rik Veenboer <rik.veenboer@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package mimis.device.lirc;
import mimis.application.cmd.CMDApplication;
import mimis.device.Device;
import mimis.device.lirc.remote.DenonRC176Button;
import mimis.device.lirc.remote.PhiliphsRCLE011Button;
import mimis.device.lirc.remote.SamsungBN5901015AButton;
import mimis.input.Button;
import mimis.input.button.ColorButton;
import mimis.input.button.NumberButton;
import mimis.input.state.Press;
import mimis.input.state.Release;
import mimis.util.Multiplexer;
import mimis.util.Native;
import mimis.util.multiplexer.SignalListener;
import mimis.value.Action;
import mimis.value.Signal;
import base.exception.worker.ActivateException;
import base.exception.worker.DeactivateException;
public class LircDevice extends CMDApplication implements Device, LircButtonListener, SignalListener<Button> {
protected final static String PROGRAM = "winlirc.exe";
protected static final String TITLE = "Lirc";
protected Multiplexer<Button> multiplexer;
protected LircService lircService;
protected LircTaskMapCycle taskMapCycle;
public LircDevice() {
super(PROGRAM, TITLE);
multiplexer = new Multiplexer<Button>(this);
lircService = new LircService();
lircService.put(PhiliphsRCLE011Button.NAME, PhiliphsRCLE011Button.values());
lircService.put(DenonRC176Button.NAME, DenonRC176Button.values());
lircService.put(SamsungBN5901015AButton.NAME, SamsungBN5901015AButton.values());
lircService.add(this);
taskMapCycle = new LircTaskMapCycle();
}
public void activate() throws ActivateException {
super.activate();
lircService.start();
parser(Action.ADD, taskMapCycle.denonRC176);
parser(Action.ADD, taskMapCycle.philiphsRCLE011);
parser(Action.ADD, taskMapCycle.samsungBN5901015A);
}
public boolean active() {
if (detect) {
if (active() && !lircService.active()) {
stop();
} else if (!active()) {
running = Native.isRunning(PROGRAM);
if (running) {
start();
}
}
}
return super.active();
}
public void deactivate() throws DeactivateException {
logger.debug("Deactivate LircDevice");
super.deactivate();
lircService.stop();
multiplexer.stop();
}
public void exit() {
logger.debug("Exit LircDevice");
super.exit();
lircService.exit();
multiplexer.exit();
}
public void add(LircButton lircButton) {
multiplexer.add(lircButton);
}
public void add(Signal signal, Button button) {
add(signal, button, true);
}
public void add(Signal signal, Button button, boolean general) {
switch (signal) {
case BEGIN:
route(new Press(button));
break;
case END:
route(new Release(button));
break;
default:
break;
}
if (general) {
String string = button.toString();
for (Button colorButton : ColorButton.values()) {
if (colorButton.toString().equals(string)) {
add(signal, ColorButton.valueOf(string), false);
}
}
for (Button numberButton : NumberButton.values()) {
if (numberButton.toString().equals(string)) {
add(signal, NumberButton.valueOf(string), false);
}
}
}
}
}

View File

@@ -0,0 +1,136 @@
/**
* Copyright (C) 2015 Rik Veenboer <rik.veenboer@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package mimis.device.lirc;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.SocketTimeoutException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.InputMismatchException;
import java.util.NoSuchElementException;
import java.util.Scanner;
import mimis.exception.button.UnknownButtonException;
import mimis.util.Native;
import mimis.value.Registry;
import base.exception.worker.ActivateException;
import base.server.socket.TcpClient;
public class LircService extends TcpClient {
public static final String IP = "atom";
public static final int PORT = 8765;
protected ArrayList<LircButtonListener> lircButtonListenerList;
// Pluggable reader and writer?
// Receive strings via callback?
protected BufferedReader bufferedReader;
protected PrintWriter printWriter;
protected HashMap<String, LircButton[]> buttonMap;
protected String send;
public static void main(String[] args) {
LircService lircService = new LircService();
lircService.start();
}
public LircService() {
super(IP, PORT);
buttonMap = new HashMap<String, LircButton[]>();
send = Native.getValue(Registry.CURRENT_USER, "Software\\LIRC", "password");
lircButtonListenerList = new ArrayList<LircButtonListener>();
}
public void put(String name, LircButton[] LircButtonArray) {
buttonMap.put(name, LircButtonArray);
}
public void add(LircButtonListener lircButtonListener) {
lircButtonListenerList.add(lircButtonListener);
}
public void remove(LircButtonListener lircButtonListener) {
lircButtonListenerList.remove(lircButtonListener);
}
public void activate() throws ActivateException {
super.activate();
bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
printWriter = new PrintWriter(outputStream);
}
public void work() {
try {
String line = bufferedReader.readLine();
while (line.equals("BEGIN")) {
while (!bufferedReader.readLine().equals("END"));
line = bufferedReader.readLine();
}
try {
LircButton lircButton = parseButton(new Scanner(line));
for (LircButtonListener lircbuttonListener : lircButtonListenerList) {
lircbuttonListener.add(lircButton);
}
} catch (UnknownButtonException e) {
logger.error("", e);
}
} catch (SocketTimeoutException e) {
} catch (IOException e) {
logger.error("", e);
}
}
public LircButton parseButton(Scanner scanner) throws UnknownButtonException {
try {
scanner.next();
scanner.next();
String code = scanner.next();
String remote = scanner.next();
logger.trace(String.format("%s: %s", remote, code));
LircButton[] buttonArray = buttonMap.get(remote);
if (buttonArray != null) {
for (LircButton button : buttonArray) {
if (button.getCode().equals(code)) {
return button;
}
}
}
} catch (InputMismatchException e) {
logger.error("", e);
} catch (NoSuchElementException e) {
logger.error("", e);
}
throw new UnknownButtonException();
}
public void send(LircButton button) {
send(button, 0);
}
public void send(LircButton button, int repeat) {
if (send == null) {
return;
}
String command = String.format("%s %s %s \n", send, button.getName(), button.getCode());
printWriter.append(command);
printWriter.flush();
}
}

View File

@@ -0,0 +1,35 @@
/**
* Copyright (C) 2015 Rik Veenboer <rik.veenboer@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package mimis.device.lirc;
import mimis.device.lirc.remote.DenonRC176EventMap;
import mimis.device.lirc.remote.PhiliphsRCLE011EventMap;
import mimis.device.lirc.remote.SamsungBN5901015AEventMap;
import mimis.state.TaskMap;
import mimis.state.TaskMapCycle;
public class LircTaskMapCycle extends TaskMapCycle {
protected static final long serialVersionUID = 1L;
public TaskMap denonRC176, philiphsRCLE011, samsungBN5901015A;
public LircTaskMapCycle() {
add(denonRC176 = new DenonRC176EventMap());
add(philiphsRCLE011 = new PhiliphsRCLE011EventMap());
add(samsungBN5901015A = new SamsungBN5901015AEventMap());
}
}

View File

@@ -0,0 +1,66 @@
/**
* Copyright (C) 2015 Rik Veenboer <rik.veenboer@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package mimis.device.lirc.remote;
import mimis.device.lirc.LircButton;
public enum DenonRC176Button implements LircButton {
TAPE_AB ("TAPE_AB"),
TAPE_REC ("TAPE_REC"),
TAPE_PAUSE ("TAPE_PAUSE"),
TAPE_STOP ("TAPE_STOP"),
TAPE_REWIND ("TAPE_REW"),
TAPE_FORWARD ("TAPE_FF"),
TAPE_PREIVOUS ("TAPE_PLAYREV"),
TAPE_NEXT ("TAPE_PLAY"),
CD_PREVIOUS ("CD_TRACK_-"),
CD_NEXT ("CD_TRACK_+"),
CD_SHUFFLE ("CD_RANDOM"),
CD_REPEAT ("CD_REPEAT"),
CD_SKIP ("CD_SKIP"),
CD_PAUSE ("CD_PAUSE"),
CD_STOP ("CD_STOP"),
CD_PLAY ("CD_PLAY"),
AMP_TAPE2 ("AMP_TAPE2"),
AMP_TAPE1 ("AMP_TAPE1"),
AMP_AUX ("AMP_AUX"),
AMP_TUNER ("AMP_TUNER"),
AMP_CD ("AMP_CD"),
AMP_PHONO ("AMP_PHONO"),
AMP_VOLUME_UP ("AMP_VOL_UP"),
AMP_VOLUME_DOWN ("AMP_VOL_DOWN"),
AMP_POWER ("AMP_POWER"),
AMP_MUTE ("AMP_MUTE"),
TUNER_UP ("TUN_CH_UP"),
TUNER_DOWN ("TUN_CH_DOWN");
public static final String NAME = "DENON_RC-176";
protected String code;
private DenonRC176Button(String code) {
this.code = code;
}
public String getCode() {
return code;
}
public String getName() {
return NAME;
}
}

View File

@@ -0,0 +1,48 @@
/**
* Copyright (C) 2015 Rik Veenboer <rik.veenboer@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package mimis.device.lirc.remote;
import mimis.input.Task;
import mimis.state.TaskMap;
import mimis.value.Action;
import mimis.value.Target;
public class DenonRC176EventMap extends TaskMap {
protected static final long serialVersionUID = 1L;
public DenonRC176EventMap() {
/* Mimis */
add(DenonRC176Button.TUNER_UP, new Task(Action.NEXT, Target.MAIN));
add(DenonRC176Button.TUNER_DOWN, new Task(Action.PREVIOUS, Target.MAIN));
/* Application */
add(DenonRC176Button.AMP_POWER, new Task(Action.START, Target.CURRENT));
add(DenonRC176Button.CD_NEXT, new Task(Action.NEXT, Target.CURRENT));
add(DenonRC176Button.CD_PREVIOUS, new Task(Action.PREVIOUS, Target.CURRENT));
add(DenonRC176Button.TAPE_REWIND, new Task(Action.REWIND, Target.CURRENT));
add(DenonRC176Button.CD_PLAY, new Task(Action.PLAY, Target.CURRENT));
add(DenonRC176Button.CD_PAUSE, new Task(Action.PLAY, Target.CURRENT));
add(DenonRC176Button.TAPE_FORWARD, new Task(Action.FORWARD, Target.CURRENT));
add(DenonRC176Button.AMP_MUTE, new Task(Action.MUTE, Target.CURRENT));
add(DenonRC176Button.AMP_VOLUME_UP, new Task(Action.VOLUME_UP, Target.CURRENT));
add(DenonRC176Button.AMP_VOLUME_DOWN, new Task(Action.VOLUME_DOWN, Target.CURRENT));
add(DenonRC176Button.CD_REPEAT, new Task(Action.REPEAT, Target.CURRENT));
add(DenonRC176Button.CD_SHUFFLE, new Task(Action.SHUFFLE, Target.CURRENT));
add(DenonRC176Button.TAPE_AB, new Task(Action.LIKE, Target.CURRENT));
add(DenonRC176Button.TAPE_REC, new Task(Action.DISLIKE, Target.CURRENT));
}
}

View File

@@ -0,0 +1,73 @@
/**
* Copyright (C) 2015 Rik Veenboer <rik.veenboer@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package mimis.device.lirc.remote;
import mimis.device.lirc.LircButton;
public enum PhiliphsRCLE011Button implements LircButton {
POWER ("Standby"),
RED ("Red"),
GREEN ("Green"),
YELLOW ("Yellow"),
BLUE ("Blue"),
TUNE ("Tune"),
RADIO ("Radio"),
SQUARE ("Square"),
MENU ("Menu"),
TEXT ("Text"),
UP ("Up"),
DOWN ("Down"),
LEFT ("Left"),
RIGHT ("Right"),
VOLUME_UP ("Volume+"),
VOLUME_DOWN ("Volume-"),
MUTE ("Mute"),
PROGRAM_UP ("Program+"),
PROGRAM_DOWN ("Program-"),
ONE ("1"),
TWO ("2"),
THREE ("3"),
FOUR ("4"),
FIVE ("5"),
SIX ("6"),
SEVEN ("7"),
EIGHT ("8"),
NINE ("9"),
ZERO ("0"),
CLOCK ("Clock"),
OUT ("Out"),
INFO ("i+"),
SCREEN_UP ("screenup"),
SCREEN_DOWN ("screendown"),
QUESTION ("question");
public static final String NAME = "Philips_RCLE011";
protected String code;
private PhiliphsRCLE011Button(String code) {
this.code = code;
}
public String getCode() {
return code;
}
public String getName() {
return NAME;
}
}

View File

@@ -0,0 +1,48 @@
/**
* Copyright (C) 2015 Rik Veenboer <rik.veenboer@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package mimis.device.lirc.remote;
import mimis.input.Task;
import mimis.state.TaskMap;
import mimis.value.Action;
import mimis.value.Target;
public class PhiliphsRCLE011EventMap extends TaskMap {
protected static final long serialVersionUID = 1L;
public PhiliphsRCLE011EventMap() {
/* Mimis */
add(PhiliphsRCLE011Button.UP, new Task(Action.NEXT, Target.MAIN));
add(PhiliphsRCLE011Button.DOWN, new Task(Action.PREVIOUS, Target.MAIN));
/* Application */
add(PhiliphsRCLE011Button.POWER, new Task(Action.START, Target.CURRENT));
add(PhiliphsRCLE011Button.PROGRAM_UP, new Task(Action.NEXT, Target.CURRENT));
add(PhiliphsRCLE011Button.PROGRAM_DOWN, new Task(Action.PREVIOUS, Target.CURRENT));
add(PhiliphsRCLE011Button.LEFT, new Task(Action.REWIND, Target.CURRENT));
add(PhiliphsRCLE011Button.TUNE, new Task(Action.PLAY, Target.CURRENT));
add(PhiliphsRCLE011Button.RIGHT, new Task(Action.FORWARD, Target.CURRENT));
add(PhiliphsRCLE011Button.VOLUME_DOWN, new Task(Action.VOLUME_DOWN, Target.CURRENT));
add(PhiliphsRCLE011Button.MUTE, new Task(Action.MUTE, Target.CURRENT));
add(PhiliphsRCLE011Button.VOLUME_UP, new Task(Action.VOLUME_UP, Target.CURRENT));
add(PhiliphsRCLE011Button.CLOCK, new Task(Action.REPEAT, Target.CURRENT));
add(PhiliphsRCLE011Button.OUT, new Task(Action.SHUFFLE, Target.CURRENT));
add(PhiliphsRCLE011Button.SQUARE, new Task(Action.FULLSCREEN, Target.CURRENT));
add(PhiliphsRCLE011Button.RED, new Task(Action.DISLIKE, Target.CURRENT));
add(PhiliphsRCLE011Button.GREEN, new Task(Action.LIKE, Target.CURRENT));
}
}

View File

@@ -0,0 +1,86 @@
/**
* Copyright (C) 2015 Rik Veenboer <rik.veenboer@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package mimis.device.lirc.remote;
import mimis.device.lirc.LircButton;
public enum SamsungBN5901015AButton implements LircButton {
POWER ("Power"),
SOURCE ("Source"),
ONE ("1"),
TWO ("2"),
THREE ("3"),
FOUR ("4"),
FIVE ("5"),
SIX ("6"),
SEVEN ("7"),
EIGHT ("8"),
NINE ("9"),
ZERO ("0"),
TEXT ("TTX/Mix"),
CHANNEL_TOGGLE ("Pre-Ch"),
VOLUME_DOWN ("Vol+"),
VOLUME_UP ("Vol-"),
MUTE ("Mute"),
CHANNEL_LIST ("Ch.List"),
CHANNEL_NEXT ("Ch+"),
CHANNEL_PREVIOUS ("Ch-"),
MEDIA ("Media.P"),
MENU ("Menu"),
GUIDE ("Guide"),
TOOLS ("Tools"),
UP ("Up"),
INFO ("Info"),
RETURN ("Return"),
EXIT ("Exit"),
LEFT ("Left"),
ENTER ("Enter"),
RIGHT ("Right"),
DOWN ("Down"),
RED ("Red"),
GREEN ("Green"),
YELLOW ("Yellow"),
BLUE ("Blue"),
MODE_P ("P.Mode"),
MODE_S ("S.Mode"),
SIZE_P ("P.Size"),
Dual ("Dual"),
AUDIO ("AD"),
SUBTITLE ("Subt."),
REWIND ("Rewind"),
PAUSE ("Pause"),
FORWARD ("Forward"),
RECORD ("Record"),
PLAY ("Play"),
STOP ("Stop");
public static final String NAME = "Samsung_BN59-01015A";
protected String code;
private SamsungBN5901015AButton(String code) {
this.code = code;
}
public String getCode() {
return code;
}
public String getName() {
return NAME;
}
}

View File

@@ -0,0 +1,30 @@
/**
* Copyright (C) 2015 Rik Veenboer <rik.veenboer@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package mimis.device.lirc.remote;
import mimis.input.Task;
import mimis.state.TaskMap;
import mimis.value.Action;
import mimis.value.Target;
public class SamsungBN5901015AEventMap extends TaskMap {
protected static final long serialVersionUID = 1L;
public SamsungBN5901015AEventMap() {
add(SamsungBN5901015AButton.VOLUME_UP, new Task(Action.VOLUME_UP, Target.CURRENT));
}
}

View File

@@ -0,0 +1,44 @@
/**
* Copyright (C) 2015 Rik Veenboer <rik.veenboer@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package mimis.device.lirc.remote;
import mimis.device.lirc.LircButton;
public enum WC02IPOButton implements LircButton {
MINUS ("MINUS"),
PLUS ("PLUS"),
NEXT ("NEXT"),
PREVIOUS ("PREVIOUS"),
PLAY ("PLAY"),
HOLD ("HOLD");
public static final String NAME = "WC02-IPO";
protected String code;
private WC02IPOButton(String code) {
this.code = code;
}
public String getCode() {
return code;
}
public String getName() {
return NAME;
}
}