virtualbox-ws 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (144) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +4 -2
  4. data/lib/core_ext/symbol.rb +17 -0
  5. data/lib/virtualbox-ws.rb +2 -0
  6. data/lib/virtualbox/base.rb +36 -24
  7. data/lib/virtualbox/classes/classes.rb +142 -0
  8. data/lib/virtualbox/classes/managed_object_ref.rb +2 -7
  9. data/lib/virtualbox/classes/websession_manager.rb +1 -2
  10. data/lib/virtualbox/savon_fix.rb +106 -0
  11. data/lib/virtualbox/version.rb +1 -1
  12. metadata +5 -134
  13. data/lib/virtualbox/classes/appliance.rb +0 -16
  14. data/lib/virtualbox/classes/audio_adapter.rb +0 -9
  15. data/lib/virtualbox/classes/bandwidth_control.rb +0 -12
  16. data/lib/virtualbox/classes/bandwidth_group.rb +0 -10
  17. data/lib/virtualbox/classes/bios_settings.rb +0 -16
  18. data/lib/virtualbox/classes/console.rb +0 -48
  19. data/lib/virtualbox/classes/dhcp_server.rb +0 -24
  20. data/lib/virtualbox/classes/directory.rb +0 -11
  21. data/lib/virtualbox/classes/display.rb +0 -16
  22. data/lib/virtualbox/classes/emulated_usb.rb +0 -10
  23. data/lib/virtualbox/classes/event.rb +0 -12
  24. data/lib/virtualbox/classes/event_listener.rb +0 -7
  25. data/lib/virtualbox/classes/event_source.rb +0 -13
  26. data/lib/virtualbox/classes/events/additions_state_changed_event.rb +0 -4
  27. data/lib/virtualbox/classes/events/bandwidth_group_changed_event.rb +0 -7
  28. data/lib/virtualbox/classes/events/can_show_window_event.rb +0 -4
  29. data/lib/virtualbox/classes/events/clipboard_mode_changed_event.rb +0 -7
  30. data/lib/virtualbox/classes/events/cpu_changed_event.rb +0 -8
  31. data/lib/virtualbox/classes/events/cpu_execution_cap_changed_event.rb +0 -7
  32. data/lib/virtualbox/classes/events/drag_and_drop_mode_changed_event.rb +0 -7
  33. data/lib/virtualbox/classes/events/event_source_changed_event.rb +0 -8
  34. data/lib/virtualbox/classes/events/extra_data_can_change_event.rb +0 -9
  35. data/lib/virtualbox/classes/events/extra_data_changed_event.rb +0 -9
  36. data/lib/virtualbox/classes/events/guest_file_event.rb +0 -7
  37. data/lib/virtualbox/classes/events/guest_file_io_event.rb +0 -8
  38. data/lib/virtualbox/classes/events/guest_file_offset_changed_event.rb +0 -4
  39. data/lib/virtualbox/classes/events/guest_file_read_event.rb +0 -6
  40. data/lib/virtualbox/classes/events/guest_file_registered_event.rb +0 -7
  41. data/lib/virtualbox/classes/events/guest_file_state_changed_event.rb +0 -8
  42. data/lib/virtualbox/classes/events/guest_file_write_event.rb +0 -4
  43. data/lib/virtualbox/classes/events/guest_keyboard_event.rb +0 -7
  44. data/lib/virtualbox/classes/events/guest_monitor_changed_event.rb +0 -12
  45. data/lib/virtualbox/classes/events/guest_mouse_event.rb +0 -12
  46. data/lib/virtualbox/classes/events/guest_multi_touch_event.rb +0 -12
  47. data/lib/virtualbox/classes/events/guest_process_event.rb +0 -8
  48. data/lib/virtualbox/classes/events/guest_process_input_notify_event.rb +0 -7
  49. data/lib/virtualbox/classes/events/guest_process_io_event.rb +0 -8
  50. data/lib/virtualbox/classes/events/guest_process_output_event.rb +0 -7
  51. data/lib/virtualbox/classes/events/guest_process_registered_event.rb +0 -7
  52. data/lib/virtualbox/classes/events/guest_process_state_changed_event.rb +0 -8
  53. data/lib/virtualbox/classes/events/guest_property_changed_event.rb +0 -9
  54. data/lib/virtualbox/classes/events/guest_session_event.rb +0 -7
  55. data/lib/virtualbox/classes/events/guest_session_registered_event.rb +0 -7
  56. data/lib/virtualbox/classes/events/guest_session_state_changed_event.rb +0 -9
  57. data/lib/virtualbox/classes/events/guest_user_state_changed_event.rb +0 -10
  58. data/lib/virtualbox/classes/events/host_name_resolution_configuration_change_event.rb +0 -4
  59. data/lib/virtualbox/classes/events/host_pci_device_plug_event.rb +0 -10
  60. data/lib/virtualbox/classes/events/keyboard_leds_changed_event.rb +0 -9
  61. data/lib/virtualbox/classes/events/machine_data_changed_event.rb +0 -7
  62. data/lib/virtualbox/classes/events/machine_event.rb +0 -7
  63. data/lib/virtualbox/classes/events/machine_registered_event.rb +0 -7
  64. data/lib/virtualbox/classes/events/machine_state_changed_event.rb +0 -7
  65. data/lib/virtualbox/classes/events/medium_changed_event.rb +0 -7
  66. data/lib/virtualbox/classes/events/medium_registered_event.rb +0 -9
  67. data/lib/virtualbox/classes/events/mouse_capability_changed_event.rb +0 -10
  68. data/lib/virtualbox/classes/events/mouse_pointer_shape_changed_event.rb +0 -13
  69. data/lib/virtualbox/classes/events/nat_network_alter_event.rb +0 -4
  70. data/lib/virtualbox/classes/events/nat_network_changed_event.rb +0 -7
  71. data/lib/virtualbox/classes/events/nat_network_creation_deletion_event.rb +0 -7
  72. data/lib/virtualbox/classes/events/nat_network_port_forward_event.rb +0 -14
  73. data/lib/virtualbox/classes/events/nat_network_setting_event.rb +0 -11
  74. data/lib/virtualbox/classes/events/nat_network_start_stop_event.rb +0 -7
  75. data/lib/virtualbox/classes/events/nat_redirect_event.rb +0 -14
  76. data/lib/virtualbox/classes/events/network_adapter_changed_event.rb +0 -7
  77. data/lib/virtualbox/classes/events/parallel_port_changed_event.rb +0 -7
  78. data/lib/virtualbox/classes/events/reusable_event.rb +0 -9
  79. data/lib/virtualbox/classes/events/runtime_error_event.rb +0 -9
  80. data/lib/virtualbox/classes/events/serial_port_changed_event.rb +0 -7
  81. data/lib/virtualbox/classes/events/session_state_changed_event.rb +0 -7
  82. data/lib/virtualbox/classes/events/shared_folder_changed_event.rb +0 -7
  83. data/lib/virtualbox/classes/events/show_window_event.rb +0 -7
  84. data/lib/virtualbox/classes/events/snapshot_changed_event.rb +0 -4
  85. data/lib/virtualbox/classes/events/snapshot_deleted_event.rb +0 -4
  86. data/lib/virtualbox/classes/events/snapshot_event.rb +0 -7
  87. data/lib/virtualbox/classes/events/snapshot_taken_event.rb +0 -4
  88. data/lib/virtualbox/classes/events/state_changed_event.rb +0 -7
  89. data/lib/virtualbox/classes/events/storage_controller_changed_event.rb +0 -4
  90. data/lib/virtualbox/classes/events/storage_device_changed_event.rb +0 -9
  91. data/lib/virtualbox/classes/events/usb_controller_changed_event.rb +0 -4
  92. data/lib/virtualbox/classes/events/usb_device_state_changed_event.rb +0 -9
  93. data/lib/virtualbox/classes/events/v_box_svc_availability_chaged_event.rb +0 -7
  94. data/lib/virtualbox/classes/events/veto_event.rb +0 -9
  95. data/lib/virtualbox/classes/events/video_capture_changed_event.rb +0 -4
  96. data/lib/virtualbox/classes/events/vrde_server_changed_event.rb +0 -4
  97. data/lib/virtualbox/classes/events/vrde_server_info_changed_event.rb +0 -4
  98. data/lib/virtualbox/classes/file.rb +0 -24
  99. data/lib/virtualbox/classes/framebuffer.rb +0 -21
  100. data/lib/virtualbox/classes/framebuffer_overlay.rb +0 -12
  101. data/lib/virtualbox/classes/fs_obj_info.rb +0 -25
  102. data/lib/virtualbox/classes/guest.rb +0 -31
  103. data/lib/virtualbox/classes/guest_directory.rb +0 -4
  104. data/lib/virtualbox/classes/guest_file.rb +0 -4
  105. data/lib/virtualbox/classes/guest_fs_obj_info.rb +0 -4
  106. data/lib/virtualbox/classes/guest_process.rb +0 -4
  107. data/lib/virtualbox/classes/guest_session.rb +0 -54
  108. data/lib/virtualbox/classes/host.rb +0 -43
  109. data/lib/virtualbox/classes/host_network_interface.rb +0 -26
  110. data/lib/virtualbox/classes/host_usb_device.rb +0 -7
  111. data/lib/virtualbox/classes/host_usb_device_filter.rb +0 -7
  112. data/lib/virtualbox/classes/host_video_input_device.rb +0 -9
  113. data/lib/virtualbox/classes/keyboard.rb +0 -11
  114. data/lib/virtualbox/classes/machine.rb +0 -162
  115. data/lib/virtualbox/classes/machine_debugger.rb +0 -49
  116. data/lib/virtualbox/classes/medium.rb +0 -48
  117. data/lib/virtualbox/classes/medium_format.rb +0 -12
  118. data/lib/virtualbox/classes/mouse.rb +0 -16
  119. data/lib/virtualbox/classes/nat_engine.rb +0 -20
  120. data/lib/virtualbox/classes/nat_network.rb +0 -26
  121. data/lib/virtualbox/classes/network_adapter.rb +0 -28
  122. data/lib/virtualbox/classes/parallel_port.rb +0 -11
  123. data/lib/virtualbox/classes/pci_address.rb +0 -12
  124. data/lib/virtualbox/classes/performance_collector.rb +0 -13
  125. data/lib/virtualbox/classes/performance_metric.rb +0 -14
  126. data/lib/virtualbox/classes/process.rb +0 -21
  127. data/lib/virtualbox/classes/progress.rb +0 -29
  128. data/lib/virtualbox/classes/serial_port.rb +0 -13
  129. data/lib/virtualbox/classes/session.rb +0 -12
  130. data/lib/virtualbox/classes/shared_folder.rb +0 -12
  131. data/lib/virtualbox/classes/snapshot.rb +0 -16
  132. data/lib/virtualbox/classes/storage_controller.rb +0 -16
  133. data/lib/virtualbox/classes/system_properties.rb +0 -44
  134. data/lib/virtualbox/classes/token.rb +0 -8
  135. data/lib/virtualbox/classes/usb_controller.rb +0 -9
  136. data/lib/virtualbox/classes/usb_device.rb +0 -18
  137. data/lib/virtualbox/classes/usb_device_filter.rb +0 -17
  138. data/lib/virtualbox/classes/usb_device_filters.rb +0 -11
  139. data/lib/virtualbox/classes/vfs_explorer.rb +0 -15
  140. data/lib/virtualbox/classes/virtual_box.rb +0 -54
  141. data/lib/virtualbox/classes/virtual_box_error_info.rb +0 -12
  142. data/lib/virtualbox/classes/virtual_system_description.rb +0 -12
  143. data/lib/virtualbox/classes/vrde_server.rb +0 -17
  144. data/lib/virtualbox/classes/vrde_server_info.rb +0 -21
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e33d4acade88971b5607d1e13f3fcc4f1c4ac7e0
4
- data.tar.gz: eb2d70ccd97bae4c427ce2d8453fdcae49a16ba9
3
+ metadata.gz: 1b3b1756ffd8ee4c046cba00541b3d9bae014300
4
+ data.tar.gz: 0851c61196fb720b80897bc6cf4c93da30ee3c8e
5
5
  SHA512:
6
- metadata.gz: 25944ebc6812e8e3b05ceb90404b6272a97be94958dfa679df343f41dd0c5de399bd7906bd86c4c7e558abae8a7115ea1247e6aa183c683de4a48e284d03babc
7
- data.tar.gz: fdeff8a9318379b769984e6b92247367633e80918a5f50c860f9f8beb716efd67823132df612bfd712610a6278d6083f20379f9fe5cec2c72ed44616a40990ed
6
+ metadata.gz: 2c6c611ed88ab4fd79c4625459f424134115f60184891491cf50ee68429f65000d94f3ad22a3a052cf3c0c059d5bef0bb5beba29c24d748caf76ef046d6eb56b
7
+ data.tar.gz: 9663098339eed095bfa5b3106c3c7cf5987e0889222902da920b76601396f7393e1e08c5afcf54e55708e6c62e23f3efacc1a390aee396d0d7bb7b40f5c340c0
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- virtualbox-ws (0.0.7)
4
+ virtualbox-ws (0.0.8)
5
5
  require_all
6
6
  savon
7
7
 
data/README.md CHANGED
@@ -110,7 +110,8 @@ machine = virtual_box.create_machine(:name => 'machine_1112678', :os_type_id =>
110
110
  virtual_box.register_machine(:machine => machine)
111
111
 
112
112
  # Create a 50GB hard disk
113
- hard_disk = virtual_box.create_hard_disk(:format => 'vdi', :location => machine.settings_file_path.gsub('vbox', 'vdi'))
113
+ hard_disk = virtual_box.create_hard_disk(:format => virtual_box.system_properties.default_hard_disk_format,
114
+ :location => machine.settings_file_path.gsub('vbox', 'vdi'))
114
115
  hard_disk.create_base_storage(:logical_size => 50000000000)
115
116
 
116
117
  # Lock the VM for editing and obtain a mutable instance
@@ -131,7 +132,8 @@ mutable.attach_device(:name => 'SATA1', :type => 'HardDisk', :medium => hard_dis
131
132
 
132
133
  # Add an ISO image
133
134
  mutable.add_storage_controller(:name => 'IDE1', :connection_type => 'IDE')
134
- iso = virtual_box.open_medium(:location => '/home/ay/Downloads/ubuntu-12.04.3-server-amd64.iso', :device_type => 'DVD')
135
+ iso = virtual_box.open_medium(:location => File.expand_path('~/ubuntu-14.04.1-server-amd64.iso'),
136
+ :device_type => 'DVD')
135
137
  mutable.attach_device(:name => 'IDE1', :type => 'DVD', :medium => iso)
136
138
 
137
139
  # Set network adapter to bridged interface
@@ -0,0 +1,17 @@
1
+ class Symbol
2
+ def chop
3
+ self.to_s.chop.to_sym
4
+ end
5
+
6
+ def gsub(*args)
7
+ self.to_s.gsub(*args).to_sym
8
+ end
9
+
10
+ def end_with?(*args)
11
+ self.to_s.end_with?(*args)
12
+ end
13
+
14
+ def include?(*args)
15
+ self.to_s.include?(*args)
16
+ end
17
+ end
data/lib/virtualbox-ws.rb CHANGED
@@ -1,7 +1,9 @@
1
1
  require 'require_all'
2
2
  require_rel 'core_ext'
3
+ require_rel 'virtualbox/savon_fix'
3
4
  require_rel 'virtualbox/base'
4
5
  require_rel 'virtualbox/configuration'
5
6
  require_rel 'virtualbox/exceptions'
6
7
  require_rel 'virtualbox/webservice'
7
8
  require_rel 'virtualbox/classes/websession_manager'
9
+ require_rel 'virtualbox/classes/managed_object_ref'
@@ -14,7 +14,7 @@ module VBox
14
14
  end
15
15
 
16
16
  def ensure_hash(args)
17
- raise ArgumentError, 'Method arguments must be a hash' unless args.is_a?(Hash)
17
+ args.is_a?(Hash) ? args : raise(ArgumentError, 'Method arguments must be a hash')
18
18
  end
19
19
 
20
20
  def self.soap_method(method_name, modifier=nil)
@@ -57,34 +57,46 @@ module VBox
57
57
  end
58
58
  end
59
59
 
60
- def self.vb_attr(name, options={})
61
- force_array = options[:force_array]
62
- force_tag = options[:force_tag]
63
- force_savon_method = options[:force_savon_method]
64
-
65
- native_name = force_savon_method || name
66
-
67
- define_method(name) do
68
- result = WebService.send_request(soap_method(native_name, 'get'), _this)
69
- process_result(result, force_array)
70
- end
60
+ def fix_savon_method_name(method_name)
61
+ method_name.
62
+ gsub('_3d_', '3_d_').
63
+ gsub('_2d_', '2_d_').
64
+ gsub('_ipv6_', '_i_pv6_')
65
+ end
71
66
 
72
- define_method("#{name}=") do |value|
73
- soap_message = {force_tag ? force_tag : native_name => value}
74
- result = WebService.send_request(soap_method(native_name, 'set'), _this.merge(soap_message))
75
- process_result(result)
76
- end if WebService.operations.include?(soap_method(native_name, 'set'))
67
+ def fix_savon_tag_name(method_name)
68
+ WebService::BROKEN_TAGS[method_name] if WebService::BROKEN_TAGS.include?(method_name)
77
69
  end
78
70
 
79
- def self.vb_method(name, options={})
80
- force_array = options[:force_array]
71
+ def arrayize?(method_name)
72
+ WebService::BROKEN_ARRAYS.include? method_name
73
+ end
81
74
 
82
- define_method(name) do |meth_args = {}|
83
- ensure_hash meth_args
84
- meth_args.referize!
85
- result = WebService.send_request(soap_method(name), _this.merge(meth_args))
86
- process_result(result, force_array)
75
+ def method_missing(name, *args)
76
+ name = fix_savon_method_name name
77
+ if name.end_with? '='
78
+ name = name.chop
79
+ savon_method = soap_method(name, 'set')
80
+ if WebService.operations.include?(savon_method)
81
+ savon_tag = fix_savon_tag_name(savon_method) || name
82
+ soap_body = _this.merge(savon_tag => args[0])
83
+ else
84
+ return super
85
+ end
86
+ else
87
+ if WebService.operations.include?(soap_method(name, 'get'))
88
+ savon_method = soap_method(name, 'get')
89
+ soap_body = _this
90
+ elsif WebService.operations.include?(soap_method(name))
91
+ savon_method = soap_method(name)
92
+ args_hash = ensure_hash(args[-1] || {})
93
+ soap_body = _this.merge(args_hash.referize!)
94
+ else
95
+ return super
96
+ end
87
97
  end
98
+ request = WebService.send_request(savon_method, soap_body)
99
+ process_result(request, arrayize?(savon_method))
88
100
  end
89
101
  end
90
102
  end
@@ -0,0 +1,142 @@
1
+ module VBox
2
+
3
+ CLASSES = [
4
+ 'Appliance',
5
+ 'AudioAdapter',
6
+ 'BandwidthControl',
7
+ 'BandwidthGroup',
8
+ 'BIOSSettings',
9
+ 'Console',
10
+ 'DHCPServer',
11
+ 'Directory',
12
+ 'Display',
13
+ 'EmulatedUSB',
14
+ 'Event',
15
+ 'EventListener',
16
+ 'EventSource',
17
+ 'File',
18
+ 'Framebuffer',
19
+ 'FramebufferOverlay',
20
+ 'FsObjInfo',
21
+ 'Guest',
22
+ 'GuestDirectory',
23
+ 'GuestFile',
24
+ 'GuestFsObjInfo',
25
+ 'GuestProcess',
26
+ 'GuestSession',
27
+ 'Host',
28
+ 'HostNetworkInterface',
29
+ 'HostUSBDevice',
30
+ 'HostUSBDeviceFilter',
31
+ 'HostVideoInputDevice',
32
+ 'Keyboard',
33
+ 'Machine',
34
+ 'MachineDebugger',
35
+ 'Medium',
36
+ 'MediumFormat',
37
+ 'Mouse',
38
+ 'NATEngine',
39
+ 'NATNetwork',
40
+ 'NetworkAdapter',
41
+ 'ParallelPort',
42
+ 'PCIAddress',
43
+ 'PerformanceCollector',
44
+ 'PerformanceMetric',
45
+ 'Process',
46
+ 'Progress',
47
+ 'SerialPort',
48
+ 'Session',
49
+ 'SharedFolder',
50
+ 'Snapshot',
51
+ 'StorageController',
52
+ 'SystemProperties',
53
+ 'Token',
54
+ 'USBController',
55
+ 'USBDevice',
56
+ 'USBDeviceFilter',
57
+ 'USBDeviceFilters',
58
+ 'VFSExplorer',
59
+ 'VirtualBox',
60
+ 'VirtualBoxErrorInfo',
61
+ 'VirtualSystemDescription',
62
+ 'VRDEServer',
63
+ 'VRDEServerInfo',
64
+ 'AdditionsStateChangedEvent',
65
+ 'BandwidthGroupChangedEvent',
66
+ 'CanShowWindowEvent',
67
+ 'ClipboardModeChangedEvent',
68
+ 'CPUChangedEvent',
69
+ 'CPUExecutionCapChangedEvent',
70
+ 'DragAndDropModeChangedEvent',
71
+ 'EventSourceChangedEvent',
72
+ 'ExtraDataCanChangeEvent',
73
+ 'ExtraDataChangedEvent',
74
+ 'GuestFileEvent',
75
+ 'GuestFileIOEvent',
76
+ 'GuestFileOffsetChangedEvent',
77
+ 'GuestFileReadEvent',
78
+ 'GuestFileRegisteredEvent',
79
+ 'GuestFileStateChangedEvent',
80
+ 'GuestFileWriteEvent',
81
+ 'GuestKeyboardEvent',
82
+ 'GuestMonitorChangedEvent',
83
+ 'GuestMouseEvent',
84
+ 'GuestMultiTouchEvent',
85
+ 'GuestProcessEvent',
86
+ 'GuestProcessInputNotifyEvent',
87
+ 'GuestProcessIOEvent',
88
+ 'GuestProcessOutputEvent',
89
+ 'GuestProcessRegisteredEvent',
90
+ 'GuestProcessStateChangedEvent',
91
+ 'GuestPropertyChangedEvent',
92
+ 'GuestSessionEvent',
93
+ 'GuestSessionRegisteredEvent',
94
+ 'GuestSessionStateChangedEvent',
95
+ 'GuestUserStateChangedEvent',
96
+ 'HostNameResolutionConfigurationChangeEvent',
97
+ 'HostPCIDevicePlugEvent',
98
+ 'KeyboardLedsChangedEvent',
99
+ 'MachineDataChangedEvent',
100
+ 'MachineEvent',
101
+ 'MachineRegisteredEvent',
102
+ 'MachineStateChangedEvent',
103
+ 'MediumChangedEvent',
104
+ 'MediumRegisteredEvent',
105
+ 'MouseCapabilityChangedEvent',
106
+ 'MousePointerShapeChangedEvent',
107
+ 'NATNetworkAlterEvent',
108
+ 'NATNetworkChangedEvent',
109
+ 'NATNetworkCreationDeletionEvent',
110
+ 'NATNetworkPortForwardEvent',
111
+ 'NATNetworkSettingEvent',
112
+ 'NATNetworkStartStopEvent',
113
+ 'NATRedirectEvent',
114
+ 'NetworkAdapterChangedEvent',
115
+ 'ParallelPortChangedEvent',
116
+ 'ReusableEvent',
117
+ 'RuntimeErrorEvent',
118
+ 'SerialPortChangedEvent',
119
+ 'SessionStateChangedEvent',
120
+ 'SharedFolderChangedEvent',
121
+ 'ShowWindowEvent',
122
+ 'SnapshotChangedEvent',
123
+ 'SnapshotDeletedEvent',
124
+ 'SnapshotEvent',
125
+ 'SnapshotTakenEvent',
126
+ 'StateChangedEvent',
127
+ 'StorageControllerChangedEvent',
128
+ 'StorageDeviceChangedEvent',
129
+ 'USBControllerChangedEvent',
130
+ 'USBDeviceStateChangedEvent',
131
+ 'VBoxSVCAvailabilityChangedEvent',
132
+ 'VetoEvent',
133
+ 'VideoCaptureChangedEvent',
134
+ 'VRDEServerChangedEvent',
135
+ 'VRDEServerInfoChangedEvent'
136
+ ]
137
+
138
+ CLASSES.each do |klass|
139
+ VBox.const_set klass, Class.new(Base)
140
+ end
141
+
142
+ end
@@ -1,8 +1,3 @@
1
1
  module VBox
2
- class ManagedObjectRef < Base
3
-
4
- vb_method :get_interface_name
5
- vb_method :release
6
-
7
- end
8
- end
2
+ class ManagedObjectRef < Base; end
3
+ end
@@ -4,7 +4,7 @@ module VBox
4
4
  def initialize
5
5
  WebService.connect
6
6
  @ref = nil
7
- require_rel '/../classes'
7
+ require_rel 'classes'
8
8
  end
9
9
 
10
10
  def _this
@@ -27,6 +27,5 @@ module VBox
27
27
  @ref = nil
28
28
  end
29
29
 
30
- vb_method :get_session_object
31
30
  end
32
31
  end
@@ -0,0 +1,106 @@
1
+ module VBox
2
+ module WebService
3
+
4
+ BROKEN_TAGS = {
5
+ :i_bios_settings_set_acpi_enabled => 'ACPIEnabled',
6
+ :i_bios_settings_set_ioapic_enabled => 'IOAPICEnabled',
7
+ :i_bios_settings_set_pxe_debug_enabled => 'PXEDebugEnabled',
8
+ :i_machine_set_os_type_id => 'OSTypeId',
9
+ :i_machine_set_cpu_count => 'CPUCount',
10
+ :i_machine_set_cpu_hot_plug_enabled => 'CPUHotPlugEnabled',
11
+ :i_machine_set_cpu_execution_cap => 'CPUExecutionCap',
12
+ :i_machine_set_vram_size => 'VRAMSize',
13
+ :i_machine_set_hpet_enabled => 'HPETEnabled',
14
+ :i_machine_set_rtc_use_utc => 'RTCUseUTC',
15
+ :i_machine_set_io_cache_enabled => 'IOCacheEnabled',
16
+ :i_machine_set_io_cache_size => 'IOCacheSize',
17
+ :i_machine_debugger_set_patm_enabled => 'PATMEnabled',
18
+ :i_machine_debugger_set_csam_enabled => 'CSAMEnabled',
19
+ :i_nat_engine_set_tftp_prefix => 'TFTPPrefix',
20
+ :i_nat_engine_set_tftp_boot_file => 'TFTPBootFile',
21
+ :i_nat_engine_set_tftp_next_server => 'TFTPNextServer',
22
+ :i_nat_engine_set_dns_pass_domain => 'DNSPassDomain',
23
+ :i_nat_engine_set_dns_proxy => 'DNSProxy',
24
+ :i_nat_engine_set_dns_use_host_resolver => 'DNSUseHostResolver',
25
+ :i_nat_network_set_ipv6_enabled => 'IPv6Enabled',
26
+ :i_nat_network_set_ipv6_prefix => 'IPv6Prefix',
27
+ :i_nat_network_set_advertise_default_ipv6_route_enabled => 'advertiseDefaultIPv6RouteEnabled',
28
+ :i_network_adapter_set_mac_address => 'MACAddress',
29
+ :i_network_adapter_set_nat_network => 'NATNetwork',
30
+ :i_parallel_port_set_io_base => 'IOBase',
31
+ :i_serial_port_set_io_base => 'IOBase',
32
+ :i_system_properties_set_vrde_aurh_library => 'VRDEAuthLibrary',
33
+ :i_vrde_server_set_vrde_ext_pack => 'VRDEExtPack',
34
+ }
35
+
36
+ BROKEN_ARRAYS = [
37
+ :i_appliance_get_disks,
38
+ :i_appliance_get_virtual_system_descriptions,
39
+ :i_appliance_get_machines,
40
+ :i_appliance_get_warnings,
41
+ :i_bandwidth_control_get_all_bandwidth_groups,
42
+ :i_console_get_usb_devices,
43
+ :i_console_get_remote_usb_devices,
44
+ :i_console_get_shared_folders,
45
+ :i_guest_file_read_event_get_data,
46
+ :i_guest_multi_touch_event_get_x_positions,
47
+ :i_guest_multi_touch_event_get_y_positions,
48
+ :i_guest_multi_touch_event_get_contact_ids,
49
+ :i_guest_multi_touch_event_get_contact_flags,
50
+ :i_guest_process_output_event_get_data,
51
+ :i_veto_event_get_vetos,
52
+ :i_guest_get_sessions,
53
+ :i_guest_session_get_processes,
54
+ :i_guest_session_get_directories,
55
+ :i_guest_session_get_files,
56
+ :i_host_get_dvd_drives,
57
+ :i_host_get_floppy_drives,
58
+ :i_host_get_usb_devices,
59
+ :i_host_get_usb_device_filters,
60
+ :i_host_get_network_interfaces,
61
+ :i_host_get_name_servers,
62
+ :i_host_get_search_strings,
63
+ :i_host_find_host_network_interfaces_of_type,
64
+ :i_machine_get_groups,
65
+ :i_machine_get_video_capture_screens,
66
+ :i_machine_get_usb_controllers,
67
+ :i_machine_get_usb_device_filter,
68
+ :i_machine_get_storage_controllers,
69
+ :i_machine_get_shared_folders,
70
+ :i_machine_get_extra_data_keys,
71
+ :i_machine_unregister,
72
+ :i_medium_get_allowed_types,
73
+ :i_medium_get_children,
74
+ :i_medium_get_machine_ids,
75
+ :i_medium_get_properties,
76
+ :i_medium_get_snapshot_ids,
77
+ :i_medium_format_get_capabilities,
78
+ :i_network_adapter_get_properties,
79
+ :i_performance_collector_disable_metrics,
80
+ :i_performance_collector_enable_metrics,
81
+ :i_performance_collector_get_metrics,
82
+ :i_performance_collector_query_metics_data,
83
+ :i_performance_collector_setup_metrics,
84
+ :i_process_get_arguments,
85
+ :i_process_get_environment,
86
+ :i_process_read,
87
+ :i_system_properties_get_medium_formats,
88
+ :i_system_properties_get_device_types_for_storage_bus,
89
+ :i_virtual_box_get_machines,
90
+ :i_virtual_box_get_machine_groups,
91
+ :i_virtual_box_get_hard_disks,
92
+ :i_virtual_box_get_dvd_images,
93
+ :i_virtual_box_get_floppy_images,
94
+ :i_virtual_box_get_progress_operations,
95
+ :i_virtual_box_get_shared_folders,
96
+ :i_virtual_box_get_dhcp_servers,
97
+ :i_virtual_box_get_nat_networks,
98
+ :i_virtual_box_get_internal_networks,
99
+ :i_virtual_box_get_generic_network_drivers,
100
+ :i_virtual_box_get_extra_data_keys,
101
+ :i_virtual_box_get_machine_states,
102
+ :i_virtual_box_get_machines_by_groups
103
+ ]
104
+
105
+ end
106
+ end
@@ -1,3 +1,3 @@
1
1
  module VBox
2
- VERSION = '0.0.7'
2
+ VERSION = '0.0.8'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: virtualbox-ws
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andriy Yurchuk
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-14 00:00:00.000000000 Z
11
+ date: 2014-08-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: require_all
@@ -53,144 +53,15 @@ files:
53
53
  - README.md
54
54
  - lib/core_ext/hash.rb
55
55
  - lib/core_ext/string.rb
56
+ - lib/core_ext/symbol.rb
56
57
  - lib/virtualbox-ws.rb
57
58
  - lib/virtualbox/base.rb
58
- - lib/virtualbox/classes/appliance.rb
59
- - lib/virtualbox/classes/audio_adapter.rb
60
- - lib/virtualbox/classes/bandwidth_control.rb
61
- - lib/virtualbox/classes/bandwidth_group.rb
62
- - lib/virtualbox/classes/bios_settings.rb
63
- - lib/virtualbox/classes/console.rb
64
- - lib/virtualbox/classes/dhcp_server.rb
65
- - lib/virtualbox/classes/directory.rb
66
- - lib/virtualbox/classes/display.rb
67
- - lib/virtualbox/classes/emulated_usb.rb
68
- - lib/virtualbox/classes/event.rb
69
- - lib/virtualbox/classes/event_listener.rb
70
- - lib/virtualbox/classes/event_source.rb
71
- - lib/virtualbox/classes/events/additions_state_changed_event.rb
72
- - lib/virtualbox/classes/events/bandwidth_group_changed_event.rb
73
- - lib/virtualbox/classes/events/can_show_window_event.rb
74
- - lib/virtualbox/classes/events/clipboard_mode_changed_event.rb
75
- - lib/virtualbox/classes/events/cpu_changed_event.rb
76
- - lib/virtualbox/classes/events/cpu_execution_cap_changed_event.rb
77
- - lib/virtualbox/classes/events/drag_and_drop_mode_changed_event.rb
78
- - lib/virtualbox/classes/events/event_source_changed_event.rb
79
- - lib/virtualbox/classes/events/extra_data_can_change_event.rb
80
- - lib/virtualbox/classes/events/extra_data_changed_event.rb
81
- - lib/virtualbox/classes/events/guest_file_event.rb
82
- - lib/virtualbox/classes/events/guest_file_io_event.rb
83
- - lib/virtualbox/classes/events/guest_file_offset_changed_event.rb
84
- - lib/virtualbox/classes/events/guest_file_read_event.rb
85
- - lib/virtualbox/classes/events/guest_file_registered_event.rb
86
- - lib/virtualbox/classes/events/guest_file_state_changed_event.rb
87
- - lib/virtualbox/classes/events/guest_file_write_event.rb
88
- - lib/virtualbox/classes/events/guest_keyboard_event.rb
89
- - lib/virtualbox/classes/events/guest_monitor_changed_event.rb
90
- - lib/virtualbox/classes/events/guest_mouse_event.rb
91
- - lib/virtualbox/classes/events/guest_multi_touch_event.rb
92
- - lib/virtualbox/classes/events/guest_process_event.rb
93
- - lib/virtualbox/classes/events/guest_process_input_notify_event.rb
94
- - lib/virtualbox/classes/events/guest_process_io_event.rb
95
- - lib/virtualbox/classes/events/guest_process_output_event.rb
96
- - lib/virtualbox/classes/events/guest_process_registered_event.rb
97
- - lib/virtualbox/classes/events/guest_process_state_changed_event.rb
98
- - lib/virtualbox/classes/events/guest_property_changed_event.rb
99
- - lib/virtualbox/classes/events/guest_session_event.rb
100
- - lib/virtualbox/classes/events/guest_session_registered_event.rb
101
- - lib/virtualbox/classes/events/guest_session_state_changed_event.rb
102
- - lib/virtualbox/classes/events/guest_user_state_changed_event.rb
103
- - lib/virtualbox/classes/events/host_name_resolution_configuration_change_event.rb
104
- - lib/virtualbox/classes/events/host_pci_device_plug_event.rb
105
- - lib/virtualbox/classes/events/keyboard_leds_changed_event.rb
106
- - lib/virtualbox/classes/events/machine_data_changed_event.rb
107
- - lib/virtualbox/classes/events/machine_event.rb
108
- - lib/virtualbox/classes/events/machine_registered_event.rb
109
- - lib/virtualbox/classes/events/machine_state_changed_event.rb
110
- - lib/virtualbox/classes/events/medium_changed_event.rb
111
- - lib/virtualbox/classes/events/medium_registered_event.rb
112
- - lib/virtualbox/classes/events/mouse_capability_changed_event.rb
113
- - lib/virtualbox/classes/events/mouse_pointer_shape_changed_event.rb
114
- - lib/virtualbox/classes/events/nat_network_alter_event.rb
115
- - lib/virtualbox/classes/events/nat_network_changed_event.rb
116
- - lib/virtualbox/classes/events/nat_network_creation_deletion_event.rb
117
- - lib/virtualbox/classes/events/nat_network_port_forward_event.rb
118
- - lib/virtualbox/classes/events/nat_network_setting_event.rb
119
- - lib/virtualbox/classes/events/nat_network_start_stop_event.rb
120
- - lib/virtualbox/classes/events/nat_redirect_event.rb
121
- - lib/virtualbox/classes/events/network_adapter_changed_event.rb
122
- - lib/virtualbox/classes/events/parallel_port_changed_event.rb
123
- - lib/virtualbox/classes/events/reusable_event.rb
124
- - lib/virtualbox/classes/events/runtime_error_event.rb
125
- - lib/virtualbox/classes/events/serial_port_changed_event.rb
126
- - lib/virtualbox/classes/events/session_state_changed_event.rb
127
- - lib/virtualbox/classes/events/shared_folder_changed_event.rb
128
- - lib/virtualbox/classes/events/show_window_event.rb
129
- - lib/virtualbox/classes/events/snapshot_changed_event.rb
130
- - lib/virtualbox/classes/events/snapshot_deleted_event.rb
131
- - lib/virtualbox/classes/events/snapshot_event.rb
132
- - lib/virtualbox/classes/events/snapshot_taken_event.rb
133
- - lib/virtualbox/classes/events/state_changed_event.rb
134
- - lib/virtualbox/classes/events/storage_controller_changed_event.rb
135
- - lib/virtualbox/classes/events/storage_device_changed_event.rb
136
- - lib/virtualbox/classes/events/usb_controller_changed_event.rb
137
- - lib/virtualbox/classes/events/usb_device_state_changed_event.rb
138
- - lib/virtualbox/classes/events/v_box_svc_availability_chaged_event.rb
139
- - lib/virtualbox/classes/events/veto_event.rb
140
- - lib/virtualbox/classes/events/video_capture_changed_event.rb
141
- - lib/virtualbox/classes/events/vrde_server_changed_event.rb
142
- - lib/virtualbox/classes/events/vrde_server_info_changed_event.rb
143
- - lib/virtualbox/classes/file.rb
144
- - lib/virtualbox/classes/framebuffer.rb
145
- - lib/virtualbox/classes/framebuffer_overlay.rb
146
- - lib/virtualbox/classes/fs_obj_info.rb
147
- - lib/virtualbox/classes/guest.rb
148
- - lib/virtualbox/classes/guest_directory.rb
149
- - lib/virtualbox/classes/guest_file.rb
150
- - lib/virtualbox/classes/guest_fs_obj_info.rb
151
- - lib/virtualbox/classes/guest_process.rb
152
- - lib/virtualbox/classes/guest_session.rb
153
- - lib/virtualbox/classes/host.rb
154
- - lib/virtualbox/classes/host_network_interface.rb
155
- - lib/virtualbox/classes/host_usb_device.rb
156
- - lib/virtualbox/classes/host_usb_device_filter.rb
157
- - lib/virtualbox/classes/host_video_input_device.rb
158
- - lib/virtualbox/classes/keyboard.rb
159
- - lib/virtualbox/classes/machine.rb
160
- - lib/virtualbox/classes/machine_debugger.rb
59
+ - lib/virtualbox/classes/classes.rb
161
60
  - lib/virtualbox/classes/managed_object_ref.rb
162
- - lib/virtualbox/classes/medium.rb
163
- - lib/virtualbox/classes/medium_format.rb
164
- - lib/virtualbox/classes/mouse.rb
165
- - lib/virtualbox/classes/nat_engine.rb
166
- - lib/virtualbox/classes/nat_network.rb
167
- - lib/virtualbox/classes/network_adapter.rb
168
- - lib/virtualbox/classes/parallel_port.rb
169
- - lib/virtualbox/classes/pci_address.rb
170
- - lib/virtualbox/classes/performance_collector.rb
171
- - lib/virtualbox/classes/performance_metric.rb
172
- - lib/virtualbox/classes/process.rb
173
- - lib/virtualbox/classes/progress.rb
174
- - lib/virtualbox/classes/serial_port.rb
175
- - lib/virtualbox/classes/session.rb
176
- - lib/virtualbox/classes/shared_folder.rb
177
- - lib/virtualbox/classes/snapshot.rb
178
- - lib/virtualbox/classes/storage_controller.rb
179
- - lib/virtualbox/classes/system_properties.rb
180
- - lib/virtualbox/classes/token.rb
181
- - lib/virtualbox/classes/usb_controller.rb
182
- - lib/virtualbox/classes/usb_device.rb
183
- - lib/virtualbox/classes/usb_device_filter.rb
184
- - lib/virtualbox/classes/usb_device_filters.rb
185
- - lib/virtualbox/classes/vfs_explorer.rb
186
- - lib/virtualbox/classes/virtual_box.rb
187
- - lib/virtualbox/classes/virtual_box_error_info.rb
188
- - lib/virtualbox/classes/virtual_system_description.rb
189
- - lib/virtualbox/classes/vrde_server.rb
190
- - lib/virtualbox/classes/vrde_server_info.rb
191
61
  - lib/virtualbox/classes/websession_manager.rb
192
62
  - lib/virtualbox/configuration.rb
193
63
  - lib/virtualbox/exceptions.rb
64
+ - lib/virtualbox/savon_fix.rb
194
65
  - lib/virtualbox/version.rb
195
66
  - lib/virtualbox/webservice.rb
196
67
  - virtualbox-ws.gemspec