diff --git a/bundles/org.openhab.binding.freeboxos/src/main/java/org/openhab/binding/freeboxos/internal/api/rest/AfpManager.java b/bundles/org.openhab.binding.freeboxos/src/main/java/org/openhab/binding/freeboxos/internal/api/rest/AfpManager.java index 4fbb9052aef..9ad0cf76de8 100644 --- a/bundles/org.openhab.binding.freeboxos/src/main/java/org/openhab/binding/freeboxos/internal/api/rest/AfpManager.java +++ b/bundles/org.openhab.binding.freeboxos/src/main/java/org/openhab/binding/freeboxos/internal/api/rest/AfpManager.java @@ -19,6 +19,8 @@ import org.eclipse.jdt.annotation.Nullable; import org.openhab.binding.freeboxos.internal.api.FreeboxException; import org.openhab.binding.freeboxos.internal.api.Response; +import com.google.gson.annotations.SerializedName; + /** * The {@link AfpManager} is the Java class used to handle api requests related to Afp shares * @@ -31,8 +33,33 @@ public class AfpManager extends ConfigurableRest { } - protected static record Afp(boolean enabled, boolean guestAllow, String serverType, @Nullable String loginName, + protected static record Afp(boolean enabled, boolean guestAllow, ServerType serverType, @Nullable String loginName, @Nullable String loginPassword) { + private enum ServerType { + @SerializedName("powerbook") + POWERBOOK, + @SerializedName("powermac") + POWERMAC, + @SerializedName("macmini") + MACMINI, + @SerializedName("imac") + IMAC, + @SerializedName("macbook") + MACBOOK, + @SerializedName("macbookpro") + MACBOOKPRO, + @SerializedName("macbookair") + MACBOOKAIR, + @SerializedName("macpro") + MACPRO, + @SerializedName("appletv") + APPLETV, + @SerializedName("airport") + AIRPORT, + @SerializedName("xserve") + XSERVE, + UNKNOWN + } } public AfpManager(FreeboxOsSession session, UriBuilder uriBuilder) throws FreeboxException {