virtualbox-ws 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -1
  3. data/Gemfile +2 -1
  4. data/Gemfile.lock +2 -0
  5. data/LICENSE.md +5 -0
  6. data/README.md +57 -22
  7. data/lib/core_ext/string.rb +5 -0
  8. data/lib/virtualbox-ws.rb +2 -6
  9. data/lib/virtualbox/base.rb +31 -0
  10. data/lib/virtualbox/classes/additions_facility.rb +28 -0
  11. data/lib/virtualbox/classes/appliance.rb +51 -0
  12. data/lib/virtualbox/classes/audio_adapter.rb +33 -0
  13. data/lib/virtualbox/classes/bandwidth_control.rb +36 -0
  14. data/lib/virtualbox/classes/bandwidth_group.rb +29 -0
  15. data/lib/virtualbox/classes/bios_settings.rb +81 -0
  16. data/lib/virtualbox/classes/console.rb +201 -0
  17. data/lib/virtualbox/classes/dhcp_server.rb +52 -0
  18. data/lib/virtualbox/classes/directory.rb +27 -0
  19. data/lib/virtualbox/classes/display.rb +47 -0
  20. data/lib/virtualbox/classes/event.rb +32 -0
  21. data/lib/virtualbox/classes/event_listener.rb +14 -0
  22. data/lib/virtualbox/classes/event_source.rb +62 -0
  23. data/lib/virtualbox/classes/events/additions_state_changed_event.rb +7 -0
  24. data/lib/virtualbox/classes/events/bandwidth_group_changed_event.rb +13 -0
  25. data/lib/virtualbox/classes/events/can_show_window_event.rb +7 -0
  26. data/lib/virtualbox/classes/events/clipboard_mode_changed_event.rb +12 -0
  27. data/lib/virtualbox/classes/events/cpu_changed_event.rb +16 -0
  28. data/lib/virtualbox/classes/events/cpu_execution_cap_changed_event.rb +12 -0
  29. data/lib/virtualbox/classes/events/drag_and_drop_mode_changed_event.rb +12 -0
  30. data/lib/virtualbox/classes/events/event_source_changed_event.rb +17 -0
  31. data/lib/virtualbox/classes/events/extra_data_can_change_event.rb +20 -0
  32. data/lib/virtualbox/classes/events/extra_data_changed_event.rb +20 -0
  33. data/lib/virtualbox/classes/events/guest_keyboard_event.rb +12 -0
  34. data/lib/virtualbox/classes/events/guest_monitor_changed_event.rb +32 -0
  35. data/lib/virtualbox/classes/events/guest_mouse_event.rb +32 -0
  36. data/lib/virtualbox/classes/events/guest_property_changed_event.rb +20 -0
  37. data/lib/virtualbox/classes/events/host_pci_device_plug_event.rb +24 -0
  38. data/lib/virtualbox/classes/events/keyboard_leds_changed_event.rb +20 -0
  39. data/lib/virtualbox/classes/events/machine_data_changed_event.rb +12 -0
  40. data/lib/virtualbox/classes/events/machine_event.rb +12 -0
  41. data/lib/virtualbox/classes/events/machine_registered_event.rb +12 -0
  42. data/lib/virtualbox/classes/events/machine_state_changed_event.rb +12 -0
  43. data/lib/virtualbox/classes/events/medium_changed_event.rb +13 -0
  44. data/lib/virtualbox/classes/events/medium_registered_event.rb +20 -0
  45. data/lib/virtualbox/classes/events/mouse_capability_changed_event.rb +20 -0
  46. data/lib/virtualbox/classes/events/mouse_pointer_shape_changed_event.rb +36 -0
  47. data/lib/virtualbox/classes/events/nat_redirect_event.rb +40 -0
  48. data/lib/virtualbox/classes/events/network_adapter_changed_event.rb +13 -0
  49. data/lib/virtualbox/classes/events/parallel_port_changed_event.rb +13 -0
  50. data/lib/virtualbox/classes/events/reusable_event.rb +18 -0
  51. data/lib/virtualbox/classes/events/runtime_error_event.rb +20 -0
  52. data/lib/virtualbox/classes/events/serial_port_changed_event.rb +13 -0
  53. data/lib/virtualbox/classes/events/session_state_changed_event.rb +12 -0
  54. data/lib/virtualbox/classes/events/shared_folder_changed_event.rb +12 -0
  55. data/lib/virtualbox/classes/events/show_window_event.rb +12 -0
  56. data/lib/virtualbox/classes/events/snapshot_changed_event.rb +7 -0
  57. data/lib/virtualbox/classes/events/snapshot_deleted_event.rb +7 -0
  58. data/lib/virtualbox/classes/events/snapshot_event.rb +12 -0
  59. data/lib/virtualbox/classes/events/snapshot_taken_event.rb +7 -0
  60. data/lib/virtualbox/classes/events/state_changed_event.rb +12 -0
  61. data/lib/virtualbox/classes/events/storage_controller_changed_event.rb +7 -0
  62. data/lib/virtualbox/classes/events/storage_device_changed_event.rb +16 -0
  63. data/lib/virtualbox/classes/events/usb_controller_changed_event.rb +7 -0
  64. data/lib/virtualbox/classes/events/usb_device_state_changed_event.rb +17 -0
  65. data/lib/virtualbox/classes/events/v_box_svc_availability_chaged_event.rb +12 -0
  66. data/lib/virtualbox/classes/events/veto_event.rb +21 -0
  67. data/lib/virtualbox/classes/events/vrde_server_changed_event.rb +7 -0
  68. data/lib/virtualbox/classes/events/vrde_server_info_changed_event.rb +7 -0
  69. data/lib/virtualbox/classes/file.rb +73 -0
  70. data/lib/virtualbox/classes/fs_obj_info.rb +84 -0
  71. data/lib/virtualbox/classes/guest.rb +134 -0
  72. data/lib/virtualbox/classes/guest_directory.rb +7 -0
  73. data/lib/virtualbox/classes/guest_file.rb +7 -0
  74. data/lib/virtualbox/classes/guest_fs_obj_info.rb +7 -0
  75. data/lib/virtualbox/classes/guest_process.rb +7 -0
  76. data/lib/virtualbox/classes/guest_session.rb +232 -0
  77. data/lib/virtualbox/classes/host.rb +172 -0
  78. data/lib/virtualbox/classes/host_network_interface.rb +78 -0
  79. data/lib/virtualbox/classes/host_usb_device.rb +12 -0
  80. data/lib/virtualbox/classes/host_usb_device_filter.rb +16 -0
  81. data/lib/virtualbox/classes/keyboard.rb +29 -0
  82. data/lib/virtualbox/classes/machine.rb +922 -0
  83. data/lib/virtualbox/classes/managed_object_ref.rb +15 -0
  84. data/lib/virtualbox/classes/medium.rb +224 -0
  85. data/lib/virtualbox/classes/medium_format.rb +30 -0
  86. data/lib/virtualbox/classes/mouse.rb +37 -0
  87. data/lib/virtualbox/classes/nat_engine.rb +107 -0
  88. data/lib/virtualbox/classes/network_adapter.rb +171 -0
  89. data/lib/virtualbox/classes/parallel_port.rb +44 -0
  90. data/lib/virtualbox/classes/performance_collector.rb +51 -0
  91. data/lib/virtualbox/classes/performance_metric.rb +40 -0
  92. data/lib/virtualbox/classes/process.rb +67 -0
  93. data/lib/virtualbox/classes/progress.rb +111 -0
  94. data/lib/virtualbox/classes/serial_port.rb +60 -0
  95. data/lib/virtualbox/classes/session.rb +32 -0
  96. data/lib/virtualbox/classes/shared_folder.rb +32 -0
  97. data/lib/virtualbox/classes/snapshot.rb +44 -0
  98. data/lib/virtualbox/classes/storage_controller.rb +60 -0
  99. data/lib/virtualbox/classes/system_properties.rb +209 -0
  100. data/lib/virtualbox/classes/usb_controller.rb +58 -0
  101. data/lib/virtualbox/classes/usb_device.rb +56 -0
  102. data/lib/virtualbox/classes/usb_device_filter.rb +96 -0
  103. data/lib/virtualbox/classes/vfs_explorer.rb +51 -0
  104. data/lib/virtualbox/classes/virtual_box.rb +242 -0
  105. data/lib/virtualbox/classes/virtual_box_error_info.rb +29 -0
  106. data/lib/virtualbox/classes/virtual_system_description.rb +38 -0
  107. data/lib/virtualbox/classes/vrde_server.rb +80 -0
  108. data/lib/virtualbox/classes/vrde_server_info.rb +68 -0
  109. data/lib/virtualbox/classes/websession_manager.rb +33 -0
  110. data/lib/virtualbox/connection.rb +56 -31
  111. data/virtualbox-ws.gemspec +5 -4
  112. metadata +122 -20
  113. data/lib/virtualbox/classes/i_bios_settings.rb +0 -7
  114. data/lib/virtualbox/classes/i_console.rb +0 -16
  115. data/lib/virtualbox/classes/i_host.rb +0 -15
  116. data/lib/virtualbox/classes/i_host_network_interface.rb +0 -9
  117. data/lib/virtualbox/classes/i_machine.rb +0 -40
  118. data/lib/virtualbox/classes/i_managed_object_ref.rb +0 -6
  119. data/lib/virtualbox/classes/i_medium.rb +0 -13
  120. data/lib/virtualbox/classes/i_medium_format.rb +0 -6
  121. data/lib/virtualbox/classes/i_network_adapter.rb +0 -12
  122. data/lib/virtualbox/classes/i_session.rb +0 -6
  123. data/lib/virtualbox/classes/i_system_properties.rb +0 -18
  124. data/lib/virtualbox/classes/i_virtualbox.rb +0 -17
  125. data/lib/virtualbox/classes/i_web_session_manager.rb +0 -21
  126. data/lib/virtualbox/core_ext/string.rb +0 -9
  127. data/lib/virtualbox/enumerations.rb +0 -6
  128. data/lib/virtualbox/i_base.rb +0 -51
@@ -0,0 +1,15 @@
1
+ module VBox
2
+ class ManagedObjectRef < Base
3
+
4
+ # Methods
5
+
6
+ def get_interface_name
7
+ interface_name = VBox::WebService.send_request(:i_managed_object_ref_get_interface_name, _this)
8
+ interface_name[1..-1]
9
+ end
10
+
11
+ def release
12
+ VBox::WebService.send_request(:i_managed_object_ref_release, _this)
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,224 @@
1
+ module VBox
2
+ class Medium < Base
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def id
9
+ VBox::WebService.send_request(:i_medium_get_id, _this)
10
+ end
11
+
12
+ def description
13
+ VBox::WebService.send_request(:i_medium_get_description, _this)
14
+ end
15
+
16
+ def description=(description)
17
+ VBox::WebService.send_request(:i_medium_set_description, _this.merge(:description => description))
18
+ end
19
+
20
+ def state
21
+ VBox::WebService.send_request(:i_medium_get_state, _this)
22
+ end
23
+
24
+ def variant
25
+ VBox::WebService.send_request(:i_medium_get_variant, _this)
26
+ end
27
+
28
+ def location
29
+ VBox::WebService.send_request(:i_medium_get_location, _this)
30
+ end
31
+
32
+ def location=(location)
33
+ VBox::WebService.send_request(:i_medium_set_location, _this.merge(:location => location))
34
+ end
35
+
36
+ def name
37
+ VBox::WebService.send_request(:i_medium_get_name, _this)
38
+ end
39
+
40
+ def device_type
41
+ VBox::WebService.send_request(:i_medium_get_device_type, _this)
42
+ end
43
+
44
+ def host_drive
45
+ VBox::WebService.send_request(:i_medium_get_host_drive, _this)
46
+ end
47
+
48
+ def size
49
+ VBox::WebService.send_request(:i_medium_get_size, _this)
50
+ end
51
+
52
+ def format
53
+ VBox::WebService.send_request(:i_medium_get_format, _this)
54
+ end
55
+
56
+ def medium_format
57
+ medium_format = VBox::WebService.send_request(:i_medium_get_medium_format, _this)
58
+ VBox::MediumFormat.new(medium_format)
59
+ end
60
+
61
+ def type
62
+ VBox::WebService.send_request(:i_medium_get_type, _this)
63
+ end
64
+
65
+ def type=(type)
66
+ VBox::WebService.send_request(:i_medium_set_type, _this.merge(:type => type))
67
+ end
68
+
69
+ def allowed_types
70
+ VBox::WebService.send_request(:i_medium_get_allowed_types, _this)
71
+ end
72
+
73
+ def parent
74
+ parent = VBox::WebService.send_request(:i_medium_get_parent, _this)
75
+ VBox::Medium.new(parent)
76
+ end
77
+
78
+ def children
79
+ children = VBox::WebService.send_request(:i_medium_get_children, _this)
80
+ children.map do |child|
81
+ VBox::Medium.new(child)
82
+ end
83
+ end
84
+
85
+ def base
86
+ base = VBox::WebService.send_request(:i_medium_get_base, _this)
87
+ VBox::Medium.new(base)
88
+ end
89
+
90
+ def read_only
91
+ VBox::WebService.send_request(:i_medium_get_read_only, _this)
92
+ end
93
+
94
+ def logical_size
95
+ VBox::WebService.send_request(:i_medium_get_logical_size, _this)
96
+ end
97
+
98
+ def auto_reset
99
+ VBox::WebService.send_request(:i_medium_get_auto_reset, _this)
100
+ end
101
+
102
+ def auto_reset=(auto_reset)
103
+ VBox::WebService.send_request(:i_medium_set_auto_reset, _this.merge(:auto_reset => auto_reset))
104
+ end
105
+
106
+ def last_access_error
107
+ VBox::WebService.send_request(:i_medium_get_last_access_error, _this)
108
+ end
109
+
110
+ def machine_ids
111
+ VBox::WebService.send_request(:i_medium_get_machine_ids, _this)
112
+ end
113
+
114
+ # Methods
115
+
116
+ def clone_to(args={})
117
+ ensure_hash(args)
118
+ args[:target] = args[:target].ref if args.has_key?(:target) & args[:target].respond_to?(:ref)
119
+ args[:parent] = args[:parent].ref if args.has_key?(:parent) & args[:parent].respond_to?(:ref)
120
+ VBox::WebService.send_request(:i_medium_clone_to, _this.merge(args))
121
+ end
122
+
123
+ def clone_to_base(args={})
124
+ ensure_hash(args)
125
+ args[:target] = args[:target].ref if args.has_key?(:target) & args[:target].respond_to?(:ref)
126
+ VBox::WebService.send_request(:i_medium_clone_to_base, _this.merge(args))
127
+ end
128
+
129
+ def close
130
+ VBox::WebService.send_request(:i_medium_close, _this)
131
+ end
132
+
133
+ def compact
134
+ progress = VBox::WebService.send_request(:i_medium_close, _this)
135
+ VBox::Progress.new(progress)
136
+ end
137
+
138
+ def create_base_storage(args={})
139
+ ensure_hash(args)
140
+ progress = VBox::WebService.send_request(:i_medium_create_base_storage, _this.merge(args))
141
+ VBox::Progress.new(progress)
142
+ end
143
+
144
+ def create_diff_storage(args={})
145
+ ensure_hash(args)
146
+ args[:target] = args[:target].ref if args.has_key?(:target) & args[:target].respond_to?(:ref)
147
+ progress = VBox::WebService.send_request(:i_medium_create_diff_storage, _this.merge(args))
148
+ VBox::Progress.new(progress)
149
+ end
150
+
151
+ def delete_storage
152
+ progress = VBox::WebService.send_request(:i_medium_delete_storage, _this)
153
+ VBox::Progress.new(progress)
154
+ end
155
+
156
+ def get_properties(args={})
157
+ ensure_hash(args)
158
+ VBox::WebService.send_request(:i_medium_get_properties, _this.merge(args))
159
+ end
160
+
161
+ def get_property(args={})
162
+ ensure_hash(args)
163
+ VBox::WebService.send_request(:i_medium_get_property, _this.merge(args))
164
+ end
165
+
166
+ def get_snapshot_ids(args={})
167
+ ensure_hash(args)
168
+ VBox::WebService.send_request(:i_medium_get_snapshot_ids, _this.merge(args))
169
+ end
170
+
171
+ def lock_read
172
+ VBox::WebService.send_request(:i_medium_lock_read, _this.merge(args))
173
+ end
174
+
175
+ def lock_write
176
+ VBox::WebService.send_request(:i_medium_lock_write, _this.merge(args))
177
+ end
178
+
179
+ def merge_to(args={})
180
+ ensure_hash(args)
181
+ args[:target] = args[:target].ref if args.has_key?(:target) & args[:target].respond_to?(:ref)
182
+ progress = VBox::WebService.send_request(:i_medium_delete_storage, _this.merge(args))
183
+ VBox::Progress.new(progress)
184
+ end
185
+
186
+ def refresh_state
187
+ VBox::WebService.send_request(:i_medium_refresh_state, _this)
188
+ end
189
+
190
+ def reset
191
+ progress = VBox::WebService.send_request(:i_medium_reset, _this)
192
+ VBox::Progress.new(progress)
193
+ end
194
+
195
+ def resize(args={})
196
+ ensure_hash(args)
197
+ progress = VBox::WebService.send_request(:i_medium_resize, _this.merge(args))
198
+ VBox::Progress.new(progress)
199
+ end
200
+
201
+ def set_ids(args={})
202
+ ensure_hash(args)
203
+ VBox::WebService.send_request(:i_medium_set_ids, _this.merge(args))
204
+ end
205
+
206
+ def set_properties(args={})
207
+ ensure_hash(args)
208
+ VBox::WebService.send_request(:i_medium_set_properties, _this.merge(args))
209
+ end
210
+
211
+ def set_property(args={})
212
+ ensure_hash(args)
213
+ VBox::WebService.send_request(:i_medium_set_property, _this.merge(args))
214
+ end
215
+
216
+ def unlock_read
217
+ VBox::WebService.send_request(:i_medium_unlock_read, _this.merge(args))
218
+ end
219
+
220
+ def unlock_write
221
+ VBox::WebService.send_request(:i_medium_unlock_write, _this.merge(args))
222
+ end
223
+ end
224
+ end
@@ -0,0 +1,30 @@
1
+ module VBox
2
+ class MediumFormat < Base
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def id
9
+ VBox::WebService.send_request(:i_medium_format_get_id, _this)
10
+ end
11
+
12
+ def name
13
+ VBox::WebService.send_request(:i_medium_format_get_name, _this)
14
+ end
15
+
16
+ def capabilities
17
+ VBox::WebService.send_request(:i_medium_format_get_name, _this)
18
+ end
19
+
20
+ # Methods
21
+
22
+ def describe_file_extensions
23
+ VBox::WebService.send_request(:i_medium_format_describe_file_extensions, _this)
24
+ end
25
+
26
+ def describe_properties
27
+ VBox::WebService.send_request(:i_medium_format_describe_properties, _this)
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,37 @@
1
+ module VBox
2
+ class Mouse < Base
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def absolute_supported
9
+ VBox::WebService.send_request(:i_mouse_get_absolute_supported, _this)
10
+ end
11
+
12
+ def relative_supported
13
+ VBox::WebService.send_request(:i_mouse_get_relative_supported, _this)
14
+ end
15
+
16
+ def needs_host_cursor
17
+ VBox::WebService.send_request(:i_mouse_get_needs_host_cursor, _this)
18
+ end
19
+
20
+ def event_source
21
+ event_source = VBox::WebService.send_request(:i_mouse_get_event_source, _this)
22
+ VBox::EventSource.new(event_source)
23
+ end
24
+
25
+ # Methods
26
+
27
+ def put_mouse_event(args={})
28
+ ensure_hash(args)
29
+ VBox::WebService.send_request(:i_mouse_put_mouse_event, _this)
30
+ end
31
+
32
+ def put_mouse_event_absolute(args={})
33
+ ensure_hash(args)
34
+ VBox::WebService.send_request(:i_mouse_put_mouse_event_absolute, _this)
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,107 @@
1
+ module VBox
2
+ class NATEngine < Base
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def network
9
+ VBox::WebService.send_request(:inat_engine_get_network, _this)
10
+ end
11
+
12
+ def network=(network)
13
+ VBox::WebService.send_request(:inat_engine_set_network, _this.merge(:network => network))
14
+ end
15
+
16
+ def host_ip
17
+ VBox::WebService.send_request(:inat_engine_get_host_ip, _this)
18
+ end
19
+
20
+ def host_ip=(host_ip)
21
+ VBox::WebService.send_request(:inat_engine_set_host_ip, _this.merge(:host_ip => host_ip))
22
+ end
23
+
24
+ def tftp_prefix
25
+ VBox::WebService.send_request(:inat_engine_get_tftp_prefix, _this)
26
+ end
27
+
28
+ def tftp_prefix=(tftp_prefix)
29
+ VBox::WebService.send_request(:inat_engine_set_tftp_prefix, _this.merge('TFTPPrefix' => tftp_prefix))
30
+ end
31
+
32
+ def tftp_boot_file
33
+ VBox::WebService.send_request(:inat_engine_get_tftp_boot_file, _this)
34
+ end
35
+
36
+ def tftp_boot_file=(tftp_boot_file)
37
+ VBox::WebService.send_request(:inat_engine_set_tftp_boot_file, _this.merge('TFTPBootFile' => tftp_boot_file))
38
+ end
39
+
40
+ def tftp_next_server
41
+ VBox::WebService.send_request(:inat_engine_get_tftp_next_server, _this)
42
+ end
43
+
44
+ def tftp_next_server=(tftp_next_server)
45
+ VBox::WebService.send_request(:inat_engine_set_tftp_next_server,
46
+ _this.merge('TFTPNextServer' => tftp_next_server))
47
+ end
48
+
49
+ def alias_mode
50
+ VBox::WebService.send_request(:inat_engine_get_alias_mode, _this)
51
+ end
52
+
53
+ def alias_mode=(alias_mode)
54
+ VBox::WebService.send_request(:inat_engine_set_alias_mode, _this.merge(:alias_mode => alias_mode))
55
+ end
56
+
57
+ def dns_pass_domain
58
+ VBox::WebService.send_request(:inat_engine_get_dns_pass_domain, _this)
59
+ end
60
+
61
+ def dns_pass_domain=(dns_pass_domain)
62
+ VBox::WebService.send_request(:inat_engine_set_dns_pass_domain, _this.merge('DNSPassDomain' => dns_pass_domain))
63
+ end
64
+
65
+ def dns_proxy
66
+ VBox::WebService.send_request(:inat_engine_get_dns_proxy, _this)
67
+ end
68
+
69
+ def dns_proxy=(dns_proxy)
70
+ VBox::WebService.send_request(:inat_engine_set_dns_proxy, _this.merge('DNSProxy' => dns_proxy))
71
+ end
72
+
73
+ def dns_use_host_resolver
74
+ VBox::WebService.send_request(:inat_engine_get_dns_use_host_resolver, _this)
75
+ end
76
+
77
+ def dns_use_host_resolver=(dns_use_host_resolver)
78
+ VBox::WebService.send_request(:inat_engine_set_dns_use_host_resolver,
79
+ _this.merge('DNSUseHostResolver' => dns_use_host_resolver))
80
+ end
81
+
82
+ def redirects
83
+ VBox::WebService.send_request(:inat_engine_get_redirects, _this)
84
+ end
85
+
86
+ # Methods
87
+
88
+ def add_redirect(args={})
89
+ ensure_hash(args)
90
+ VBox::WebService.send_request(:inat_engine_add_redirect, _this.merge(args))
91
+ end
92
+
93
+ def get_network_settings
94
+ VBox::WebService.send_request(:inat_engine_add_redirect, _this)
95
+ end
96
+
97
+ def remove_redirect(args={})
98
+ ensure_hash(args)
99
+ VBox::WebService.send_request(:inat_engine_remove_redirect, _this.merge(args))
100
+ end
101
+
102
+ def set_network_settings(args={})
103
+ ensure_hash(args)
104
+ VBox::WebService.send_request(:inat_engine_set_network_settings, _this.merge(args))
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,171 @@
1
+ module VBox
2
+ class NetworkAdapter < Base
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def adapter_type
9
+ VBox::WebService.send_request(:i_network_adapter_get_adapter_type, _this)
10
+ end
11
+
12
+ def adapter_type=(adapter_type)
13
+ VBox::WebService.send_request(:i_network_adapter_set_adapter_type, _this.merge(:adapter_type => adapter_type))
14
+ end
15
+
16
+ def slot
17
+ VBox::WebService.send_request(:i_network_adapter_get_slot, _this)
18
+ end
19
+
20
+ def enabled
21
+ VBox::WebService.send_request(:i_network_adapter_get_enabled, _this)
22
+ end
23
+
24
+ def enabled=(enabled)
25
+ VBox::WebService.send_request(:i_network_adapter_set_enabled, _this.merge(:enabled => enabled))
26
+ end
27
+
28
+ def mac_address
29
+ VBox::WebService.send_request(:i_network_adapter_get_mac_address, _this)
30
+ end
31
+
32
+ def mac_address=(mac_address)
33
+ VBox::WebService.send_request(:i_network_adapter_set_mac_address, _this.merge(:mac_address => mac_address))
34
+ end
35
+
36
+ def attachment_type
37
+ VBox::WebService.send_request(:i_network_adapter_get_attachment_type, _this)
38
+ end
39
+
40
+ def attachment_type=(attachment_type)
41
+ VBox::WebService.send_request(:i_network_adapter_set_attachment_type,
42
+ _this.merge(:attachment_type => attachment_type))
43
+ end
44
+
45
+ def bridged_interface
46
+ VBox::WebService.send_request(:i_network_adapter_get_bridged_interface, _this)
47
+ end
48
+
49
+ def bridged_interface=(bridged_interface)
50
+ VBox::WebService.send_request(:i_network_adapter_set_bridged_interface,
51
+ _this.merge(:bridged_interface => bridged_interface))
52
+ end
53
+
54
+ def host_only_interface
55
+ VBox::WebService.send_request(:i_network_adapter_get_host_only_interface, _this)
56
+ end
57
+
58
+ def host_only_interface=(host_only_interface)
59
+ VBox::WebService.send_request(:i_network_adapter_set_host_only_interface,
60
+ _this.merge(:host_only_interface => host_only_interface))
61
+ end
62
+
63
+ def internal_network
64
+ VBox::WebService.send_request(:i_network_adapter_get_internal_network, _this)
65
+ end
66
+
67
+ def internal_network=(internal_network)
68
+ VBox::WebService.send_request(:i_network_adapter_set_internal_network,
69
+ _this.merge(:internal_network => internal_network))
70
+ end
71
+
72
+ def nat_network
73
+ VBox::WebService.send_request(:i_network_adapter_get_nat_network, _this)
74
+ end
75
+
76
+ def nat_network=(nat_network)
77
+ VBox::WebService.send_request(:i_network_adapter_set_nat_network, _this.merge(:nat_network => nat_network))
78
+ end
79
+
80
+ def generic_driver
81
+ VBox::WebService.send_request(:i_network_adapter_get_generic_driver, _this)
82
+ end
83
+
84
+ def generic_driver=(generic_driver)
85
+ VBox::WebService.send_request(:i_network_adapter_set_generic_driver,
86
+ _this.merge(:generic_driver => generic_driver))
87
+ end
88
+
89
+ def cable_connected
90
+ VBox::WebService.send_request(:i_network_adapter_get_cable_connected, _this)
91
+ end
92
+
93
+ def cable_connected=(cable_connected)
94
+ VBox::WebService.send_request(:i_network_adapter_set_cable_connected,
95
+ _this.merge(:cable_connected => cable_connected))
96
+ end
97
+
98
+ def line_speed
99
+ VBox::WebService.send_request(:i_network_adapter_get_line_speed, _this)
100
+ end
101
+
102
+ def line_speed=(line_speed)
103
+ VBox::WebService.send_request(:i_network_adapter_set_line_speed, _this.merge(:line_speed => line_speed))
104
+ end
105
+
106
+ def promisc_mode_policy
107
+ VBox::WebService.send_request(:i_network_adapter_get_promisc_mode_policy, _this)
108
+ end
109
+
110
+ def promisc_mode_policy=(promisc_mode_policy)
111
+ VBox::WebService.send_request(:i_network_adapter_set_promisc_mode_policy,
112
+ _this.merge(:promisc_mode_policy => promisc_mode_policy))
113
+ end
114
+
115
+ def trace_enabled
116
+ VBox::WebService.send_request(:i_network_adapter_get_trace_enabled, _this)
117
+ end
118
+
119
+ def trace_enabled=(trace_enabled)
120
+ VBox::WebService.send_request(:i_network_adapter_set_trace_enabled, _this.merge(:trace_enabled => trace_enabled))
121
+ end
122
+
123
+ def trace_file
124
+ VBox::WebService.send_request(:i_network_adapter_get_trace_file, _this)
125
+ end
126
+
127
+ def trace_file=(trace_file)
128
+ VBox::WebService.send_request(:i_network_adapter_set_trace_file, _this.merge(:trace_file => trace_file))
129
+ end
130
+
131
+ def nat_engine
132
+ nat_engine = VBox::WebService.send_request(:i_network_adapter_get_nat_engine, _this)
133
+ VBox::NATEngine.new(nat_engine)
134
+ end
135
+
136
+ def boot_priority
137
+ VBox::WebService.send_request(:i_network_adapter_get_boot_priority, _this)
138
+ end
139
+
140
+ def boot_priority=(boot_priority)
141
+ VBox::WebService.send_request(:i_network_adapter_set_boot_priority, _this.merge(:boot_priority => boot_priority))
142
+ end
143
+
144
+ def bandwidth_group
145
+ VBox::WebService.send_request(:i_network_adapter_get_bandwidth_group, _this)
146
+ end
147
+
148
+ def bandwidth_group=(bandwidth_group)
149
+ bandwidth_group = bandwidth_group.ref if bandwidth_group.respond_to?(:ref)
150
+ VBox::WebService.send_request(:i_network_adapter_set_bandwidth_group,
151
+ _this.merge(:bandwidth_group => bandwidth_group))
152
+ end
153
+
154
+ # Methods
155
+
156
+ def get_properties(args={})
157
+ ensure_hash(args)
158
+ VBox::WebService.send_request(:i_network_adapter_get_properties, _this.merge(args))
159
+ end
160
+
161
+ def get_property(args={})
162
+ ensure_hash(args)
163
+ VBox::WebService.send_request(:i_network_adapter_get_property, _this.merge(args))
164
+ end
165
+
166
+ def set_property(args={})
167
+ ensure_hash(args)
168
+ VBox::WebService.send_request(:i_network_adapter_set_property, _this.merge(args))
169
+ end
170
+ end
171
+ end