package jpos.services;

import jpos.*;

public interface CashChangerService12 extends BaseService
{
    // Capabilities
    public boolean getCapDiscrepancy() throws JposException;
    public boolean getCapEmptySensor() throws JposException;
    public boolean getCapFullSensor() throws JposException;
    public boolean getCapNearEmptySensor() throws JposException;
    public boolean getCapNearFullSensor() throws JposException;

    // Properties
    public boolean getAsyncMode() throws JposException;
    public void    setAsyncMode(boolean asyncMode) throws JposException;
    public int     getAsyncResultCode() throws JposException;
    public int     getAsyncResultCodeExtended() throws JposException;
    public String  getCurrencyCashList() throws JposException;
    public String  getCurrencyCode() throws JposException;
    public void    setCurrencyCode(String currencyCode) throws JposException;
    public String  getCurrencyCodeList() throws JposException;
    public int     getCurrentExit() throws JposException;
    public void    setCurrentExit(int currentExit) throws JposException;
    public int     getDeviceExits() throws JposException;
    public int     getDeviceStatus() throws JposException;
    public String  getExitCashList() throws JposException;
    public int     getFullStatus() throws JposException;

    // Methods
    public void    dispenseCash(String cashCounts) throws JposException;
    public void    dispenseChange(int amount) throws JposException;
    public void    readCashCounts(String[] pCashCounts,
                       boolean[] pDiscrepancy) throws JposException;
}