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,44 @@
1
+ module VBox
2
+ class ParallelPort < Base
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def slot
9
+ VBox::WebService.send_request(:i_parallel_port_get_slot, _this)
10
+ end
11
+
12
+ def enabled
13
+ VBox::WebService.send_request(:i_parallel_port_get_enabled, _this)
14
+ end
15
+
16
+ def enabled=(enabled)
17
+ VBox::WebService.send_request(:i_parallel_port_set_enabled, _this.merge(:enabled => enabled))
18
+ end
19
+
20
+ def io_base
21
+ VBox::WebService.send_request(:i_parallel_port_get_io_base, _this)
22
+ end
23
+
24
+ def io_base=(io_base)
25
+ VBox::WebService.send_request(:i_parallel_port_set_io_base, _this.merge(:io_base => io_base))
26
+ end
27
+
28
+ def irq
29
+ VBox::WebService.send_request(:i_parallel_port_get_irq, _this)
30
+ end
31
+
32
+ def irq=(irq)
33
+ VBox::WebService.send_request(:i_parallel_port_set_irq, _this.merge(:irq => irq))
34
+ end
35
+
36
+ def path
37
+ VBox::WebService.send_request(:i_parallel_port_get_path, _this)
38
+ end
39
+
40
+ def path=(path)
41
+ VBox::WebService.send_request(:i_parallel_port_set_path, _this.merge(:path => path))
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,51 @@
1
+ module VBox
2
+ class PerformanceCollector < Base
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def metric_names
9
+ VBox::WebService.send_request(:i_performance_collector_get_metric_names, _this)
10
+ end
11
+
12
+ # Methods
13
+
14
+ def disable_metrics(args={})
15
+ ensure_hash(args)
16
+ performance_metrics = VBox::WebService.send_request(:i_performance_collector_disable_metrics, _this.merge(args))
17
+ performance_metrics.map do |performance_metric|
18
+ VBox::PerformanceMatric.new(performance_metric)
19
+ end
20
+ end
21
+
22
+ def enable_metrics(args={})
23
+ ensure_hash(args)
24
+ performance_metrics = VBox::WebService.send_request(:i_performance_collector_enable_metrics, _this.merge(args))
25
+ performance_metrics.map do |performance_metric|
26
+ VBox::PerformanceMatric.new(performance_metric)
27
+ end
28
+ end
29
+
30
+ def get_metrics(args={})
31
+ ensure_hash(args)
32
+ performance_metrics = VBox::WebService.send_request(:i_performance_collector_get_metrics, _this.merge(args))
33
+ performance_metrics.map do |performance_metric|
34
+ VBox::PerformanceMatric.new(performance_metric)
35
+ end
36
+ end
37
+
38
+ def query_metrics_data(args={})
39
+ ensure_hash(args)
40
+ VBox::WebService.send_request(:i_performance_collector_query_metrics_data, _this.merge(args))
41
+ end
42
+
43
+ def setup_metrics(args={})
44
+ ensure_hash(args)
45
+ performance_metrics = VBox::WebService.send_request(:i_performance_collector_setup_metrics, _this.merge(args))
46
+ performance_metrics.map do |performance_metric|
47
+ VBox::PerformanceMatric.new(performance_metric)
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,40 @@
1
+ module VBox
2
+ class PerformanceMetric < Base
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def metric_name
9
+ VBox::WebService.send_request(:i_performance_metric_get_metric_name, _this)
10
+ end
11
+
12
+ def object
13
+ VBox::WebService.send_request(:i_performance_metric_get_object, _this)
14
+ end
15
+
16
+ def description
17
+ VBox::WebService.send_request(:i_performance_metric_get_description, _this)
18
+ end
19
+
20
+ def period
21
+ VBox::WebService.send_request(:i_performance_metric_get_period, _this)
22
+ end
23
+
24
+ def count
25
+ VBox::WebService.send_request(:i_performance_metric_get_count, _this)
26
+ end
27
+
28
+ def unit
29
+ VBox::WebService.send_request(:i_performance_metric_get_unit, _this)
30
+ end
31
+
32
+ def minimum_value
33
+ VBox::WebService.send_request(:i_performance_metric_get_minimum_value, _this)
34
+ end
35
+
36
+ def maximum_value
37
+ VBox::WebService.send_request(:i_performance_metric_get_maximum_value, _this)
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,67 @@
1
+ module VBox
2
+ class Process < Base
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def pid
9
+ VBox::WebService.send_request(:i_process_get_pid, _this)
10
+ end
11
+
12
+ def status
13
+ VBox::WebService.send_request(:i_process_get_status, _this)
14
+ end
15
+
16
+ def exit_code
17
+ VBox::WebService.send_request(:i_process_get_exit_code, _this)
18
+ end
19
+
20
+ def environment
21
+ VBox::WebService.send_request(:i_process_get_environment, _this)
22
+ end
23
+
24
+ def arguments
25
+ VBox::WebService.send_request(:i_process_get_arguments, _this)
26
+ end
27
+
28
+ def executable_path
29
+ VBox::WebService.send_request(:i_process_get_executable_path, _this)
30
+ end
31
+
32
+ def name
33
+ VBox::WebService.send_request(:i_process_get_name, _this)
34
+ end
35
+
36
+ # Methods
37
+
38
+ def read(args={})
39
+ ensure_hash(args)
40
+ VBox::WebService.send_request(:i_process_read, _this.merge(args))
41
+ end
42
+
43
+ def terminate
44
+ VBox::WebService.send_request(:i_process_terminate, _this)
45
+ end
46
+
47
+ def wait_for(args={})
48
+ ensure_hash(args)
49
+ VBox::WebService.send_request(:i_process_wait_for, _this.merge(args))
50
+ end
51
+
52
+ def wait_for_array(args={})
53
+ ensure_hash(args)
54
+ VBox::WebService.send_request(:i_process_wait_for_array, _this.merge(args))
55
+ end
56
+
57
+ def write(args={})
58
+ ensure_hash(args)
59
+ VBox::WebService.send_request(:i_process_write, _this.merge(args))
60
+ end
61
+
62
+ def write_array(args={})
63
+ ensure_hash(args)
64
+ VBox::WebService.send_request(:i_process_write_array, _this.merge(args))
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,111 @@
1
+ module VBox
2
+ class Progress < Base
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def id
9
+ VBox::WebService.send_request(:i_progress_get_id, _this)
10
+ end
11
+
12
+ def description
13
+ VBox::WebService.send_request(:i_progress_get_description, _this)
14
+ end
15
+
16
+ def initiator
17
+ VBox::WebService.send_request(:i_progress_get_initiator, _this)
18
+ end
19
+
20
+ def cancelable
21
+ VBox::WebService.send_request(:i_progress_get_cancelable, _this)
22
+ end
23
+
24
+ def percent
25
+ VBox::WebService.send_request(:i_progress_get_percent, _this)
26
+ end
27
+
28
+ def time_remaining
29
+ VBox::WebService.send_request(:i_progress_get_time_remaining, _this)
30
+ end
31
+
32
+ def completed
33
+ VBox::WebService.send_request(:i_progress_get_completed, _this)
34
+ end
35
+
36
+ def canceled
37
+ VBox::WebService.send_request(:i_progress_get_canceled, _this)
38
+ end
39
+
40
+ def result_code
41
+ VBox::WebService.send_request(:i_progress_get_result_code, _this)
42
+ end
43
+
44
+ def error_info
45
+ error_info = VBox::WebService.send_request(:i_progress_get_error_info, _this)
46
+ VBox::VirtualBoxErrorInfo.new(error_info)
47
+ end
48
+
49
+ def operation_count
50
+ VBox::WebService.send_request(:i_progress_get_operation_count, _this)
51
+ end
52
+
53
+ def operation
54
+ VBox::WebService.send_request(:i_progress_get_operation, _this)
55
+ end
56
+
57
+ def operation_description
58
+ VBox::WebService.send_request(:i_progress_get_operation_description, _this)
59
+ end
60
+
61
+ def operation_percent
62
+ VBox::WebService.send_request(:i_progress_get_operation_percent, _this)
63
+ end
64
+
65
+ def operation_weight
66
+ VBox::WebService.send_request(:i_progress_get_operation_weight, _this)
67
+ end
68
+
69
+ def timeout
70
+ VBox::WebService.send_request(:i_progress_get_timeout, _this)
71
+ end
72
+
73
+ def timeout=(timeout)
74
+ VBox::WebService.send_request(:i_progress_set_timeout, _this.merge(:timeout => timeout))
75
+ end
76
+
77
+ # Methods
78
+
79
+ def cancel
80
+ VBox::WebService.send_request(:i_progress_cancel, _this)
81
+ end
82
+
83
+ def set_current_operation_progress(args={})
84
+ ensure_hash(args)
85
+ VBox::WebService.send_request(:i_progress_set_current_operation_progress, _this.merge(args))
86
+ end
87
+
88
+ def set_next_operation(args={})
89
+ ensure_hash(args)
90
+ VBox::WebService.send_request(:i_progress_set_next_operation, _this.merge(args))
91
+ end
92
+
93
+ def wait_for_async_progress_completion(args={})
94
+ ensure_hash(args)
95
+ if args.has_key?(:p_progress_async) & args[:p_progress_async].respond_to?(:ref)
96
+ args[:p_progress_async] = args[:p_progress_async].ref
97
+ end
98
+ VBox::WebService.send_request(:i_progress_wait_for_async_progress_completion, _this.merge(args))
99
+ end
100
+
101
+ def wait_for_completion(args={})
102
+ ensure_hash(args)
103
+ VBox::WebService.send_request(:i_progress_wait_for_completion, _this.merge(args))
104
+ end
105
+
106
+ def wait_for_operation_completion(args={})
107
+ ensure_hash(args)
108
+ VBox::WebService.send_request(:i_progress_wait_for_operation_completion, _this.merge(args))
109
+ end
110
+ end
111
+ end
@@ -0,0 +1,60 @@
1
+ module VBox
2
+ class SerialPort < Base
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def slot
9
+ VBox::WebService.send_request(:i_serial_port_get_slot, _this)
10
+ end
11
+
12
+ def enabled
13
+ VBox::WebService.send_request(:i_serial_port_get_enabled, _this)
14
+ end
15
+
16
+ def enabled=(enabled)
17
+ VBox::WebService.send_request(:i_serial_port_set_enabled, _this.merge(:enabled => enabled))
18
+ end
19
+
20
+ def io_base
21
+ VBox::WebService.send_request(:i_serial_port_get_io_base, _this)
22
+ end
23
+
24
+ def io_base=(io_base)
25
+ VBox::WebService.send_request(:i_serial_port_set_io_base, _this.merge(:io_base => io_base))
26
+ end
27
+
28
+ def irq
29
+ VBox::WebService.send_request(:i_serial_port_get_irq, _this)
30
+ end
31
+
32
+ def irq=(irq)
33
+ VBox::WebService.send_request(:i_serial_port_set_irq, _this.merge(:irq => irq))
34
+ end
35
+
36
+ def host_mode
37
+ VBox::WebService.send_request(:i_serial_port_get_host_mode, _this)
38
+ end
39
+
40
+ def host_mode=(host_mode)
41
+ VBox::WebService.send_request(:i_serial_port_set_host_mode, _this.merge(:host_mode => host_mode))
42
+ end
43
+
44
+ def server
45
+ VBox::WebService.send_request(:i_serial_port_get_server, _this)
46
+ end
47
+
48
+ def server=(server)
49
+ VBox::WebService.send_request(:i_serial_port_set_server, _this.merge(:server => server))
50
+ end
51
+
52
+ def path
53
+ VBox::WebService.send_request(:i_serial_port_get_path, _this)
54
+ end
55
+
56
+ def path=(path)
57
+ VBox::WebService.send_request(:i_serial_port_set_path, _this.merge(:path => path))
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,32 @@
1
+ module VBox
2
+ class Session < Base
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def state
9
+ VBox::WebService.send_request(:i_session_get_state, _this)
10
+ end
11
+
12
+ def type
13
+ VBox::WebService.send_request(:i_session_get_type, _this)
14
+ end
15
+
16
+ def machine
17
+ machine = VBox::WebService.send_request(:i_session_get_machine, _this)
18
+ VBox::Machine.new(machine)
19
+ end
20
+
21
+ def console
22
+ console = VBox::WebService.send_request(:i_session_get_console, _this)
23
+ VBox::Console.new(console)
24
+ end
25
+
26
+ # Methods
27
+
28
+ def unlock_machine
29
+ VBox::WebService.send_request(:i_session_unlock_machine, _this)
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,32 @@
1
+ module VBox
2
+ class SharedFolder < Base
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def name
9
+ VBox::WebService.send_request(:i_shared_folder_get_name, _this)
10
+ end
11
+
12
+ def host_path
13
+ VBox::WebService.send_request(:i_shared_folder_get_host_path, _this)
14
+ end
15
+
16
+ def accessible
17
+ VBox::WebService.send_request(:i_shared_folder_get_accessible, _this)
18
+ end
19
+
20
+ def writable
21
+ VBox::WebService.send_request(:i_shared_folder_get_writable, _this)
22
+ end
23
+
24
+ def auto_mount
25
+ VBox::WebService.send_request(:i_shared_folder_get_auto_mount, _this)
26
+ end
27
+
28
+ def last_access_error
29
+ VBox::WebService.send_request(:i_shared_folder_get_last_access_error, _this)
30
+ end
31
+ end
32
+ end