/*
 * SCMEventManager.java	1.0 (5 May 2000)
 *
 * Copyright 1998 by Bill Giel/KC Multimedia and Design Group, Inc.,
 * All rights reserved.
 *
 * Disclaimer of Warranty. Software is provided "AS IS,"
 * without a warranty of any kind. ALL EXPRESS OR IMPLIED
 * REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED
 * WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 * PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. IN NO
 * EVENT WILL THE DEVELOPER OR ITS LICENSORS BE LIABLE FOR
 * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT,
 * SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES,
 * HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
 * RELATING TO THE USE, DOWNLOAD, DISTRIBUTION OF OR INABILITY
 * TO USE SOFTWARE, EVEN IF THE DEVELOPER OR ITS LICENSORS HAS
 * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
 */

package com.kcmultimedia.demo;

import java.util.*;

public class SCMEventManager extends Vector
{
    private static SCMEventManager h = null;


    private SCMEventManager()
    {
        super();
    }

    public static SCMEventManager getInstance()
    {
        if(null == h){
            h = new SCMEventManager();
        }
        return h;
    }

    public void dispatchSCMEvent(int eventID)
    {

        SCMEvent event = new SCMEvent(eventID);
        
        for(int i=0; i < size(); i++){

            Object obj = get(i);

            if (null == obj) continue;

            ((SCMEventListener)obj).handleSCMEvent(event);
        }

    }

    public void addSCMEventListener(SCMEventListener l)
    {
        if (!contains(l)) add(l);
    }

            
    public void removeSCMEventListener(SCMEventListener l)
    {
            remove(l);
    }
}
        

            

