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}