package com.lingniu.ingest.inbound.mqtt.profile;

import com.lingniu.ingest.api.event.VehicleEvent;
import com.lingniu.ingest.inbound.mqtt.model.MqttPayload;

import java.util.List;

/**
 * MQTT 厂商 profile 边界。
 *
 * <p>endpoint 只关心 profile 名称，具体 payload 字段结构、VIN/时间提取和事件映射都收敛在 profile 内。
 */
public interface MqttProfile {

    String name();

    MqttPayload parse(String endpointName, String topic, byte[] bytes);

    List<VehicleEvent> toEvents(MqttPayload payload);
}
