package jpos;

import jpos.events.*;

public interface ToneIndicatorControl12 extends BaseControl
{
    // Capabilities
    public boolean getCapPitch() throws JposException;
    public boolean getCapVolume() throws JposException;

    // Properties
    public boolean getAsyncMode() throws JposException;
    public void    setAsyncMode(boolean asyncMode) throws JposException;
    public int     getInterToneWait() throws JposException;
    public void    setInterToneWait(int interToneWait) throws JposException;
    public int     getOutputID() throws JposException;
    public int     getTone1Duration() throws JposException;
    public void    setTone1Duration(int tone1Duration) throws JposException;
    public int     getTone1Pitch() throws JposException;
    public void    setTone1Pitch(int tone1Pitch) throws JposException;
    public int     getTone1Volume() throws JposException;
    public void    setTone1Volume(int tone1Volume) throws JposException;
    public int     getTone2Duration() throws JposException;
    public void    setTone2Duration(int tone2Duration) throws JposException;
    public int     getTone2Pitch() throws JposException;
    public void    setTone2Pitch(int tone2Pitch) throws JposException;
    public int     getTone2Volume() throws JposException;
    public void    setTone2Volume(int tone2Volume) throws JposException;

    // Methods
    public void    clearOutput() throws JposException;
    public void    sound(int numberOfCycles, int interSoundWait)
                       throws JposException;
    public void    soundImmediate() throws JposException;

    // Event listener methods
    public void    addDirectIOListener(DirectIOListener l);
    public void    removeDirectIOListener(DirectIOListener l);
    public void    addErrorListener(ErrorListener l);
    public void    removeErrorListener(ErrorListener l);
    public void    addOutputCompleteListener(OutputCompleteListener l);
    public void    removeOutputCompleteListener(OutputCompleteListener l);
}