package com.jscape.inet.ssh.protocol.v2.transport;

import com.jscape.inet.ssh.protocol.v2.marshaling.*;
import com.jscape.inet.ssh.protocol.v2.messages.*;

/**
 * @author Alex Usun
 */
public class TransportMessages {

    public static final MessageCodec.Entry[] ENTRIES = {
            new MessageCodec.Entry(1, new SshMsgDisconnectCodec(), SshMsgDisconnect.class),
            new MessageCodec.Entry(2, new SshMsgIgnoreCodec(), SshMsgIgnore.class),
            new MessageCodec.Entry(3, new SshMsgUnimplementedCodec(), SshMsgUnimplemented.class),
            new MessageCodec.Entry(4, new SshMsgDebugCodec(), SshMsgDebug.class),
            new MessageCodec.Entry(5, new SshMsgServiceRequestCodec(), SshMsgServiceRequest.class),
            new MessageCodec.Entry(6, new SshMsgServiceAcceptCodec(), SshMsgServiceAccept.class),
            new MessageCodec.Entry(20, new SshMsgKexInitCodec(), SshMsgKexInit.class),
            new MessageCodec.Entry(21, new SshMsgNewKeysCodec(), SshMsgNewKeys.class),
    };

    public static MessageCodec init(MessageCodec codec) {
        return codec.set(ENTRIES);
    }

    private TransportMessages() {
        // empty
    }
}
