29
29
Machine configuration services for frontends.
30
30
*/
31
31
32
+ use std:: {
33
+ collections:: { BTreeMap , HashSet } ,
34
+ ffi:: OsString ,
35
+ } ;
36
+
32
37
use crate :: resource_manager:: ResourceManager ;
33
- use anyhow:: Error ;
34
38
use marty_core:: {
35
39
device_traits:: videocard:: VideoType ,
36
40
machine_config:: {
@@ -43,6 +47,7 @@ use marty_core::{
43
47
MachineConfiguration ,
44
48
MediaConfig ,
45
49
MemoryConfig ,
50
+ ParallelControllerConfig ,
46
51
SerialControllerConfig ,
47
52
SerialMouseConfig ,
48
53
SoundDeviceConfig ,
@@ -51,11 +56,8 @@ use marty_core::{
51
56
machine_types:: { HardDiskControllerType , MachineType } ,
52
57
} ;
53
58
59
+ use anyhow:: Error ;
54
60
use serde_derive:: Deserialize ;
55
- use std:: {
56
- collections:: { BTreeMap , HashSet } ,
57
- ffi:: OsString ,
58
- } ;
59
61
60
62
#[ derive( Clone , Debug , Deserialize ) ]
61
63
pub struct MachineConfigFile {
@@ -84,6 +86,7 @@ pub struct MachineConfigFileEntry {
84
86
fdc : Option < FloppyControllerConfig > ,
85
87
hdc : Option < HardDriveControllerConfig > ,
86
88
serial : Option < Vec < SerialControllerConfig > > ,
89
+ parallel : Option < Vec < ParallelControllerConfig > > ,
87
90
video : Option < Vec < VideoCardConfig > > ,
88
91
sound : Option < Vec < SoundDeviceConfig > > ,
89
92
keyboard : Option < KeyboardConfig > ,
@@ -101,6 +104,7 @@ pub struct MachineConfigFileOverlayEntry {
101
104
fdc : Option < FloppyControllerConfig > ,
102
105
hdc : Option < HardDriveControllerConfig > ,
103
106
serial : Option < Vec < SerialControllerConfig > > ,
107
+ parallel : Option < Vec < ParallelControllerConfig > > ,
104
108
video : Option < Vec < VideoCardConfig > > ,
105
109
sound : Option < Vec < SoundDeviceConfig > > ,
106
110
keyboard : Option < KeyboardConfig > ,
@@ -404,6 +408,10 @@ impl MachineConfigFileEntry {
404
408
log:: debug!( "Applying serial overlay: {:?}" , serial) ;
405
409
self . serial = Some ( serial) ;
406
410
}
411
+ if let Some ( parallel) = overlay. parallel {
412
+ log:: debug!( "Applying parallel overlay: {:?}" , parallel) ;
413
+ self . parallel = Some ( parallel) ;
414
+ }
407
415
if let Some ( video) = overlay. video {
408
416
log:: debug!( "Applying video overlay: {:?}" , video) ;
409
417
self . video = Some ( video) ;
@@ -439,6 +447,7 @@ impl MachineConfigFileEntry {
439
447
serial : self . serial . clone ( ) . unwrap_or_default ( ) ,
440
448
video : self . video . clone ( ) . unwrap_or_default ( ) ,
441
449
sound : self . sound . clone ( ) . unwrap_or_default ( ) ,
450
+ parallel : self . parallel . clone ( ) . unwrap_or_default ( ) ,
442
451
keyboard : self . keyboard . clone ( ) ,
443
452
serial_mouse : self . serial_mouse . clone ( ) ,
444
453
game_port : self . game_port . clone ( ) ,
0 commit comments