virtualbox-ws 0.0.3 → 0.0.5

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 (137) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -2
  3. data/Gemfile.lock +8 -2
  4. data/README.md +42 -24
  5. data/lib/core_ext/hash.rb +6 -6
  6. data/lib/core_ext/string.rb +8 -0
  7. data/lib/virtualbox/base.rb +118 -6
  8. data/lib/virtualbox/classes/appliance.rb +11 -44
  9. data/lib/virtualbox/classes/audio_adapter.rb +3 -25
  10. data/lib/virtualbox/classes/bandwidth_control.rb +5 -27
  11. data/lib/virtualbox/classes/bandwidth_group.rb +4 -21
  12. data/lib/virtualbox/classes/bios_settings.rb +12 -73
  13. data/lib/virtualbox/classes/console.rb +42 -193
  14. data/lib/virtualbox/classes/dhcp_server.rb +18 -44
  15. data/lib/virtualbox/classes/directory.rb +4 -18
  16. data/lib/virtualbox/classes/display.rb +10 -39
  17. data/lib/virtualbox/classes/emulated_usb.rb +10 -0
  18. data/lib/virtualbox/classes/event.rb +5 -23
  19. data/lib/virtualbox/classes/event_listener.rb +1 -6
  20. data/lib/virtualbox/classes/event_source.rb +7 -49
  21. data/lib/virtualbox/classes/events/bandwidth_group_changed_event.rb +1 -5
  22. data/lib/virtualbox/classes/events/clipboard_mode_changed_event.rb +1 -4
  23. data/lib/virtualbox/classes/events/cpu_changed_event.rb +2 -8
  24. data/lib/virtualbox/classes/events/cpu_execution_cap_changed_event.rb +1 -4
  25. data/lib/virtualbox/classes/events/drag_and_drop_mode_changed_event.rb +1 -4
  26. data/lib/virtualbox/classes/events/event_source_changed_event.rb +2 -9
  27. data/lib/virtualbox/classes/events/extra_data_can_change_event.rb +3 -12
  28. data/lib/virtualbox/classes/events/extra_data_changed_event.rb +3 -12
  29. data/lib/virtualbox/classes/events/guest_file_event.rb +7 -0
  30. data/lib/virtualbox/classes/events/guest_file_io_event.rb +8 -0
  31. data/lib/virtualbox/classes/events/guest_file_offset_changed_event.rb +4 -0
  32. data/lib/virtualbox/classes/events/guest_file_read_event.rb +6 -0
  33. data/lib/virtualbox/classes/events/guest_file_registered_event.rb +7 -0
  34. data/lib/virtualbox/classes/events/guest_file_state_changed_event.rb +8 -0
  35. data/lib/virtualbox/classes/events/guest_file_write_event.rb +4 -0
  36. data/lib/virtualbox/classes/events/guest_keyboard_event.rb +2 -5
  37. data/lib/virtualbox/classes/events/guest_monitor_changed_event.rb +6 -24
  38. data/lib/virtualbox/classes/events/guest_mouse_event.rb +6 -24
  39. data/lib/virtualbox/classes/events/guest_multi_touch_event.rb +12 -0
  40. data/lib/virtualbox/classes/events/guest_process_event.rb +8 -0
  41. data/lib/virtualbox/classes/events/guest_process_input_notify_event.rb +7 -0
  42. data/lib/virtualbox/classes/events/guest_process_io_event.rb +8 -0
  43. data/lib/virtualbox/classes/events/guest_process_output_event.rb +7 -0
  44. data/lib/virtualbox/classes/events/guest_process_registered_event.rb +7 -0
  45. data/lib/virtualbox/classes/events/guest_process_state_changed_event.rb +8 -0
  46. data/lib/virtualbox/classes/events/guest_property_changed_event.rb +3 -12
  47. data/lib/virtualbox/classes/events/guest_session_event.rb +7 -0
  48. data/lib/virtualbox/classes/events/guest_session_registered_event.rb +7 -0
  49. data/lib/virtualbox/classes/events/guest_session_state_changed_event.rb +9 -0
  50. data/lib/virtualbox/classes/events/guest_user_state_changed_event.rb +10 -0
  51. data/lib/virtualbox/classes/events/host_name_resolution_configuration_change_event.rb +4 -0
  52. data/lib/virtualbox/classes/events/host_pci_device_plug_event.rb +4 -16
  53. data/lib/virtualbox/classes/events/keyboard_leds_changed_event.rb +3 -12
  54. data/lib/virtualbox/classes/events/machine_data_changed_event.rb +1 -4
  55. data/lib/virtualbox/classes/events/machine_event.rb +1 -4
  56. data/lib/virtualbox/classes/events/machine_registered_event.rb +1 -4
  57. data/lib/virtualbox/classes/events/machine_state_changed_event.rb +1 -4
  58. data/lib/virtualbox/classes/events/medium_changed_event.rb +1 -5
  59. data/lib/virtualbox/classes/events/medium_registered_event.rb +3 -12
  60. data/lib/virtualbox/classes/events/mouse_capability_changed_event.rb +4 -12
  61. data/lib/virtualbox/classes/events/mouse_pointer_shape_changed_event.rb +7 -28
  62. data/lib/virtualbox/classes/events/nat_network_alter_event.rb +7 -0
  63. data/lib/virtualbox/classes/events/nat_network_changed_event.rb +9 -0
  64. data/lib/virtualbox/classes/events/nat_network_creation_deletion_event.rb +9 -0
  65. data/lib/virtualbox/classes/events/nat_network_port_forward_event.rb +16 -0
  66. data/lib/virtualbox/classes/events/nat_network_setting_event.rb +13 -0
  67. data/lib/virtualbox/classes/events/nat_network_start_stop_event.rb +9 -0
  68. data/lib/virtualbox/classes/events/nat_redirect_event.rb +8 -32
  69. data/lib/virtualbox/classes/events/network_adapter_changed_event.rb +1 -5
  70. data/lib/virtualbox/classes/events/parallel_port_changed_event.rb +1 -5
  71. data/lib/virtualbox/classes/events/reusable_event.rb +2 -9
  72. data/lib/virtualbox/classes/events/runtime_error_event.rb +3 -12
  73. data/lib/virtualbox/classes/events/serial_port_changed_event.rb +1 -5
  74. data/lib/virtualbox/classes/events/session_state_changed_event.rb +1 -4
  75. data/lib/virtualbox/classes/events/shared_folder_changed_event.rb +1 -4
  76. data/lib/virtualbox/classes/events/show_window_event.rb +1 -4
  77. data/lib/virtualbox/classes/events/snapshot_event.rb +1 -4
  78. data/lib/virtualbox/classes/events/state_changed_event.rb +1 -4
  79. data/lib/virtualbox/classes/events/storage_device_changed_event.rb +3 -8
  80. data/lib/virtualbox/classes/events/usb_device_state_changed_event.rb +3 -9
  81. data/lib/virtualbox/classes/events/v_box_svc_availability_chaged_event.rb +1 -4
  82. data/lib/virtualbox/classes/events/veto_event.rb +3 -13
  83. data/lib/virtualbox/classes/events/video_capture_changed_event.rb +4 -0
  84. data/lib/virtualbox/classes/file.rb +18 -65
  85. data/lib/virtualbox/classes/framebuffer.rb +21 -0
  86. data/lib/virtualbox/classes/framebuffer_overlay.rb +12 -0
  87. data/lib/virtualbox/classes/fs_obj_info.rb +20 -77
  88. data/lib/virtualbox/classes/guest.rb +25 -126
  89. data/lib/virtualbox/classes/guest_session.rb +48 -224
  90. data/lib/virtualbox/classes/host.rb +37 -164
  91. data/lib/virtualbox/classes/host_network_interface.rb +19 -69
  92. data/lib/virtualbox/classes/host_usb_device.rb +1 -4
  93. data/lib/virtualbox/classes/host_usb_device_filter.rb +1 -8
  94. data/lib/virtualbox/classes/host_video_input_device.rb +9 -0
  95. data/lib/virtualbox/classes/keyboard.rb +4 -20
  96. data/lib/virtualbox/classes/machine.rb +156 -908
  97. data/lib/virtualbox/classes/machine_debugger.rb +49 -0
  98. data/lib/virtualbox/classes/managed_object_ref.rb +2 -9
  99. data/lib/virtualbox/classes/medium.rb +42 -215
  100. data/lib/virtualbox/classes/medium_format.rb +5 -21
  101. data/lib/virtualbox/classes/mouse.rb +9 -28
  102. data/lib/virtualbox/classes/nat_engine.rb +14 -99
  103. data/lib/virtualbox/classes/nat_network.rb +25 -0
  104. data/lib/virtualbox/classes/network_adapter.rb +22 -163
  105. data/lib/virtualbox/classes/parallel_port.rb +5 -36
  106. data/lib/virtualbox/classes/pci_address.rb +12 -0
  107. data/lib/virtualbox/classes/performance_collector.rb +6 -42
  108. data/lib/virtualbox/classes/performance_metric.rb +8 -32
  109. data/lib/virtualbox/classes/process.rb +16 -60
  110. data/lib/virtualbox/classes/progress.rb +23 -101
  111. data/lib/virtualbox/classes/serial_port.rb +7 -52
  112. data/lib/virtualbox/classes/session.rb +5 -23
  113. data/lib/virtualbox/classes/shared_folder.rb +6 -24
  114. data/lib/virtualbox/classes/snapshot.rb +9 -35
  115. data/lib/virtualbox/classes/storage_controller.rb +10 -52
  116. data/lib/virtualbox/classes/system_properties.rb +38 -201
  117. data/lib/virtualbox/classes/token.rb +8 -0
  118. data/lib/virtualbox/classes/usb_controller.rb +3 -50
  119. data/lib/virtualbox/classes/usb_device.rb +12 -48
  120. data/lib/virtualbox/classes/usb_device_filter.rb +11 -88
  121. data/lib/virtualbox/classes/usb_device_filters.rb +11 -0
  122. data/lib/virtualbox/classes/vfs_explorer.rb +8 -42
  123. data/lib/virtualbox/classes/virtual_box.rb +48 -234
  124. data/lib/virtualbox/classes/virtual_box_error_info.rb +6 -21
  125. data/lib/virtualbox/classes/virtual_system_description.rb +6 -30
  126. data/lib/virtualbox/classes/vrde_server.rb +11 -72
  127. data/lib/virtualbox/classes/vrde_server_info.rb +15 -60
  128. data/lib/virtualbox/classes/websession_manager.rb +11 -11
  129. data/lib/virtualbox/configuration.rb +35 -0
  130. data/lib/virtualbox/exceptions.rb +28 -0
  131. data/lib/virtualbox/version.rb +3 -0
  132. data/lib/virtualbox/webservice.rb +105 -0
  133. data/lib/virtualbox-ws.rb +5 -1
  134. data/virtualbox-ws.gemspec +4 -1
  135. metadata +42 -5
  136. data/lib/virtualbox/classes/additions_facility.rb +0 -26
  137. data/lib/virtualbox/connection.rb +0 -68
@@ -1,199 +1,48 @@
1
1
  module VBox
2
2
  class Console < Base
3
3
 
4
- # Attributes
4
+ vb_attr :machine
5
+ vb_attr :state
6
+ vb_attr :guest
7
+ vb_attr :keyboard
8
+ vb_attr :mouse
9
+ vb_attr :display
10
+ vb_attr :debugger
11
+ vb_attr :usb_devices, :force_array => true
12
+ vb_attr :remote_usb_devices, :force_array => true
13
+ vb_attr :shared_folders, :force_array => true
14
+ vb_attr :vrde_server_info
15
+ vb_attr :event_source
16
+ vb_attr :attached_pci_devices
17
+ vb_attr :use_host_clipboard
18
+ vb_attr :emulated_usb
19
+
20
+ vb_method :adopt_saved_state
21
+ vb_method :attach_usb_device
22
+ vb_method :create_shared_folder
23
+ vb_method :delete_snapshot
24
+ vb_method :delete_snapshot_and_all_children
25
+ vb_method :delete_snapshot_range
26
+ vb_method :detach_usb_device
27
+ vb_method :discard_saved_state
28
+ vb_method :find_usb_device_by_address
29
+ vb_method :find_usb_device_by_id
30
+ vb_method :get_device_activity
31
+ vb_method :get_guest_entered_acpi_mode
32
+ vb_method :get_power_button_handled
33
+ vb_method :pause
34
+ vb_method :power_button
35
+ vb_method :power_down
36
+ vb_method :power_up
37
+ vb_method :power_up_paused
38
+ vb_method :remove_shared_folder
39
+ vb_method :reset
40
+ vb_method :restore_snapshot
41
+ vb_method :resume
42
+ vb_method :save_state
43
+ vb_method :sleep_button
44
+ vb_method :take_snapshot
45
+ vb_method :teleport
5
46
 
6
- def machine
7
- machine = VBox::WebService.send_request(:i_console_get_machine, _this)
8
- VBox::Machine.new(machine)
9
- end
10
-
11
- def state
12
- VBox::WebService.send_request(:i_console_get_machine_state, _this)
13
- end
14
-
15
- def guest
16
- guest = VBox::WebService.send_request(:i_console_get_guest, _this)
17
- VBox::Guest.new(guest)
18
- end
19
-
20
- def keyboard
21
- guest = VBox::WebService.send_request(:i_console_get_keyboard, _this)
22
- VBox::Keyboard.new(guest)
23
- end
24
-
25
- def mouse
26
- guest = VBox::WebService.send_request(:i_console_get_mouse, _this)
27
- VBox::Mouse.new(guest)
28
- end
29
-
30
- def remote_usb_devices
31
- remote_usb_devices = VBox::WebService.send_request(:i_console_get_remote_usb_devices, _this)
32
- remote_usb_devices.map do |remote_usb_device|
33
- VBox::HostUSBDevice.new(remote_usb_device)
34
- end
35
- end
36
-
37
- def shared_folders
38
- shared_folders = VBox::WebService.send_request(:i_console_get_shared_folders, _this)
39
- shared_folders.map do |shared_folder|
40
- VBox::SharedFolder.new(shared_folder)
41
- end
42
- end
43
-
44
- def vrde_server_info
45
- vrde_server_info = VBox::WebService.send_request(:i_console_get_vrde_server_info, _this)
46
- VBox::VRDEServerInfo.new(vrde_server_info)
47
- end
48
-
49
- def event_source
50
- event_source = VBox::WebService.send_request(:i_console_get_event_source, _this)
51
- VBox::EventSource.new(event_source)
52
- end
53
-
54
- def attached_pci_devices
55
- VBox::WebService.send_request(:i_console_get_attached_pci_devices, _this)
56
- end
57
-
58
- def use_host_clipboard
59
- VBox::WebService.send_request(:i_console_get_use_host_clipboard, _this)
60
- end
61
-
62
- def use_host_clipboard=(use_host_clipboard)
63
- VBox::WebService.send_request(:i_console_set_use_host_clipboard,
64
- _this.merge(:use_host_clipboard => use_host_clipboard))
65
- end
66
-
67
- # Methods
68
-
69
- def adopt_saved_state(args={})
70
- ensure_hash args
71
- VBox::WebService.send_request(:i_console_adopt_saved_state, _this.merge(args))
72
- end
73
-
74
- def attach_usb_device(args={})
75
- ensure_hash args
76
- VBox::WebService.send_request(:i_console_attach_usb_device, _this.merge(args))
77
- end
78
-
79
- def create_shared_folder(args={})
80
- ensure_hash args
81
- VBox::WebService.send_request(:i_console_create_shared_folder, _this.merge(args))
82
- end
83
-
84
- def delete_snapshot(args={})
85
- ensure_hash args
86
- progress = VBox::WebService.send_request(:i_console_delete_snapshot, _this.merge(args))
87
- VBox::Progress.new(progress)
88
- end
89
-
90
- def delete_snapshot_and_all_children(args={})
91
- ensure_hash args
92
- progress = VBox::WebService.send_request(:i_console_delete_snapshot_and_all_children, _this.merge(args))
93
- VBox::Progress.new(progress)
94
- end
95
-
96
- def delete_snapshot_range(args={})
97
- ensure_hash args
98
- progress = VBox::WebService.send_request(:i_console_delete_snapshot_range, _this.merge(args))
99
- VBox::Progress.new(progress)
100
- end
101
-
102
- def detach_usb_device(args={})
103
- ensure_hash args
104
- usb_device = VBox::WebService.send_request(:i_console_detach_usb_device, _this.merge(args))
105
- VBox::USBDevice.new(usb_device)
106
- end
107
-
108
- def discard_saved_state(args={})
109
- ensure_hash args
110
- VBox::WebService.send_request(:i_console_discard_saved_state, _this.merge(args))
111
- end
112
-
113
- def find_usb_device_by_address(args={})
114
- ensure_hash args
115
- usb_device = VBox::WebService.send_request(:i_console_find_usb_device_by_address, _this.merge(args))
116
- VBox::USBDevice.new(usb_device)
117
- end
118
-
119
- def find_usb_device_by_id(args={})
120
- ensure_hash args
121
- usb_device = VBox::WebService.send_request(:i_console_find_usb_device_by_id, _this.merge(args))
122
- VBox::USBDevice.new(usb_device)
123
- end
124
-
125
- def get_device_activity(args={})
126
- ensure_hash args
127
- VBox::WebService.send_request(:i_console_get_device_activity, _this.merge(args))
128
- end
129
-
130
- def get_guest_entered_acpi_mode
131
- VBox::WebService.send_request(:i_console_get_guest_entered_acpi_mode, _this)
132
- end
133
-
134
- def get_power_button_handled
135
- VBox::WebService.send_request(:i_console_get_power_button_handled, _this)
136
- end
137
-
138
- def pause
139
- VBox::WebService.send_request(:i_console_pause, _this)
140
- end
141
-
142
- def power_button
143
- VBox::WebService.send_request(:i_console_power_button, _this)
144
- end
145
-
146
- def power_down
147
- progress = VBox::WebService.send_request(:i_console_power_down, _this)
148
- VBox::Progress.new(progress)
149
- end
150
-
151
- def power_up
152
- progress = VBox::WebService.send_request(:i_console_power_up, _this)
153
- VBox::Progress.new(progress)
154
- end
155
-
156
- def power_up_paused
157
- progress = VBox::WebService.send_request(:i_console_power_up_paused, _this)
158
- VBox::Progress.new(progress)
159
- end
160
-
161
- def remove_shared_folder(args={})
162
- ensure_hash args
163
- VBox::WebService.send_request(:i_console_remove_shared_folder, _this.merge(args))
164
- end
165
-
166
- def reset
167
- VBox::WebService.send_request(:i_console_reset, _this)
168
- end
169
-
170
- def restore_snapshot(args={})
171
- ensure_hash args
172
- progress = VBox::WebService.send_request(:i_console_restore_snapshot, _this.merge(args))
173
- VBox::Progress.new(progress)
174
- end
175
-
176
- def resume
177
- VBox::WebService.send_request(:i_console_resume, _this)
178
- end
179
-
180
- def save_state
181
- progress = VBox::WebService.send_request(:i_console_save_state, _this)
182
- VBox::Progress.new(progress)
183
- end
184
-
185
- def sleep_button
186
- VBox::WebService.send_request(:i_console_sleep_button, _this)
187
- end
188
-
189
- def take_snapshot
190
- progress = VBox::WebService.send_request(:i_console_take_snapshot, _this)
191
- VBox::Progress.new(progress)
192
- end
193
-
194
- def teleport(args={})
195
- progress = VBox::WebService.send_request(:i_console_teleport, _this.merge(args))
196
- VBox::Progress.new(progress)
197
- end
198
47
  end
199
48
  end
@@ -1,50 +1,24 @@
1
1
  module VBox
2
2
  class DHCPServer < Base
3
3
 
4
- # Attributes
4
+ vb_attr :event_source
5
+ vb_attr :enabled
6
+ vb_attr :ip_address
7
+ vb_attr :network_mask
8
+ vb_attr :network_name
9
+ vb_attr :lower_ip
10
+ vb_attr :upper_ip
11
+ vb_attr :global_options
12
+ vb_attr :vm_configs
13
+
14
+ vb_method :add_global_option
15
+ vb_method :add_vm_slot_option
16
+ vb_method :get_mac_options
17
+ vb_method :get_vm_slot_options
18
+ vb_method :remove_vm_slot_options
19
+ vb_method :set_configuration
20
+ vb_method :start
21
+ vb_method :stop
5
22
 
6
- def enabled
7
- VBox::WebService.send_request(:i_dhcp_server_get_enabled, _this)
8
- end
9
-
10
- def enabled=(enabled)
11
- VBox::WebService.send_request(:i_dhcp_server_set_enabled, _this.merge(:enabled => enabled))
12
- end
13
-
14
- def ip_address
15
- VBox::WebService.send_request(:i_dhcp_server_get_ip_address, _this)
16
- end
17
-
18
- def network_mask
19
- VBox::WebService.send_request(:i_dhcp_server_get_network_mask, _this)
20
- end
21
-
22
- def network_name
23
- VBox::WebService.send_request(:i_dhcp_server_get_network_name, _this)
24
- end
25
-
26
- def lower_ip
27
- VBox::WebService.send_request(:i_dhcp_server_get_lower_ip, _this)
28
- end
29
-
30
- def upper_ip
31
- VBox::WebService.send_request(:i_dhcp_server_get_upper_ip, _this)
32
- end
33
-
34
- # Methods
35
-
36
- def set_configuration(args={})
37
- ensure_hash args
38
- VBox::WebService.send_request(:i_dhcp_server_set_configuration, _this.merge(args))
39
- end
40
-
41
- def start(args={})
42
- ensure_hash args
43
- VBox::WebService.send_request(:i_dhcp_server_start, _this.merge(args))
44
- end
45
-
46
- def stop
47
- VBox::WebService.send_request(:i_dhcp_server_stop, _this)
48
- end
49
23
  end
50
24
  end
@@ -1,25 +1,11 @@
1
1
  module VBox
2
2
  class Directory < Base
3
3
 
4
- # Attributes
4
+ vb_attr :directory_name
5
+ vb_attr :filter
5
6
 
6
- def directory_name
7
- VBox::WebService.send_request(:i_directory_get_directory_name, _this)
8
- end
7
+ vb_method :close
8
+ vb_method :read
9
9
 
10
- def filter
11
- VBox::WebService.send_request(:i_directory_get_filter, _this)
12
- end
13
-
14
- # Methods
15
-
16
- def close
17
- VBox::WebService.send_request(:i_directory_close, _this)
18
- end
19
-
20
- def read
21
- entry = VBox::WebService.send_request(:i_directory_read, _this)
22
- VBox::FsObjInfo.new(entry)
23
- end
24
10
  end
25
11
  end
@@ -1,45 +1,16 @@
1
1
  module VBox
2
2
  class Display < Base
3
3
 
4
- # Methods
4
+ vb_method :get_framebuffer
5
+ vb_method :get_screen_resolution
6
+ vb_method :invalidate_and_update
7
+ vb_method :resize_completed
8
+ vb_method :set_framebuffer
9
+ vb_method :set_seamless_mode
10
+ vb_method :set_video_mode_hint
11
+ vb_method :take_screen_shot_png_to_array
12
+ vb_method :take_screen_shotto_array
13
+ vb_method :viewport_changed
5
14
 
6
- def get_screen_resolution(args={})
7
- ensure_hash args
8
- VBox::WebService.send_request(:i_display_get_screen_resolution, _this.merge(args))
9
- end
10
-
11
- def invalidate_and_update
12
- VBox::WebService.send_request(:i_display_invalidate_and_update, _this)
13
- end
14
-
15
- def resize_completed(args={})
16
- ensure_hash args
17
- VBox::WebService.send_request(:i_display_resize_completed, _this.merge(args))
18
- end
19
-
20
- def set_seamless_mode(args={})
21
- ensure_hash args
22
- VBox::WebService.send_request(:i_display_set_seamless_mode, _this.merge(args))
23
- end
24
-
25
- def set_video_mode_hint(args={})
26
- ensure_hash args
27
- VBox::WebService.send_request(:i_display_set_video_mode_hint, _this.merge(args))
28
- end
29
-
30
- def take_screen_shot_png_to_array(args={})
31
- ensure_hash args
32
- VBox::WebService.send_request(:i_display_take_screen_shot_png_to_array, _this.merge(args))
33
- end
34
-
35
- def take_screen_shot_to_array(args={})
36
- ensure_hash args
37
- VBox::WebService.send_request(:i_display_take_screen_shot_to_array, _this.merge(args))
38
- end
39
-
40
- def viewport_changed(args={})
41
- ensure_hash args
42
- VBox::WebService.send_request(:i_display_viewport_changed, _this.merge(args))
43
- end
44
15
  end
45
16
  end
@@ -0,0 +1,10 @@
1
+ module VBox
2
+ class EmulatedUSB < Base
3
+
4
+ vb_attr :webcams
5
+
6
+ vb_method :webcam_attach
7
+ vb_method :webcam_detach
8
+
9
+ end
10
+ end
@@ -1,30 +1,12 @@
1
1
  module VBox
2
2
  class Event < Base
3
3
 
4
- # Attributes
4
+ vb_attr :type
5
+ vb_attr :source
6
+ vb_attr :writable
5
7
 
6
- def type
7
- VBox::WebService.send_request(:i_event_get_type, _this)
8
- end
8
+ vb_method :set_processed
9
+ vb_method :wait_processed
9
10
 
10
- def source
11
- source = VBox::WebService.send_request(:i_event_get_source, _this)
12
- VBox::EventSource.new(source)
13
- end
14
-
15
- def waitable
16
- VBox::WebService.send_request(:i_event_get_waitable, _this)
17
- end
18
-
19
- # Methods
20
-
21
- def set_processed
22
- VBox::WebService.send_request(:i_event_set_processed, _this)
23
- end
24
-
25
- def wait_processed(args={})
26
- ensure_hash args
27
- VBox::WebService.send_request(:i_event_set_processed, _this.merge(args))
28
- end
29
11
  end
30
12
  end
@@ -1,12 +1,7 @@
1
1
  module VBox
2
2
  class EventListener < Base
3
3
 
4
- # Methods
4
+ vb_method :handle_event
5
5
 
6
- def handle_event(args={})
7
- ensure_hash args
8
- args.referize! :event
9
- VBox::WebService.send_request(:i_event_listener_handle_event, _this.merge(args))
10
- end
11
6
  end
12
7
  end
@@ -1,55 +1,13 @@
1
1
  module VBox
2
2
  class EventSource < Base
3
3
 
4
- # Methods
4
+ vb_method :create_aggregator
5
+ vb_method :create_listener
6
+ vb_method :event_processed
7
+ vb_method :fire_event
8
+ vb_method :get_event
9
+ vb_method :register_listener
10
+ vb_method :unregister_listener
5
11
 
6
- def create_aggregator(args={})
7
- ensure_hash args
8
- args.referize! :subordinates
9
- event_source = VBox::WebService.send_request(:i_event_source_create_aggregator, _this.merge(args))
10
- VBox::EventSource.new(event_source)
11
- end
12
-
13
- def create_listener
14
- event_listener = VBox::WebService.send_request(:i_event_source_create_listener, _this)
15
- VBox::EventListener.new(event_listener)
16
- end
17
-
18
- def event_processed(args={})
19
- ensure_hash args
20
- args.referize! :listener, :event
21
- VBox::WebService.send_request(:i_event_source_event_processed, _this.merge(args))
22
- end
23
-
24
- def fire_event(args={})
25
- ensure_hash args
26
- args.referize! :event
27
- VBox::WebService.send_request(:i_event_source_fire_event, _this.merge(args))
28
- end
29
-
30
- def get_event(args={})
31
- ensure_hash args
32
- args.referize! :listener
33
- event_obj_ref = VBox::WebService.send_request(:i_event_source_get_event, _this.merge(args))
34
- if event_obj_ref.nil?
35
- nil
36
- else
37
- event = VBox::Event.new(event_obj_ref)
38
- event_subclass = event.type.split('On')[1] + 'Event'
39
- VBox.const_get(event_subclass).new(event_obj_ref)
40
- end
41
- end
42
-
43
- def register_listener(args={})
44
- ensure_hash args
45
- args.referize! :listener
46
- VBox::WebService.send_request(:i_event_source_register_listener, _this.merge(args))
47
- end
48
-
49
- def unregister_listener(args={})
50
- ensure_hash args
51
- args.referize! :listener
52
- VBox::WebService.send_request(:i_event_source_unregister_listener, _this.merge(args))
53
- end
54
12
  end
55
13
  end
@@ -1,11 +1,7 @@
1
1
  module VBox
2
2
  class BandwidthGroupChangedEvent < Event
3
3
 
4
- # Attributes
4
+ vb_attr :bandwidth_group
5
5
 
6
- def bandwidth_group
7
- bandwidth_group = VBox::WebService.send_request(:i_bandwidth_group_changed_event_get_bandwidth_group, _this)
8
- VBox::BandwidthGroup.new(bandwidth_group)
9
- end
10
6
  end
11
7
  end
@@ -1,10 +1,7 @@
1
1
  module VBox
2
2
  class ClipboardModeChangedEvent < Event
3
3
 
4
- # Attributes
4
+ vb_attr :clipboard_mode
5
5
 
6
- def clipboard_mode
7
- VBox::WebService.send_request(:i_clipboard_mode_changed_event_get_clipboard_mode, _this)
8
- end
9
6
  end
10
7
  end
@@ -1,14 +1,8 @@
1
1
  module VBox
2
2
  class CPUChangedEvent < Event
3
3
 
4
- # Attributes
4
+ vb_attr :cpu
5
+ vb_attr :add
5
6
 
6
- def cpu
7
- VBox::WebService.send_request(:icpu_changed_event_get_cpu, _this)
8
- end
9
-
10
- def add
11
- VBox::WebService.send_request(:icpu_changed_event_get_add, _this)
12
- end
13
7
  end
14
8
  end
@@ -1,10 +1,7 @@
1
1
  module VBox
2
2
  class CPUExecutionCapChangedEvent < Event
3
3
 
4
- # Attributes
4
+ vb_attr :execution_cap
5
5
 
6
- def execution_cap
7
- VBox::WebService.send_request(:icpu_execution_cap_changed_event_get_execution_cap, _this)
8
- end
9
6
  end
10
7
  end
@@ -1,10 +1,7 @@
1
1
  module VBox
2
2
  class DragAndDropModeChangedEvent < Event
3
3
 
4
- # Attributes
4
+ vb_attr :drag_and_drop_mode
5
5
 
6
- def drag_and_drop_mode
7
- VBox::WebService.send_request(:i_drag_and_drop_mode_changed_event_get_drag_and_drop_mode, _this)
8
- end
9
6
  end
10
7
  end
@@ -1,15 +1,8 @@
1
1
  module VBox
2
2
  class EventSourceChangedEvent < Event
3
3
 
4
- # Attributes
4
+ vb_attr :listener
5
+ vb_attr :add
5
6
 
6
- def listener
7
- event_listener = VBox::WebService.send_request(:i_event_source_changed_event_get_listener, _this)
8
- VBox::EventListener.new(event_listener)
9
- end
10
-
11
- def add
12
- VBox::WebService.send_request(:i_event_source_changed_event_get_add, _this)
13
- end
14
7
  end
15
8
  end
@@ -1,18 +1,9 @@
1
1
  module VBox
2
2
  class ExtraDataCanChangeEvent < VetoEvent
3
3
 
4
- # Attributes
4
+ vb_attr :machine_id
5
+ vb_attr :key
6
+ vb_attr :value
5
7
 
6
- def machine_id
7
- VBox::WebService.send_request(:i_extra_data_can_change_event_get_machine_id, _this)
8
- end
9
-
10
- def key
11
- VBox::WebService.send_request(:i_extra_data_can_change_event_get_key, _this)
12
- end
13
-
14
- def value
15
- VBox::WebService.send_request(:i_extra_data_can_change_event_get_value, _this)
16
- end
17
8
  end
18
9
  end
@@ -1,18 +1,9 @@
1
1
  module VBox
2
2
  class ExtraDataChangedEvent < VetoEvent
3
3
 
4
- # Attributes
4
+ vb_attr :machine_id
5
+ vb_attr :key
6
+ vb_attr :value
5
7
 
6
- def machine_id
7
- VBox::WebService.send_request(:i_extra_data_changed_event_get_machine_id, _this)
8
- end
9
-
10
- def key
11
- VBox::WebService.send_request(:i_extra_data_changed_event_get_key, _this)
12
- end
13
-
14
- def value
15
- VBox::WebService.send_request(:i_extra_data_changed_event_get_value, _this)
16
- end
17
8
  end
18
9
  end
@@ -0,0 +1,7 @@
1
+ module VBox
2
+ class GuestFileEvent < GuestSessionEvent
3
+
4
+ vb_attr :file
5
+
6
+ end
7
+ end
@@ -0,0 +1,8 @@
1
+ module VBox
2
+ class GuestFileIOEvent < GuestFileEvent
3
+
4
+ vb_attr :offset
5
+ vb_attr :processed
6
+
7
+ end
8
+ end
@@ -0,0 +1,4 @@
1
+ module VBox
2
+ class GuestFileOffsetChangedEvent < GuestFileIOEvent
3
+ end
4
+ end
@@ -0,0 +1,6 @@
1
+ module VBox
2
+ class GuestFileReadEvent < GuestFileIOEvent
3
+
4
+ vb_attr :data, :force_array => true
5
+ end
6
+ end
@@ -0,0 +1,7 @@
1
+ module VBox
2
+ class GuestFileRegisteredEvent < GuestFileEvent
3
+
4
+ vb_attr :registered
5
+
6
+ end
7
+ end