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,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