mirror of
https://github.com/geoffsee/osm-maker-vibes.git
synced 2025-09-08 22:46:45 +00:00
app loads configuration from json at runtime
This commit is contained in:
44
src/commonMain/kotlin/Config.kt
Normal file
44
src/commonMain/kotlin/Config.kt
Normal file
@@ -0,0 +1,44 @@
|
||||
package org.example
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class Config(
|
||||
val osmData: OsmDataConfig,
|
||||
val projection: ProjectionConfig,
|
||||
val output: OutputConfig
|
||||
)
|
||||
|
||||
@Serializable
|
||||
data class OsmDataConfig(
|
||||
val useLocalExtract: Boolean,
|
||||
val localFilePath: String,
|
||||
val boundingBox: BoundingBoxConfig,
|
||||
val overpassTimeout: Int
|
||||
)
|
||||
|
||||
@Serializable
|
||||
data class BoundingBoxConfig(
|
||||
val south: Double,
|
||||
val west: Double,
|
||||
val north: Double,
|
||||
val east: Double,
|
||||
val description: String
|
||||
)
|
||||
|
||||
@Serializable
|
||||
data class ProjectionConfig(
|
||||
val origin: OriginConfig
|
||||
)
|
||||
|
||||
@Serializable
|
||||
data class OriginConfig(
|
||||
val latitude: Double,
|
||||
val longitude: Double
|
||||
)
|
||||
|
||||
@Serializable
|
||||
data class OutputConfig(
|
||||
val fileName: String,
|
||||
val autoOpen: Boolean
|
||||
)
|
Reference in New Issue
Block a user