virtualbox-ws 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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