blob: 062b67da30d4197dc919bbcee0cbc580cecf66ef (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
package org.openslx.libvirt.domain.device;
import org.openslx.libvirt.xml.LibvirtXmlNode;
/**
* An IDE controller device node in a Libvirt domain XML document.
*
* @author Manuel Bentele
* @version 1.0
*/
public class ControllerIde extends Controller
{
/**
* Creates an empty IDE controller device.
*/
public ControllerIde()
{
super();
}
/**
* Creates an IDE controller device representing an existing Libvirt XML IDE controller device
* element.
*
* @param xmlNode existing Libvirt XML IDE controller device element.
*/
public ControllerIde( LibvirtXmlNode xmlNode )
{
super( xmlNode );
}
/**
* Returns emulated hardware model of the IDE controller.
*
* @return hardware model of the IDE controller.
*/
public Model getModel()
{
String model = this.getXmlElementAttributeValue( "model" );
return Model.fromString( model );
}
/**
* Sets hardware model for the IDE controller.
*
* @param model hardware model for the IDE controller.
*/
public void setModel( Model model )
{
this.setXmlElementAttributeValue( "model", model.toString() );
}
/**
* Creates a non-existent IDE controller device as Libvirt XML device element.
*
* @param xmlNode Libvirt XML node of the Libvirt XML device that is created.
* @return created IDE controller device instance.
*/
public static ControllerIde createInstance( LibvirtXmlNode xmlNode )
{
return ControllerIde.newInstance( xmlNode );
}
/**
* Creates an IDE controller device representing an existing Libvirt XML IDE controller device
* element.
*
* @param xmlNode existing Libvirt XML IDE controller device element.
* @return IDE controller device instance.
*/
public static ControllerIde newInstance( LibvirtXmlNode xmlNode )
{
return new ControllerIde( xmlNode );
}
/**
* Model of IDE controller device.
*
* @author Manuel Bentele
* @version 1.0
*/
enum Model
{
// @formatter:off
PIIX3( "piix3" ),
PIIX4( "pixx4" ),
ICH6 ( "ich6" );
// @formatter:on
/**
* Name of the IDE controller device model.
*/
private String model = null;
/**
* Creates IDE controller device model.
*
* @param type valid name of the IDE controller device model in a Libvirt domain XML document.
*/
Model( String model )
{
this.model = model;
}
@Override
public String toString()
{
return this.model;
}
/**
* Creates IDE controller device model from its name with error check.
*
* @param type name of the IDE controller device model in a Libvirt domain XML document.
* @return valid IDE controller device model.
*/
public static Model fromString( String model )
{
for ( Model t : Model.values() ) {
if ( t.model.equalsIgnoreCase( model ) ) {
return t;
}
}
return null;
}
}
}
|