001package jmri.server.json.loconet;
002
003import com.fasterxml.jackson.databind.ObjectMapper;
004import jmri.server.json.JsonConnection;
005import jmri.spi.JsonServiceFactory;
006import org.openide.util.lookup.ServiceProvider;
007
008/**
009 * Registers the "loconetSlotUsage" JSON type.
010 *
011 * @author Andrew Deak Copyright (C) 2026
012 */
013@ServiceProvider(service = JsonServiceFactory.class)
014public class JsonLoconetSlotUsageServiceFactory
015        implements JsonServiceFactory<JsonLoconetSlotUsageHttpService, JsonLoconetSlotUsageSocketService> {
016
017    @Override
018    public String[] getTypes(String version) {
019        return new String[]{JsonLoconetSlotUsage.LOCONET_SLOT_USAGE};
020    }
021
022    @Override
023    public JsonLoconetSlotUsageSocketService getSocketService(JsonConnection connection, String version) {
024        return new JsonLoconetSlotUsageSocketService(connection);
025    }
026
027    @Override
028    public JsonLoconetSlotUsageHttpService getHttpService(ObjectMapper mapper, String version) {
029        return new JsonLoconetSlotUsageHttpService(mapper);
030    }
031
032}