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