package net.sf.fmj.ejmf.toolkit.util;

 /**
 * Implemented by classes that will provide a time value. 
 *
 * From the book: Essential JMF, Gordon, Talley (ISBN 0130801046).  Used with permission.
 *
 * see		   ejmf.toolkit.SourcedTime
 * @version        1.0
 * @author         Rob Gordon & Steve Talley
 */

public interface TimeSource {
    /** 
     * Useful values for return by an implementation of
     * getConversionDivisor.
     * 
     */
    final public static long NANOS_PER_SEC = 1000000000;
    final public static long MICROS_PER_SEC = 1000000;
    final public static long MILLIS_PER_SEC = 1000;

    /**  
     *  Return time in source units
     */
    public long getTime();

    /** 
     * Return a number used to divide source units to convert to
     * seconds.
     */
    public long getConversionDivisor();
}
