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,40 @@
1
+ module VBox
2
+ class NATRedirectEvent < MachineEvent
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def slot
9
+ VBox::WebService.send_request(:inat_redirect_event_get_slot, _this)
10
+ end
11
+
12
+ def remove
13
+ VBox::WebService.send_request(:inat_redirect_event_get_remove, _this)
14
+ end
15
+
16
+ def name
17
+ VBox::WebService.send_request(:inat_redirect_event_get_name, _this)
18
+ end
19
+
20
+ def proto
21
+ VBox::WebService.send_request(:inat_redirect_event_get_proto, _this)
22
+ end
23
+
24
+ def host_ip
25
+ VBox::WebService.send_request(:inat_redirect_event_get_host_ip, _this)
26
+ end
27
+
28
+ def host_port
29
+ VBox::WebService.send_request(:inat_redirect_event_get_host_port, _this)
30
+ end
31
+
32
+ def guest_ip
33
+ VBox::WebService.send_request(:inat_redirect_event_get_guest_ip, _this)
34
+ end
35
+
36
+ def guest_port
37
+ VBox::WebService.send_request(:inat_redirect_event_get_guest_port, _this)
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,13 @@
1
+ module VBox
2
+ class NetworkAdapterChangedEvent < Event
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def network_adapter
9
+ network_adapter = VBox::WebService.send_request(:i_network_adapter_changed_event_get_network_adapter, _this)
10
+ VBox::NetworkAdapter.new(network_adapter)
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ module VBox
2
+ class ParallelPortChangedEvent < Event
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def parallel_port
9
+ parallel_port = VBox::WebService.send_request(:i_parallel_port_changed_event_get_parallel_port, _this)
10
+ VBox::ParallelPort.new(parallel_port)
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,18 @@
1
+ module VBox
2
+ class ReusableEvent < Event
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def generation
9
+ VBox::WebService.send_request(:i_reusable_event_get_generation, _this)
10
+ end
11
+
12
+ # Methods
13
+
14
+ def reuse
15
+ VBox::WebService.send_request(:i_reusable_event_reuse, _this)
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,20 @@
1
+ module VBox
2
+ class RuntimeErrorEvent < Event
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def fatal
9
+ VBox::WebService.send_request(:i_runtime_error_event_get_fatal, _this)
10
+ end
11
+
12
+ def id
13
+ VBox::WebService.send_request(:i_runtime_error_event_get_id, _this)
14
+ end
15
+
16
+ def message
17
+ VBox::WebService.send_request(:i_runtime_error_event_get_message, _this)
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,13 @@
1
+ module VBox
2
+ class SerialPortChangedEvent < Event
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def serial_port
9
+ serial_port = VBox::WebService.send_request(:i_serial_port_changed_event_get_serial_port, _this)
10
+ VBox::SerialPort.new(serial_port)
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,12 @@
1
+ module VBox
2
+ class SessionStateChangedEvent < MachineEvent
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def state
9
+ VBox::WebService.send_request(:i_session_state_changed_event_get_state, _this)
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ module VBox
2
+ class SharedFolderChangedEvent < Event
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def scope
9
+ VBox::WebService.send_request(:i_shared_folder_changed_event_get_scope, _this)
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ module VBox
2
+ class ShowWindowEvent < MachineEvent
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def win_id
9
+ VBox::WebService.send_request(:i_show_window_event_get_win_id, _this)
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,7 @@
1
+ module VBox
2
+ class SnapshotChangedEvent < SnapshotEvent
3
+
4
+ attr_reader :ref
5
+
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ module VBox
2
+ class SnapshotDeletedEvent < SnapshotEvent
3
+
4
+ attr_reader :ref
5
+
6
+ end
7
+ end
@@ -0,0 +1,12 @@
1
+ module VBox
2
+ class SnapshotEvent < MachineEvent
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def snapshot_id
9
+ VBox::WebService.send_request(:i_snapshot_event_snapshot_id, _this)
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,7 @@
1
+ module VBox
2
+ class SnapshotTakenEvent < SnapshotEvent
3
+
4
+ attr_reader :ref
5
+
6
+ end
7
+ end
@@ -0,0 +1,12 @@
1
+ module VBox
2
+ class StateChangedEvent < Event
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def state
9
+ VBox::WebService.send_request(:i_state_changed_event_get_state, _this)
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,7 @@
1
+ module VBox
2
+ class StorageControllerChangedEvent < Event
3
+
4
+ attr_reader :ref
5
+
6
+ end
7
+ end
@@ -0,0 +1,16 @@
1
+ module VBox
2
+ class StorageDeviceChangedEvent < Event
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def storage_device
9
+ VBox::WebService.send_request(:i_storage_device_changed_event_get_storage_device, _this)
10
+ end
11
+
12
+ def removed
13
+ VBox::WebService.send_request(:i_storage_device_changed_event_get_removed, _this)
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,7 @@
1
+ module VBox
2
+ class USBControllerChangedEvent < Event
3
+
4
+ attr_reader :ref
5
+
6
+ end
7
+ end
@@ -0,0 +1,17 @@
1
+ module VBox
2
+ class USBDeviceStateChangedEvent < Event
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def device
9
+ usb_device = VBox::WebService.send_request(:iusb_device_state_changed_event_get_device, _this)
10
+ VBox::USBDevice.new(usb_device)
11
+ end
12
+
13
+ def attached
14
+ VBox::WebService.send_request(:iusb_device_state_changed_event_get_attached, _this)
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,12 @@
1
+ module VBox
2
+ class VBoxSVCAvailabilityChangedEvent < Event
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def available
9
+ VBox::WebService.send_request(:v_box_svc_availability_changed_event_get_available, _this)
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,21 @@
1
+ module VBox
2
+ class VetoEvent < Event
3
+
4
+ attr_reader :ref
5
+
6
+ # Methods
7
+
8
+ def add_veto(args={})
9
+ ensure_hash(args)
10
+ VBox::WebService.send_request(:i_veto_event_add_veto, _this.merge(args))
11
+ end
12
+
13
+ def get_vetos
14
+ VBox::WebService.send_request(:i_veto_event_get_vetos, _this)
15
+ end
16
+
17
+ def is_vetoed
18
+ VBox::WebService.send_request(:i_veto_event_is_vetod, _this)
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,7 @@
1
+ module VBox
2
+ class VRDEServerServerChangedEvent < Event
3
+
4
+ attr_reader :ref
5
+
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ module VBox
2
+ class VRDEServerServerInfoChangedEvent < Event
3
+
4
+ attr_reader :ref
5
+
6
+ end
7
+ end
@@ -0,0 +1,73 @@
1
+ module VBox
2
+ class File < Base
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def creation_mode
9
+ VBox::WebService.send_request(:i_file_get_creation_mode, _this)
10
+ end
11
+
12
+ def disposition
13
+ VBox::WebService.send_request(:i_file_get_disposition, _this)
14
+ end
15
+
16
+ def file_name
17
+ VBox::WebService.send_request(:i_file_get_file_name, _this)
18
+ end
19
+
20
+ def initial_size
21
+ VBox::WebService.send_request(:i_file_get_initial_size, _this)
22
+ end
23
+
24
+ def open_mode
25
+ VBox::WebService.send_request(:i_file_get_open_mode, _this)
26
+ end
27
+
28
+ def offset
29
+ VBox::WebService.send_request(:i_file_get_offset, _this)
30
+ end
31
+
32
+ # Methods
33
+
34
+ def close
35
+ VBox::WebService.send_request(:i_file_close, _this)
36
+ end
37
+
38
+ def query_info
39
+ info = VBox::WebService.send_request(:i_file_query_info, _this)
40
+ VBox::FsObjInfo.new(info)
41
+ end
42
+
43
+ def read(args={})
44
+ ensure_hash(args)
45
+ VBox::WebService.send_request(:i_file_read, _this.merge(args))
46
+ end
47
+
48
+ def read_at(args={})
49
+ ensure_hash(args)
50
+ VBox::WebService.send_request(:i_file_read_at, _this.merge(args))
51
+ end
52
+
53
+ def seek(args={})
54
+ ensure_hash(args)
55
+ VBox::WebService.send_request(:i_file_seek, _this.merge(args))
56
+ end
57
+
58
+ def set_acl(args={})
59
+ ensure_hash(args)
60
+ VBox::WebService.send_request(:i_file_set_acl, _this.merge(args))
61
+ end
62
+
63
+ def write(args={})
64
+ ensure_hash(args)
65
+ VBox::WebService.send_request(:i_file_write, _this.merge(args))
66
+ end
67
+
68
+ def write_at(args={})
69
+ ensure_hash(args)
70
+ VBox::WebService.send_request(:i_file_write_at, _this.merge(args))
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,84 @@
1
+ module VBox
2
+ class FsObjInfo < Base
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def access_time
9
+ VBox::WebService.send_request(:i_fs_obj_info_get_access_time, _this)
10
+ end
11
+
12
+ def allocated_size
13
+ VBox::WebService.send_request(:i_fs_obj_info_get_allocated_size, _this)
14
+ end
15
+
16
+ def birth_time
17
+ VBox::WebService.send_request(:i_fs_obj_info_get_birth_time, _this)
18
+ end
19
+
20
+ def change_time
21
+ VBox::WebService.send_request(:i_fs_obj_info_get_change_time, _this)
22
+ end
23
+
24
+ def device_number
25
+ VBox::WebService.send_request(:i_fs_obj_info_get_device_number, _this)
26
+ end
27
+
28
+ def file_attributes
29
+ VBox::WebService.send_request(:i_fs_obj_info_get_file_attributes, _this)
30
+ end
31
+
32
+ def generation_id
33
+ VBox::WebService.send_request(:i_fs_obj_info_get_generation_id, _this)
34
+ end
35
+
36
+ def gid
37
+ VBox::WebService.send_request(:i_fs_obj_info_get_git, _this)
38
+ end
39
+
40
+ def group_name
41
+ VBox::WebService.send_request(:i_fs_obj_info_get_group_name, _this)
42
+ end
43
+
44
+ def hard_links
45
+ VBox::WebService.send_request(:i_fs_obj_info_get_hard_links, _this)
46
+ end
47
+
48
+ def modification_time
49
+ VBox::WebService.send_request(:i_fs_obj_info_get_modification_time, _this)
50
+ end
51
+
52
+ def name
53
+ VBox::WebService.send_request(:i_fs_obj_info_get_name, _this)
54
+ end
55
+
56
+ def node_id
57
+ VBox::WebService.send_request(:i_fs_obj_info_get_node_id, _this)
58
+ end
59
+
60
+ def node_id_device
61
+ VBox::WebService.send_request(:i_fs_obj_info_get_node_id_device, _this)
62
+ end
63
+
64
+ def object_size
65
+ VBox::WebService.send_request(:i_fs_obj_info_get_object_size, _this)
66
+ end
67
+
68
+ def type
69
+ VBox::WebService.send_request(:i_fs_obj_info_get_type, _this)
70
+ end
71
+
72
+ def uid
73
+ VBox::WebService.send_request(:i_fs_obj_info_get_uid, _this)
74
+ end
75
+
76
+ def user_flags
77
+ VBox::WebService.send_request(:i_fs_obj_info_get_user_flags, _this)
78
+ end
79
+
80
+ def user_name
81
+ VBox::WebService.send_request(:i_fs_obj_info_get_user_name, _this)
82
+ end
83
+ end
84
+ end