diff --git a/frontend/lib/models/benchmark/config.dart b/frontend/lib/models/benchmark/config.dart new file mode 100644 index 00000000..7b1e4bbf --- /dev/null +++ b/frontend/lib/models/benchmark/config.dart @@ -0,0 +1,41 @@ +/// `Config` holds configuration settings related to the benchmark run. +/// +/// It contains the path to the benchmark configuration for the agent and +/// the host address where the benchmark is running. +class Config { + /// The path to the configuration file for the agent's benchmark. + /// This is typically a JSON file specifying various settings and parameters + /// for the benchmark run. + final String agentBenchmarkConfigPath; + + /// The host address where the benchmark is running. + /// This could be a local or remote server address. + final String host; + + /// Constructs a new `Config` instance. + /// + /// [agentBenchmarkConfigPath]: The path to the agent's benchmark configuration file. + /// [host]: The host address where the benchmark is running. + Config({ + required this.agentBenchmarkConfigPath, + required this.host, + }); + + /// Creates a `Config` instance from a map. + /// + /// [json]: A map containing key-value pairs corresponding to `Config` fields. + /// + /// Returns a new `Config` populated with values from the map. + factory Config.fromJson(Map json) => Config( + agentBenchmarkConfigPath: json['agent_benchmark_config_path'], + host: json['host'], + ); + + /// Converts the `Config` instance to a map. + /// + /// Returns a map containing key-value pairs corresponding to `Config` fields. + Map toJson() => { + 'agent_benchmark_config_path': agentBenchmarkConfigPath, + 'host': host, + }; +}