001package jmri.jmrix.grapevine;
002
003import java.io.DataInputStream;
004import java.io.DataOutputStream;
005import jmri.SystemConnectionMemo;
006
007/**
008 * Abstract base for classes representing a communications port.
009 *
010 * @author Bob Jacobsen Copyright (C) 2001, 2006, 2007
011 */
012public abstract class SerialPortController extends jmri.jmrix.AbstractSerialPortController {
013
014    // base class. Implementations will provide InputStream and OutputStream
015    // objects to SerialTrafficController classes, who in turn will deal in messages.
016    protected SerialPortController(SystemConnectionMemo connectionMemo) {
017        super(connectionMemo);
018    }
019
020    /**
021     * {@inheritDoc}
022     */
023    @Override
024    public abstract DataInputStream getInputStream();
025
026    /**
027     * {@inheritDoc}
028     */
029    @Override
030    public abstract DataOutputStream getOutputStream();
031
032    /**
033     * {@inheritDoc}
034     */
035    @Override
036    public abstract boolean status();
037
038    @Override
039    public GrapevineSystemConnectionMemo getSystemConnectionMemo() {
040        return (GrapevineSystemConnectionMemo) super.getSystemConnectionMemo();
041    }
042
043}