001package jmri.jmrix.jmriclient;
002
003
004/**
005 * Encodes a message to an JMRIClient server. The JMRIClientReply class handles
006 * the response from the server.
007 * <p>
008 * The {@link JMRIClientReply} class handles the response from the server.
009 *
010 * @author Bob Jacobsen Copyright (C) 2001, 2004, 2008
011 * @author Paul Bender Copyright (C) 2010
012 */
013public class JMRIClientMessage extends jmri.jmrix.AbstractMRMessage {
014
015    public JMRIClientMessage() {
016        super();
017    }
018
019    // create a new one
020    public JMRIClientMessage(int i) {
021        super(i);
022    }
023
024    // copy one
025    public JMRIClientMessage(JMRIClientMessage m) {
026        super(m);
027    }
028
029    // from String
030    public JMRIClientMessage(String m) {
031        super(m);
032    }
033
034    // diagnose format
035    public boolean isKillMain() {
036        String s = toString();
037        return s.contains("POWER OFF");
038    }
039
040    public boolean isEnableMain() {
041        String s = toString();
042        return s.contains("POWER ON");
043    }
044
045    // static methods to return a formatted message
046    static public JMRIClientMessage getEnableMain() {
047        JMRIClientMessage m = new JMRIClientMessage("POWER ON\n");
048        m.setBinary(false);
049        return m;
050    }
051
052    static public JMRIClientMessage getKillMain() {
053        JMRIClientMessage m = new JMRIClientMessage("POWER OFF\n");
054        m.setBinary(false);
055        return m;
056    }
057
058    static public JMRIClientMessage getProgMode() {
059        return null;
060    }
061
062    static public JMRIClientMessage getExitProgMode() {
063        return null;
064    }
065
066    @SuppressWarnings("hiding")  // redefines timeout value from super class
067    final static protected int LONG_TIMEOUT = 180000;  // e.g. for programming options
068
069}