// Path: src/main/java/net/eliosoft/elios/server/events/AdditiveModeValueChangedEvent.java
// public class AdditiveModeValueChangedEvent {
//     private boolean additiveModeEnabled;
// 
//     /**
//      * Constructor method to instantiate a new event.
//      *
//      * @param additiveModeEnabled
//      *            the new additive mode status value
//      */
//     public AdditiveModeValueChangedEvent(final boolean additiveModeEnabled) {
//         this.additiveModeEnabled = additiveModeEnabled;
//     }
// 
//     /**
//      * Returns the additive mode status value of the event.
//      *
//      * @return the new additive mode status value
//      */
//     public boolean isAdditiveModeEnabled() {
//         return additiveModeEnabled;
//     }
// }
// 
// Path: src/main/java/net/eliosoft/elios/server/events/SubnetValueChangedEvent.java
// public class SubnetValueChangedEvent {
//     private int subnet;
// 
//     /**
//      * Constructor method to instantiate a new event.
//      *
//      * @param subnet
//      *            the new subnet value
//      */
//     public SubnetValueChangedEvent(final int subnet) {
//         this.subnet = subnet;
//     }
// 
//     /**
//      * Returns the subnet value of the event.
//      *
//      * @return the new subnet value
//      */
//     public int getSubnet() {
//         return subnet;
//     }
// }
// 
// Path: src/main/java/net/eliosoft/elios/server/events/UniverseValueChangedEvent.java
// public class UniverseValueChangedEvent {
//     private int universe;
// 
//     /**
//      * Constructor method to instantiate a new event.
//      *
//      * @param universe
//      *            the new universe value
//      */
//     public UniverseValueChangedEvent(final int universe) {
//         this.universe = universe;
//     }
// 
//     /**
//      * Returns the universe value of the event.
//      *
//      * @return the new universe value
//      */
//     public int getUniverse() {
//         return universe;
//     }
// }


import net.eliosoft.elios.server.events.AdditiveModeValueChangedEvent;
import net.eliosoft.elios.server.events.SubnetValueChangedEvent;
import net.eliosoft.elios.server.events.UniverseValueChangedEvent;
/*
 * This file is part of Elios.
 *
 * Copyright 2010 Jeremie GASTON-RAOUL & Alexandre COLLIGNON
 *
 * Elios is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Elios 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 General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Elios. If not, see <http://www.gnu.org/licenses/>.
 */

package net.eliosoft.elios.server.listeners;


/**
 * This interface describes the methods that must be implemented by classes
 * which want to be a listener of the ArtNet server manager.
 *
 * @author Jeremie GASTON-RAOUL
 */
public interface ArtNetServerManagerListener {
    /**
     * This method is called when the value of the subnet has changed.
     *
     * @param event
     *            the event corresponding to the change of the subnet
     */
    void subnetValueChanged(SubnetValueChangedEvent event);

    /**
     * This method is called when the value of the universe has changed.
     *
     * @param event
     *            the event corresponding to the change of the universe
     */
    void universeValueChanged(UniverseValueChangedEvent event);

    /**
     * This method is called when the value of the additive mode has changed.
     *
     * @param event
     *            the event corresponding to the change of the additive mode
     */
// Path: src/main/java/net/eliosoft/elios/server/events/AdditiveModeValueChangedEvent.java
// public class AdditiveModeValueChangedEvent {
//     private boolean additiveModeEnabled;
// 
//     /**
//      * Constructor method to instantiate a new event.
//      *
//      * @param additiveModeEnabled
//      *            the new additive mode status value
//      */
//     public AdditiveModeValueChangedEvent(final boolean additiveModeEnabled) {
//         this.additiveModeEnabled = additiveModeEnabled;
//     }
// 
//     /**
//      * Returns the additive mode status value of the event.
//      *
//      * @return the new additive mode status value
//      */
//     public boolean isAdditiveModeEnabled() {
//         return additiveModeEnabled;
//     }
// }
// 
// Path: src/main/java/net/eliosoft/elios/server/events/SubnetValueChangedEvent.java
// public class SubnetValueChangedEvent {
//     private int subnet;
// 
//     /**
//      * Constructor method to instantiate a new event.
//      *
//      * @param subnet
//      *            the new subnet value
//      */
//     public SubnetValueChangedEvent(final int subnet) {
//         this.subnet = subnet;
//     }
// 
//     /**
//      * Returns the subnet value of the event.
//      *
//      * @return the new subnet value
//      */
//     public int getSubnet() {
//         return subnet;
//     }
// }
// 
// Path: src/main/java/net/eliosoft/elios/server/events/UniverseValueChangedEvent.java
// public class UniverseValueChangedEvent {
//     private int universe;
// 
//     /**
//      * Constructor method to instantiate a new event.
//      *
//      * @param universe
//      *            the new universe value
//      */
//     public UniverseValueChangedEvent(final int universe) {
//         this.universe = universe;
//     }
// 
//     /**
//      * Returns the universe value of the event.
//      *
//      * @return the new universe value
//      */
//     public int getUniverse() {
//         return universe;
//     }
// }


// Path: src/main/java/net/eliosoft/elios/server/listeners/ArtNetServerManagerListener.java
import net.eliosoft.elios.server.events.AdditiveModeValueChangedEvent;
import net.eliosoft.elios.server.events.SubnetValueChangedEvent;
import net.eliosoft.elios.server.events.UniverseValueChangedEvent;

/*
 * This file is part of Elios.
 *
 * Copyright 2010 Jeremie GASTON-RAOUL & Alexandre COLLIGNON
 *
 * Elios is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Elios 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 General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Elios. If not, see <http://www.gnu.org/licenses/>.
 */

package net.eliosoft.elios.server.listeners;


/**
 * This interface describes the methods that must be implemented by classes
 * which want to be a listener of the ArtNet server manager.
 *
 * @author Jeremie GASTON-RAOUL
 */
public interface ArtNetServerManagerListener {
    /**
     * This method is called when the value of the subnet has changed.
     *
     * @param event
     *            the event corresponding to the change of the subnet
     */
    void subnetValueChanged(SubnetValueChangedEvent event);

    /**
     * This method is called when the value of the universe has changed.
     *
     * @param event
     *            the event corresponding to the change of the universe
     */
    void universeValueChanged(UniverseValueChangedEvent event);

    /**
     * This method is called when the value of the additive mode has changed.
     *
     * @param event
     *            the event corresponding to the change of the additive mode
     */
    void additiveModeValueChanged(AdditiveModeValueChangedEvent event);