www.pudn.com > d4j.zip > AGLine.java


// GCLine: Dialogic Global Call line devices 
// $Id: AGLine.java,v 1.2 2003/07/24 20:18:26 cgm8 Exp $ 
/*  
 * Copyright (c) 1999 Carlos G Mendioroz. 
 * 
 *  This file is part of D4J. 
 * 
 *  D4J is free software; you can redistribute it and/or 
 *  modify it under the terms of the GNU Lesser General Public 
 *  License as published by the Free Software Foundation; either 
 *  version 2 of the License, or (at your option) any later version. 
 *   
 *  D4J is distributed in the hope that it will be useful, 
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of 
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
 *  Lesser General Public License for more details. 
 *   
 *  You should have received a copy of the GNU Lesser General Public 
 *  License along with this library; if not, write to the 
 *  Free Software Foundation, Inc., 59 Temple Place - Suite 330, 
 *  Boston, MA  02111-1307, USA. 
 * 
 * Report problems and direct all questions to: 
 * 
 *	tron@acm.org 
 */ 
package local.dialogic; 
 
public class AGLine extends Device 
{ 
 
    // Class variables 
 
    // Instance variables 
    int ts; 
 
    /** Open a dt device */ 
    public AGLine(AnalogChannel ch, String name) 
    { 
        super(ch, name); 
        // dxxxBnCm 
        this.name = name; 
        // The following fails on non SC capable boards like D41/D 
        ts = Dialogic.ag_getxmitslot(ch.voiceDev.device); 
        // Only keep track of device in case it works... 
        this.device = ch.voiceDev.device; 
    } 
 
    public int getTs() { 
        return ts; 
    } 
 
    public void listen(Device source) { 
        if (source != null) 
            Dialogic.ag_listen(device, source.getTs()); 
        else 
            Dialogic.ag_unlisten(device); 
    } 
 
    public void listen(Channel ch, Resource res) { 
        int ts = res.getTs(ch); 
        if (ts < 0) 
            Dialogic.ag_unlisten(device); 
        else 
            Dialogic.ag_listen(device, ts); 
    } 
 
}