package com.ttstd.signaling.model;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

@JsonIgnoreProperties(ignoreUnknown = true)
public class SignalMessage {

    private String type;           // OFFER, ANSWER, ICE_CANDIDATE, CONTROL_COMMAND, REGISTER, DEVICE_LIST
    private String fromDeviceId;   // 发送方设备ID
    private String toDeviceId;     // 目标设备ID
    private String deviceType;     // CONTROLLER 或 CONTROLLED
    private String payload;        // JSON格式的信令数据（SDP/ICE/控制指令）
    private String authType;       // 鉴权类型：CODE（动态验证码）/ PASSWORD（固定密码）
    private String authValue;      // 鉴权值：动态验证码或固定密码

    public SignalMessage() {}

    public String getType() { return type; }
    public void setType(String type) { this.type = type; }

    public String getFromDeviceId() { return fromDeviceId; }
    public void setFromDeviceId(String fromDeviceId) { this.fromDeviceId = fromDeviceId; }

    public String getToDeviceId() { return toDeviceId; }
    public void setToDeviceId(String toDeviceId) { this.toDeviceId = toDeviceId; }

    public String getDeviceType() { return deviceType; }
    public void setDeviceType(String deviceType) { this.deviceType = deviceType; }

    public String getPayload() { return payload; }
    public void setPayload(String payload) { this.payload = payload; }

    public String getAuthType() { return authType; }
    public void setAuthType(String authType) { this.authType = authType; }

    public String getAuthValue() { return authValue; }
    public void setAuthValue(String authValue) { this.authValue = authValue; }
}
