package jnet.lib;

import java.io.Serializable;

/**
 *
 * @author cucky
 */
public class Message implements Serializable {
    
    // S->C: dotaz na verzi klient
    // C->S: odeslána verze klienta
    public static final int CLIENT_VERSION = 1;
    
    // S->C: server odesila klientovi pokyn k updatu
    public static final int UPDATE = 2;
    
    // S->C: server posila pozadavek na autorizaci klienta
    public static final int AUTH_REQUEST = 3;
    
    // C->S: klient odesila autorizacni udaje
    public static final int AUTH = 4;
    
    // S->C: server odesila informaci o uspesnem prihlaseni klienta
    public static final int AUTH_SUCEFULL = 5;
    
    // S->C: server odesila informaci o neuspesnem prihlaseni klienta
    public static final int AUTH_FAIL = 6;
    
    // S->C: server odesila seznam pripojenych klientu
    public static final int ONLINE_CLIENTS = 7;
    
    // S->C: server posila typ objektu
    public static final int OBJECT_TYPE = 8;
    
    // S->C server odesila informace o prihlasenem uzivateli
    public static final int USER_INFO = 9;
    
    // C->S: klient odesíla novy typ objektu
    public static final int NEW_OBJECT_TYPE = 10;
    
    // S->C: odesila uzivatele
    // C->S: klient pridává ukživatele
    public static final int USER = 11;
    
    // C->S: klietn posila udaje upraveneho uzivatele
    public static final int USER_EDIT = 12;
    
    // S->C: server posila nastaveni serveru
    // C->S: klient odesila upravu serveru
    public static final int SERVER_CONFIG = 13;
    
    // C->S: klient posila požadavek na restart serveru
    public static final int RESTART = 15;
    
    // C->S: klient se dotazuje na uptime server
    // S->C: server odesila uptim serveru
    public static final int UPTIME = 16;
    
    
    
    // S->C: server posila mapu
    public static final int MAP = 100;
    
    // S->C: server posila aktualizace statusu 
    public static final int STATUS_UPDATE = 101;

    // C->S: klient posila nove souradnice objektu
    public static final int OBJECT_MOVE = 102;
    
    // C->S: klient posila zmenu zamku mapy 
    public static final int SET_MAP_LOCK = 103;
    
    // C->S: klient posila informaci o smazání objektu
    // S->C: server předává informaci o odebrání objektu
    public static final int REMOVE_OBJECT = 104;
    
    // C->S: klient odesílá nově přidaný objekt
    // S->C: server odesila klientum nově přidany objekt
    public static final int ADD_OBJECT = 105;
    
    // C->S: klient odesíla upravený objekt
    public static final int UPDATE_OBJECT = 106;
    
    // S->C: server odesila SNMP profil
    public static final int SNMP_PROFILE = 107;
    
    // S->C: server odesila novy event
    public static final int EVENT_NEW = 108;
    
    // S->C: server odesila aktualizaci eventu
    public static final int EVENT_UPDATE = 109;
    
    // S->C server odesilam seznam udalosti 
    public static final int EVENT_LIST = 110;
    
    // C->S: klient odebira mapu
    // S->C: server předává informaci o odebrani mapy 
    public static final int MAP_REMOVE = 111;
    
    // C->S: klient pridava mapu
    public static final int MAP_ADD = 112;
    
    // C->S: klient posila požadavek na smazaní udalostí
    public static final int DELETE_LOG = 113;
    
    // C->S: klient si vyžádal SNMP informace o bojektu
    public static final int SNMP_OBJECT_INFO = 114;
    
    // C->S: klient si vyžádal SNMP informace o interface objektu
    public static final int SNMP_OBJECT_INTERFACE = 115;
    
    // C->S: klient testuje snmp nastavení
    // S->C: server odesila vysledek testu
    public static final int SNMP_TEST = 116;
    
    // C->S: klient si vyzadal SNMP seznam rozhrani objektu
    // S->C: klient odpovida seznam interfacu
    public static final int SNMP_CONNECTION_INTERFACE = 117;
    
    // C->S: klient zasila na server informaci o novem spojeni
    // S->C: server rozesila nove spojeni
    public static final int CONNECTION_NEW = 118;
    
    // S->C: server posila klientu trafic informaci
    public static final int TRAFFIC = 119;
    
    
    
    
    
    private int type;
    private Object msg;

    public Message(int type, Object msg) {
        this.type = type;
        this.msg = msg;
    }

    public int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }

    public Object getMsg() {
        return msg;
    }

    public void setMsg(Object msg) {
        this.msg = msg;
    }
}
