virtualbox-com 0.9.9 → 0.10.0

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 (39) hide show
  1. data/LICENSE +339 -19
  2. data/examples/simple.rb +2 -0
  3. data/ext/virtualbox-com/4.1/extconf.rb +4 -0
  4. data/ext/virtualbox-com/4.1/generated.inc +17345 -0
  5. data/ext/virtualbox-com/4.1/vbox.c +858 -0
  6. data/ext/virtualbox-com/4.2/extconf.rb +4 -0
  7. data/ext/virtualbox-com/4.2/generated.inc +19751 -0
  8. data/ext/virtualbox-com/4.2/vbox.c +858 -0
  9. data/ext/virtualbox-com/helpers.h +62 -0
  10. data/ext/virtualbox-com/loader/extconf.rb +3 -0
  11. data/ext/virtualbox-com/loader/vbox-loader.c +187 -0
  12. data/ext/virtualbox-com/types.h +34 -0
  13. data/ext/virtualbox-com/vbox.c +858 -0
  14. data/lib/virtualbox/com.rb +4 -26
  15. data/lib/virtualbox/com/{abstract_enum.rb → abstracts.rb} +22 -18
  16. data/lib/virtualbox/com/exceptions.rb +29 -3
  17. data/lib/virtualbox/com/model/4.1-generated.rb +2141 -0
  18. data/lib/virtualbox/com/model/4.2-generated.rb +141 -432
  19. data/lib/virtualbox/com/model/4.2.rb +4 -4
  20. data/lib/virtualbox/com/util.rb +2 -1
  21. data/lib/virtualbox/com/version.rb +1 -1
  22. data/lib/virtualbox/com/xpcomc-ffi.rb +5 -19
  23. data/lib/virtualbox/com/xpcomc-ffi/abstracts.rb +103 -0
  24. data/lib/virtualbox/com/{iid.rb → xpcomc-ffi/iid.rb} +18 -0
  25. data/lib/virtualbox/com/xpcomc-ffi/lib.rb +6 -0
  26. data/lib/virtualbox/com/xpcomc-ffi/model-types.rb +1 -0
  27. data/lib/virtualbox/com/xpcomc-native.rb +8 -0
  28. data/scripts/abstracts.rb +84 -0
  29. data/scripts/sig.rb +201 -0
  30. data/scripts/spec.rb +56 -0
  31. data/scripts/to_c.rb +157 -0
  32. data/scripts/xidl-conv.rb +110 -50
  33. data/virtualbox-com.gemspec +18 -11
  34. metadata +49 -47
  35. data/.gitignore +0 -9
  36. data/README.md +0 -89
  37. data/Rakefile +0 -8
  38. data/lib/virtualbox/com/abstract_interface.rb +0 -144
  39. data/lib/virtualbox/com/abstract_model.rb +0 -14
@@ -1,13 +1,9 @@
1
+ require_relative 'com/exceptions'
2
+ require_relative 'com/abstracts'
3
+
1
4
  module VirtualBox
2
5
  module COM
3
- # Versions of Virtualbox that are supported
4
- SUPPORTED_VERSIONS = {
5
- "4.2" => [ "3b2f08eb-b810-4715-bee0-bb06b9880ad2",
6
- "12f4dcdb-12b2-4ec1-b7cd-ddd9f6c5bf4d" ],
7
- }
8
-
9
- # The Model module will hold all the model descriptions that will
10
- # be loaded according to the VirtualBox version
6
+ # The Model module will hold all the model descriptions
11
7
  module Model
12
8
  def self.get(name)
13
9
  self.const_get(name, false)
@@ -20,10 +16,6 @@ module COM
20
16
  rescue NameError
21
17
  nil
22
18
  end
23
-
24
- def self.create(name, *args)
25
- self.get(name).new(*args)
26
- end
27
19
  end
28
20
 
29
21
  # Information about VirtualBox version
@@ -38,20 +30,6 @@ end
38
30
  end
39
31
 
40
32
 
41
- # Exceptions
42
- require_relative 'com/exceptions'
43
-
44
- # Abstract class for model definitions
45
- require_relative 'com/abstract_enum'
46
- require_relative 'com/abstract_interface'
47
33
 
48
- # Classes
49
- require_relative 'com/iid'
50
34
 
51
- # Implementation
52
- # It needs to add the following to VirtualBox::COM
53
- # - Methods: virtualbox, session
54
- # - Class : Implementer
55
- # - Types : INT8, INT16, INT32, INT64, UINT8, UINT16, UINT32, UINT64,
56
- # WSTRING, BOOL
57
35
  require_relative 'com/xpcomc-ffi'
@@ -1,13 +1,10 @@
1
- require_relative "abstract_model"
2
-
3
1
  module VirtualBox
4
2
  module COM
5
3
 
6
- # Represents a C enum type. Provides functionality to easily convert
7
- # an int value to its proper symbol within the enum.
8
- class AbstractEnum < AbstractModel
9
- extend Enumerable
4
+ class AbstractModel
5
+ end
10
6
 
7
+ class AbstractEnum < AbstractModel
11
8
  # Defines the mapping of int => symbol for the given Enum.
12
9
  # The parameter to this can be an Array or Hash or anything which
13
10
  # respond to `each` and yield a key/value pair.
@@ -20,31 +17,38 @@ class AbstractEnum < AbstractModel
20
17
  then value.each_index {|i| m[value[i]] = i; r[i] = value[i] }
21
18
  else value.each {|k,v| m[k] = v; r[v] ||= k }
22
19
  end
23
- @map, @reverse_map = m, r
20
+ @map, @rmap = m.freeze, r.freeze
24
21
  end
25
22
 
26
23
  @map
27
24
  end
28
25
 
29
- # Returns the symbol associated with the given key
26
+ # Iterate over the enum, yielding each item to a block.
27
+ def self.each
28
+ @map.each do |key, value|
29
+ yield key
30
+ end
31
+ end
32
+
33
+ # Returns the symbol/value association
30
34
  def self.[](index)
31
35
  case index
32
36
  when Symbol then @map[index]
33
- else @reverse_map[index]
37
+ else @rmap[index]
34
38
  end
35
39
  end
36
40
 
37
- # Returns the index associated with a value
38
- def self.index(key)
39
- @map[key]
41
+ def self.symbol(value)
42
+ @rmap[value]
40
43
  end
41
-
42
- # Iterate over the enum, yielding each item to a block.
43
- def self.each
44
- @map.each do |key, value|
45
- yield key
46
- end
44
+
45
+ def self.value(symbol)
46
+ @map[symbol]
47
47
  end
48
+
49
+ end
50
+
51
+ class AbstractInterface < AbstractModel
48
52
  end
49
53
 
50
54
  end
@@ -1,14 +1,20 @@
1
1
  module VirtualBox
2
2
  module COM
3
3
 
4
- class ModelNotFoundException < ::Exception; end
4
+ class ModelNotFoundException < ::Exception
5
+ end
5
6
 
6
7
  class COMException < ::Exception
7
8
  attr_accessor :data
8
9
 
9
10
  def initialize(data={})
10
- @data = data
11
- super("Error in API call to #{data[:function]}: #{data[:code]}")
11
+ @data = case data
12
+ when Hash then data
13
+ when String then { :message => data }
14
+ when Integer then { :code => data }
15
+ else raise "don't know how to interprete exception parameter"
16
+ end
17
+ super("error in API call: 0x#{data[:code].to_s(16)}")
12
18
  end
13
19
  end
14
20
 
@@ -28,5 +34,25 @@ class ObjectInUseException < COMException; end
28
34
  class InvalidArgException < COMException; end
29
35
  class NoInterfaceException < COMException; end
30
36
 
37
+
38
+ EXCEPTION_MAP = Hash.new(COMException).merge!({
39
+ 0x8000_4001 => NotImplementedException,
40
+ 0x8000_4002 => NoInterfaceException,
41
+ 0x80BB_0001 => ObjectNotFoundException,
42
+ 0x80BB_0002 => InvalidVMStateException,
43
+ 0x80BB_0003 => VMErrorException,
44
+ 0x80BB_0004 => FileErrorException,
45
+ 0x80BB_0005 => SubsystemException,
46
+ 0x80BB_0006 => PDMException,
47
+ 0x80BB_0007 => InvalidObjectStateException,
48
+ 0x80BB_0008 => HostErrorException,
49
+ 0x80BB_0009 => NotSupportedException,
50
+ 0x80BB_000A => XMLErrorException,
51
+ 0x80BB_000B => InvalidSessionStateException,
52
+ 0x80BB_000C => ObjectInUseException,
53
+ 0x8007_0057 => InvalidArgException
54
+ }).freeze
55
+
56
+
31
57
  end
32
58
  end
@@ -0,0 +1,2141 @@
1
+ #
2
+ # This file has been automatically generated from the VirtualBox.xidl
3
+ # NOTE: it is not always loaded.
4
+ #
5
+
6
+ module VirtualBox
7
+ module COM
8
+ module Model
9
+
10
+ class NSISupports < AbstractInterface
11
+ iid "00000000-0000-0000-c000-000000000046"
12
+ function :QueryInterface, PTR, [ PTR ], :hide => true
13
+ function :AddRef, nil, [], :hide => true
14
+ function :Release, nil, [], :hide => true
15
+ end
16
+
17
+ class NSIException < NSISupports
18
+ iid "f3a8d3b4-c424-4edc-8bf6-8974c983ba78"
19
+ property :message, WSTRING, :readonly => true
20
+ property :result, UINT32, :readonly => true
21
+ property :name, WSTRING, :readonly => true
22
+ property :filename, WSTRING, :readonly => true
23
+ property :line_number, UINT32, :readonly => true
24
+ property :column_number, UINT32, :readonly => true
25
+ property :location, PTR, :readonly => true
26
+ property :inner, :NSIException, :readonly => true
27
+ property :data, :NSISupports, :readonly => true
28
+ function :to_string, nil, [WSTRING]
29
+ end
30
+
31
+ class SettingsVersion < AbstractEnum
32
+ iid "52bd6f5f-1adb-4493-975d-581a9c4b803f"
33
+ map({
34
+ :null => 0,
35
+ :v1_0 => 1,
36
+ :v1_1 => 2,
37
+ :v1_2 => 3,
38
+ :v1_3pre => 4,
39
+ :v1_3 => 5,
40
+ :v1_4 => 6,
41
+ :v1_5 => 7,
42
+ :v1_6 => 8,
43
+ :v1_7 => 9,
44
+ :v1_8 => 10,
45
+ :v1_9 => 11,
46
+ :v1_10 => 12,
47
+ :v1_11 => 13,
48
+ :v1_12 => 14,
49
+ :future => 99999,
50
+ })
51
+ end
52
+
53
+ class AccessMode < AbstractEnum
54
+ iid "1da0007c-ddf7-4be8-bcac-d84a1558785f"
55
+ map({
56
+ :read_only => 1,
57
+ :read_write => 2,
58
+ })
59
+ end
60
+
61
+ class MachineState < AbstractEnum
62
+ iid "ec6c6a9e-113d-4ff4-b44f-0b69f21c97fe"
63
+ map({
64
+ :null => 0,
65
+ :powered_off => 1,
66
+ :saved => 2,
67
+ :teleported => 3,
68
+ :aborted => 4,
69
+ :running => 5,
70
+ :paused => 6,
71
+ :stuck => 7,
72
+ :teleporting => 8,
73
+ :live_snapshotting => 9,
74
+ :starting => 10,
75
+ :stopping => 11,
76
+ :saving => 12,
77
+ :restoring => 13,
78
+ :teleporting_paused_vm => 14,
79
+ :teleporting_in => 15,
80
+ :fault_tolerant_syncing => 16,
81
+ :deleting_snapshot_online => 17,
82
+ :deleting_snapshot_paused => 18,
83
+ :restoring_snapshot => 19,
84
+ :deleting_snapshot => 20,
85
+ :setting_up => 21,
86
+ :first_online => 5,
87
+ :last_online => 18,
88
+ :first_transient => 8,
89
+ :last_transient => 21,
90
+ })
91
+ end
92
+
93
+ class SessionState < AbstractEnum
94
+ iid "cf2700c0-ea4b-47ae-9725-7810114b94d8"
95
+ map({
96
+ :null => 0,
97
+ :unlocked => 1,
98
+ :locked => 2,
99
+ :spawning => 3,
100
+ :unlocking => 4,
101
+ })
102
+ end
103
+
104
+ class CPUPropertyType < AbstractEnum
105
+ iid "24d356a6-2f45-4abd-b977-1cbe9c4701f5"
106
+ map({
107
+ :null => 0,
108
+ :pae => 1,
109
+ :synthetic => 2,
110
+ })
111
+ end
112
+
113
+ class HWVirtExPropertyType < AbstractEnum
114
+ iid "ce81dfdd-d2b8-4a90-bbea-40ee8b7ffcee"
115
+ map({
116
+ :null => 0,
117
+ :enabled => 1,
118
+ :exclusive => 2,
119
+ :vpid => 3,
120
+ :nested_paging => 4,
121
+ :large_pages => 5,
122
+ :force => 6,
123
+ })
124
+ end
125
+
126
+ class FaultToleranceState < AbstractEnum
127
+ iid "5124f7ec-6b67-493c-9dee-ee45a44114e1"
128
+ map({
129
+ :inactive => 1,
130
+ :master => 2,
131
+ :standby => 3,
132
+ })
133
+ end
134
+
135
+ class LockType < AbstractEnum
136
+ iid "138b53f8-db4b-47c5-b32b-4ef52f769413"
137
+ map({
138
+ :write => 2,
139
+ :shared => 1,
140
+ })
141
+ end
142
+
143
+ class SessionType < AbstractEnum
144
+ iid "A13C02CB-0C2C-421E-8317-AC0E8AAA153A"
145
+ map({
146
+ :null => 0,
147
+ :write_lock => 1,
148
+ :remote => 2,
149
+ :shared => 3,
150
+ })
151
+ end
152
+
153
+ class DeviceType < AbstractEnum
154
+ iid "6d9420f7-0b56-4636-99f9-7346f1b01e57"
155
+ map({
156
+ :null => 0,
157
+ :floppy => 1,
158
+ :dvd => 2,
159
+ :hard_disk => 3,
160
+ :network => 4,
161
+ :usb => 5,
162
+ :shared_folder => 6,
163
+ })
164
+ end
165
+
166
+ class DeviceActivity < AbstractEnum
167
+ iid "6FC8AEAA-130A-4eb5-8954-3F921422D707"
168
+ map({
169
+ :null => 0,
170
+ :idle => 1,
171
+ :reading => 2,
172
+ :writing => 3,
173
+ })
174
+ end
175
+
176
+ class ClipboardMode < AbstractEnum
177
+ iid "33364716-4008-4701-8f14-be0fa3d62950"
178
+ map({
179
+ :disabled => 0,
180
+ :host_to_guest => 1,
181
+ :guest_to_host => 2,
182
+ :bidirectional => 3,
183
+ })
184
+ end
185
+
186
+ class Scope < AbstractEnum
187
+ iid "7c91096e-499e-4eca-9f9b-9001438d7855"
188
+ map({
189
+ :global => 0,
190
+ :machine => 1,
191
+ :session => 2,
192
+ })
193
+ end
194
+
195
+ class BIOSBootMenuMode < AbstractEnum
196
+ iid "ae4fb9f7-29d2-45b4-b2c7-d579603135d5"
197
+ map({
198
+ :disabled => 0,
199
+ :menu_only => 1,
200
+ :message_and_menu => 2,
201
+ })
202
+ end
203
+
204
+ class ProcessorFeature < AbstractEnum
205
+ iid "64c38e6b-8bcf-45ad-ac03-9b406287c5bf"
206
+ map({
207
+ :hw_virt_ex => 0,
208
+ :pae => 1,
209
+ :long_mode => 2,
210
+ :nested_paging => 3,
211
+ })
212
+ end
213
+
214
+ class FirmwareType < AbstractEnum
215
+ iid "b903f264-c230-483e-ac74-2b37ce60d371"
216
+ map({
217
+ :bios => 1,
218
+ :efi => 2,
219
+ :efi32 => 3,
220
+ :efi64 => 4,
221
+ :efidual => 5,
222
+ })
223
+ end
224
+
225
+ class PointingHidType < AbstractEnum
226
+ iid "0d3c17a2-821a-4b2e-ae41-890c6c60aa97"
227
+ map({
228
+ :none => 1,
229
+ :ps2_mouse => 2,
230
+ :usb_mouse => 3,
231
+ :usb_tablet => 4,
232
+ :combo_mouse => 5,
233
+ })
234
+ end
235
+
236
+ class KeyboardHidType < AbstractEnum
237
+ iid "5a5b0996-3a3e-44bb-9019-56979812cbcc"
238
+ map({
239
+ :none => 1,
240
+ :ps2_keyboard => 2,
241
+ :usb_keyboard => 3,
242
+ :combo_keyboard => 4,
243
+ })
244
+ end
245
+
246
+ class VFSType < AbstractEnum
247
+ iid "813999ba-b949-48a8-9230-aadc6285e2f2"
248
+ map({
249
+ :file => 1,
250
+ :cloud => 2,
251
+ :s3 => 3,
252
+ :web_dav => 4,
253
+ })
254
+ end
255
+
256
+ class VFSFileType < AbstractEnum
257
+ iid "714333cd-44e2-415f-a245-d378fa9b1242"
258
+ map({
259
+ :unknown => 1,
260
+ :fifo => 2,
261
+ :dev_char => 3,
262
+ :directory => 4,
263
+ :dev_block => 5,
264
+ :file => 6,
265
+ :sym_link => 7,
266
+ :socket => 8,
267
+ :white_out => 9,
268
+ })
269
+ end
270
+
271
+ class ImportOptions < AbstractEnum
272
+ iid "0a981523-3b20-4004-8ee3-dfd322202ace"
273
+ map({
274
+ :keep_all_macs => 1,
275
+ :keep_nat_macs => 2,
276
+ })
277
+ end
278
+
279
+ class VirtualSystemDescriptionType < AbstractEnum
280
+ iid "303c0900-a746-4612-8c67-79003e91f459"
281
+ map({
282
+ :ignore => 1,
283
+ :os => 2,
284
+ :name => 3,
285
+ :product => 4,
286
+ :vendor => 5,
287
+ :version => 6,
288
+ :product_url => 7,
289
+ :vendor_url => 8,
290
+ :description => 9,
291
+ :license => 10,
292
+ :miscellaneous => 11,
293
+ :cpu => 12,
294
+ :memory => 13,
295
+ :hard_disk_controller_ide => 14,
296
+ :hard_disk_controller_sata => 15,
297
+ :hard_disk_controller_scsi => 16,
298
+ :hard_disk_controller_sas => 17,
299
+ :hard_disk_image => 18,
300
+ :floppy => 19,
301
+ :cdrom => 20,
302
+ :network_adapter => 21,
303
+ :usb_controller => 22,
304
+ :sound_card => 23,
305
+ :settings_file => 24,
306
+ })
307
+ end
308
+
309
+ class VirtualSystemDescriptionValueType < AbstractEnum
310
+ iid "56d9403f-3425-4118-9919-36f2a9b8c77c"
311
+ map({
312
+ :reference => 1,
313
+ :original => 2,
314
+ :auto => 3,
315
+ :extra_config => 4,
316
+ })
317
+ end
318
+
319
+ class CleanupMode < AbstractEnum
320
+ iid "67897c50-7cca-47a9-83f6-ce8fd8eb5441"
321
+ map({
322
+ :unregister_only => 1,
323
+ :detach_all_return_none => 2,
324
+ :detach_all_return_hard_disks_only => 3,
325
+ :full => 4,
326
+ })
327
+ end
328
+
329
+ class CloneMode < AbstractEnum
330
+ iid "A7A159FE-5096-4B8D-8C3C-D033CB0B35A8"
331
+ map({
332
+ :machine_state => 1,
333
+ :machine_and_child_states => 2,
334
+ :all_states => 3,
335
+ })
336
+ end
337
+
338
+ class CloneOptions < AbstractEnum
339
+ iid "22243f8e-96ab-497c-8cf0-f40a566c630b"
340
+ map({
341
+ :link => 1,
342
+ :keep_all_macs => 2,
343
+ :keep_nat_macs => 3,
344
+ :keep_disk_names => 4,
345
+ })
346
+ end
347
+
348
+ class HostNetworkInterfaceMediumType < AbstractEnum
349
+ iid "1aa54aaf-2497-45a2-bfb1-8eb225e93d5b"
350
+ map({
351
+ :unknown => 0,
352
+ :ethernet => 1,
353
+ :ppp => 2,
354
+ :slip => 3,
355
+ })
356
+ end
357
+
358
+ class HostNetworkInterfaceStatus < AbstractEnum
359
+ iid "CC474A69-2710-434B-8D99-C38E5D5A6F41"
360
+ map({
361
+ :unknown => 0,
362
+ :up => 1,
363
+ :down => 2,
364
+ })
365
+ end
366
+
367
+ class HostNetworkInterfaceType < AbstractEnum
368
+ iid "67431b00-9946-48a2-bc02-b25c5919f4f3"
369
+ map({
370
+ :bridged => 1,
371
+ :host_only => 2,
372
+ })
373
+ end
374
+
375
+ class AdditionsFacilityType < AbstractEnum
376
+ iid "98f7f957-89fb-49b6-a3b1-31e3285eb1d8"
377
+ map({
378
+ :none => 0,
379
+ :vbox_guest_driver => 20,
380
+ :auto_logon => 90,
381
+ :vbox_service => 100,
382
+ :vbox_tray_client => 101,
383
+ :seamless => 1000,
384
+ :graphics => 1100,
385
+ :all => 2147483646,
386
+ })
387
+ end
388
+
389
+ class AdditionsFacilityClass < AbstractEnum
390
+ iid "446451b2-c88d-4e5d-84c9-91bc7f533f5f"
391
+ map({
392
+ :none => 0,
393
+ :driver => 10,
394
+ :service => 30,
395
+ :program => 50,
396
+ :feature => 100,
397
+ :third_party => 999,
398
+ :all => 2147483646,
399
+ })
400
+ end
401
+
402
+ class AdditionsFacilityStatus < AbstractEnum
403
+ iid "ce06f9e1-394e-4fe9-9368-5a88c567dbde"
404
+ map({
405
+ :inactive => 0,
406
+ :paused => 1,
407
+ :pre_init => 20,
408
+ :init => 30,
409
+ :active => 50,
410
+ :terminating => 100,
411
+ :terminated => 101,
412
+ :failed => 800,
413
+ :unknown => 999,
414
+ })
415
+ end
416
+
417
+ class AdditionsRunLevelType < AbstractEnum
418
+ iid "a25417ee-a9dd-4f5b-b0dc-377860087754"
419
+ map({
420
+ :none => 0,
421
+ :system => 1,
422
+ :userland => 2,
423
+ :desktop => 3,
424
+ })
425
+ end
426
+
427
+ class AdditionsUpdateFlag < AbstractEnum
428
+ iid "726a818d-18d6-4389-94e8-3e9e6826171a"
429
+ map({
430
+ :none => 0,
431
+ :wait_for_update_start_only => 1,
432
+ })
433
+ end
434
+
435
+ class ExecuteProcessFlag < AbstractEnum
436
+ iid "286ceb91-5f66-4c96-9845-4483e90e00ae"
437
+ map({
438
+ :none => 0,
439
+ :wait_for_process_start_only => 1,
440
+ :ignore_orphaned_processes => 2,
441
+ :hidden => 4,
442
+ :no_profile => 8,
443
+ :wait_for_std_out => 16,
444
+ :wait_for_std_err => 32,
445
+ })
446
+ end
447
+
448
+ class ExecuteProcessStatus < AbstractEnum
449
+ iid "153768d9-d971-4098-8b5a-c5cb1ab9ea88"
450
+ map({
451
+ :undefined => 0,
452
+ :started => 1,
453
+ :terminated_normally => 2,
454
+ :terminated_signal => 3,
455
+ :terminated_abnormally => 4,
456
+ :timed_out_killed => 5,
457
+ :timed_out_abnormally => 6,
458
+ :down => 7,
459
+ :error => 8,
460
+ })
461
+ end
462
+
463
+ class ProcessInputFlag < AbstractEnum
464
+ iid "5d38c1dd-2604-4ddf-92e5-0c0cdd3bdbd5"
465
+ map({
466
+ :none => 0,
467
+ :end_of_file => 1,
468
+ })
469
+ end
470
+
471
+ class ProcessOutputFlag < AbstractEnum
472
+ iid "9979e85a-52bb-40b7-870c-57115e27e0f1"
473
+ map({
474
+ :none => 0,
475
+ :std_err => 1,
476
+ })
477
+ end
478
+
479
+ class CopyFileFlag < AbstractEnum
480
+ iid "23f79fdf-738a-493d-b80b-42d607c9b916"
481
+ map({
482
+ :none => 0,
483
+ :recursive => 1,
484
+ :update => 2,
485
+ :follow_links => 4,
486
+ })
487
+ end
488
+
489
+ class DirectoryCreateFlag < AbstractEnum
490
+ iid "bd721b0e-ced5-4f79-b368-249897c32a36"
491
+ map({
492
+ :none => 0,
493
+ :parents => 1,
494
+ })
495
+ end
496
+
497
+ class DirectoryOpenFlag < AbstractEnum
498
+ iid "fc8f6203-0072-4f34-bd08-0b35e50bf071"
499
+ map({
500
+ :none => 0,
501
+ })
502
+ end
503
+
504
+ class GuestDirEntryType < AbstractEnum
505
+ iid "6d19d924-1b77-4fc8-b369-a3b2c85c8241"
506
+ map({
507
+ :unknown => 0,
508
+ :directory => 4,
509
+ :file => 10,
510
+ :symlink => 12,
511
+ })
512
+ end
513
+
514
+ class MediumState < AbstractEnum
515
+ iid "ef41e980-e012-43cd-9dea-479d4ef14d13"
516
+ map({
517
+ :not_created => 0,
518
+ :created => 1,
519
+ :locked_read => 2,
520
+ :locked_write => 3,
521
+ :inaccessible => 4,
522
+ :creating => 5,
523
+ :deleting => 6,
524
+ })
525
+ end
526
+
527
+ class MediumType < AbstractEnum
528
+ iid "fe663fb5-c244-4e1b-9d81-c628b417dd04"
529
+ map({
530
+ :normal => 0,
531
+ :immutable => 1,
532
+ :writethrough => 2,
533
+ :shareable => 3,
534
+ :readonly => 4,
535
+ :multi_attach => 5,
536
+ })
537
+ end
538
+
539
+ class MediumVariant < AbstractEnum
540
+ iid "584ea502-143b-4ab0-ad14-d1028fdf0316"
541
+ map({
542
+ :standard => 0,
543
+ :vmdk_split2g => 0x01,
544
+ :vmdk_stream_optimized => 0x04,
545
+ :vmdk_esx => 0x08,
546
+ :fixed => 0x10000,
547
+ :diff => 0x20000,
548
+ :no_create_dir => 0x40000000,
549
+ })
550
+ end
551
+
552
+ class DataType < AbstractEnum
553
+ iid "d90ea51e-a3f1-4a01-beb1-c1723c0d3ba7"
554
+ map({
555
+ :int32 => 0,
556
+ :int8 => 1,
557
+ :string => 2,
558
+ })
559
+ end
560
+
561
+ class DataFlags < AbstractEnum
562
+ iid "86884dcf-1d6b-4f1b-b4bf-f5aa44959d60"
563
+ map({
564
+ :none => 0x00,
565
+ :mandatory => 0x01,
566
+ :expert => 0x02,
567
+ :array => 0x04,
568
+ :flag_mask => 0x07,
569
+ })
570
+ end
571
+
572
+ class MediumFormatCapabilities < AbstractEnum
573
+ iid "7342ba79-7ce0-4d94-8f86-5ed5a185d9bd"
574
+ map({
575
+ :uuid => 0x01,
576
+ :create_fixed => 0x02,
577
+ :create_dynamic => 0x04,
578
+ :create_split2g => 0x08,
579
+ :differencing => 0x10,
580
+ :asynchronous => 0x20,
581
+ :file => 0x40,
582
+ :properties => 0x80,
583
+ :tcp_networking => 0x100,
584
+ :vfs => 0x200,
585
+ :capability_mask => 0x3FF,
586
+ })
587
+ end
588
+
589
+ class MouseButtonState < AbstractEnum
590
+ iid "9ee094b8-b28a-4d56-a166-973cb588d7f8"
591
+ map({
592
+ :left_button => 0x01,
593
+ :right_button => 0x02,
594
+ :middle_button => 0x04,
595
+ :wheel_up => 0x08,
596
+ :wheel_down => 0x10,
597
+ :x_button1 => 0x20,
598
+ :x_button2 => 0x40,
599
+ :mouse_state_mask => 0x7F,
600
+ })
601
+ end
602
+
603
+ class FramebufferPixelFormat < AbstractEnum
604
+ iid "7acfd5ed-29e3-45e3-8136-73c9224f3d2d"
605
+ map({
606
+ :opaque => 0,
607
+ :fourcc_rgb => 0x32424752,
608
+ })
609
+ end
610
+
611
+ class NetworkAttachmentType < AbstractEnum
612
+ iid "2ac4bc71-6b82-417a-acd1-f7426d2570d6"
613
+ map({
614
+ :null => 0,
615
+ :nat => 1,
616
+ :bridged => 2,
617
+ :internal => 3,
618
+ :host_only => 4,
619
+ :generic => 5,
620
+ })
621
+ end
622
+
623
+ class NetworkAdapterType < AbstractEnum
624
+ iid "3c2281e4-d952-4e87-8c7d-24379cb6a81c"
625
+ map({
626
+ :null => 0,
627
+ :am79c970a => 1,
628
+ :am79c973 => 2,
629
+ :i82540em => 3,
630
+ :i82543gc => 4,
631
+ :i82545em => 5,
632
+ :virtio => 6,
633
+ })
634
+ end
635
+
636
+ class NetworkAdapterPromiscModePolicy < AbstractEnum
637
+ iid "c963768a-376f-4c85-8d84-d8ced4b7269e"
638
+ map({
639
+ :deny => 1,
640
+ :allow_network => 2,
641
+ :allow_all => 3,
642
+ })
643
+ end
644
+
645
+ class PortMode < AbstractEnum
646
+ iid "533b5fe3-0185-4197-86a7-17e37dd39d76"
647
+ map({
648
+ :disconnected => 0,
649
+ :host_pipe => 1,
650
+ :host_device => 2,
651
+ :raw_file => 3,
652
+ })
653
+ end
654
+
655
+ class USBDeviceState < AbstractEnum
656
+ iid "b99a2e65-67fb-4882-82fd-f3e5e8193ab4"
657
+ map({
658
+ :not_supported => 0,
659
+ :unavailable => 1,
660
+ :busy => 2,
661
+ :available => 3,
662
+ :held => 4,
663
+ :captured => 5,
664
+ })
665
+ end
666
+
667
+ class USBDeviceFilterAction < AbstractEnum
668
+ iid "cbc30a49-2f4e-43b5-9da6-121320475933"
669
+ map({
670
+ :null => 0,
671
+ :ignore => 1,
672
+ :hold => 2,
673
+ })
674
+ end
675
+
676
+ class AudioDriverType < AbstractEnum
677
+ iid "4bcc3d73-c2fe-40db-b72f-0c2ca9d68496"
678
+ map({
679
+ :null => 0,
680
+ :winmm => 1,
681
+ :oss => 2,
682
+ :alsa => 3,
683
+ :direct_sound => 4,
684
+ :core_audio => 5,
685
+ :mmpm => 6,
686
+ :pulse => 7,
687
+ :sol_audio => 8,
688
+ })
689
+ end
690
+
691
+ class AudioControllerType < AbstractEnum
692
+ iid "7afd395c-42c3-444e-8788-3ce80292f36c"
693
+ map({
694
+ :ac97 => 0,
695
+ :sb16 => 1,
696
+ :hda => 2,
697
+ })
698
+ end
699
+
700
+ class AuthType < AbstractEnum
701
+ iid "7eef6ef6-98c2-4dc2-ab35-10d2b292028d"
702
+ map({
703
+ :null => 0,
704
+ :external => 1,
705
+ :guest => 2,
706
+ })
707
+ end
708
+
709
+ class StorageBus < AbstractEnum
710
+ iid "eee67ab3-668d-4ef5-91e0-7025fe4a0d7a"
711
+ map({
712
+ :null => 0,
713
+ :ide => 1,
714
+ :sata => 2,
715
+ :scsi => 3,
716
+ :floppy => 4,
717
+ :sas => 5,
718
+ })
719
+ end
720
+
721
+ class StorageControllerType < AbstractEnum
722
+ iid "8a412b8a-f43e-4456-bd37-b474f0879a58"
723
+ map({
724
+ :null => 0,
725
+ :lsi_logic => 1,
726
+ :bus_logic => 2,
727
+ :intel_ahci => 3,
728
+ :piix3 => 4,
729
+ :piix4 => 5,
730
+ :ich6 => 6,
731
+ :i82078 => 7,
732
+ :lsi_logic_sas => 8,
733
+ })
734
+ end
735
+
736
+ class ChipsetType < AbstractEnum
737
+ iid "8b4096a8-a7c3-4d3b-bbb1-05a0a51ec394"
738
+ map({
739
+ :null => 0,
740
+ :piix3 => 1,
741
+ :ich9 => 2,
742
+ })
743
+ end
744
+
745
+ class NATAliasMode < AbstractEnum
746
+ iid "67772168-50d9-11df-9669-7fb714ee4fa1"
747
+ map({
748
+ :alias_log => 0x1,
749
+ :alias_proxy_only => 0x02,
750
+ :alias_use_same_ports => 0x04,
751
+ })
752
+ end
753
+
754
+ class NATProtocol < AbstractEnum
755
+ iid "e90164be-eb03-11de-94af-fff9b1c1b19f"
756
+ map({
757
+ :udp => 0,
758
+ :tcp => 1,
759
+ })
760
+ end
761
+
762
+ class BandwidthGroupType < AbstractEnum
763
+ iid "1d92b67d-dc69-4be9-ad4c-93a01e1e0c8e"
764
+ map({
765
+ :null => 0,
766
+ :disk => 1,
767
+ :network => 2,
768
+ })
769
+ end
770
+
771
+ class VBoxEventType < AbstractEnum
772
+ iid "cce48db6-8561-479d-8d46-1358bab45d4e"
773
+ map({
774
+ :invalid => 0,
775
+ :any => 1,
776
+ :vetoable => 2,
777
+ :machine_event => 3,
778
+ :snapshot_event => 4,
779
+ :input_event => 5,
780
+ :last_wildcard => 31,
781
+ :on_machine_state_changed => 32,
782
+ :on_machine_data_changed => 33,
783
+ :on_extra_data_changed => 34,
784
+ :on_extra_data_can_change => 35,
785
+ :on_medium_registered => 36,
786
+ :on_machine_registered => 37,
787
+ :on_session_state_changed => 38,
788
+ :on_snapshot_taken => 39,
789
+ :on_snapshot_deleted => 40,
790
+ :on_snapshot_changed => 41,
791
+ :on_guest_property_changed => 42,
792
+ :on_mouse_pointer_shape_changed => 43,
793
+ :on_mouse_capability_changed => 44,
794
+ :on_keyboard_leds_changed => 45,
795
+ :on_state_changed => 46,
796
+ :on_additions_state_changed => 47,
797
+ :on_network_adapter_changed => 48,
798
+ :on_serial_port_changed => 49,
799
+ :on_parallel_port_changed => 50,
800
+ :on_storage_controller_changed => 51,
801
+ :on_medium_changed => 52,
802
+ :on_vrde_server_changed => 53,
803
+ :on_usb_controller_changed => 54,
804
+ :on_usb_device_state_changed => 55,
805
+ :on_shared_folder_changed => 56,
806
+ :on_runtime_error => 57,
807
+ :on_can_show_window => 58,
808
+ :on_show_window => 59,
809
+ :on_cpu_changed => 60,
810
+ :on_vrde_server_info_changed => 61,
811
+ :on_event_source_changed => 62,
812
+ :on_cpu_execution_cap_changed => 63,
813
+ :on_guest_keyboard => 64,
814
+ :on_guest_mouse => 65,
815
+ :on_nat_redirect => 66,
816
+ :on_host_pci_device_plug => 67,
817
+ :on_vbox_svc_availability_changed => 68,
818
+ :on_bandwidth_group_changed => 69,
819
+ :on_guest_monitor_changed => 70,
820
+ :on_storage_device_changed => 71,
821
+ :last => 72,
822
+ })
823
+ end
824
+
825
+ class GuestMonitorChangedEventType < AbstractEnum
826
+ iid "ef172985-7e36-4297-95be-e46396968d66"
827
+ map({
828
+ :enabled => 0,
829
+ :disabled => 1,
830
+ :new_origin => 2,
831
+ })
832
+ end
833
+
834
+ class VirtualBoxErrorInfo < NSIException
835
+ iid "e053d3c0-f493-491b-a735-3a9f0b1feed4"
836
+ property :result_code, INT32, :readonly => true
837
+ property :interface_i_d, WSTRING, :readonly => true
838
+ property :component, WSTRING, :readonly => true
839
+ property :text, WSTRING, :readonly => true
840
+ property :next, :VirtualBoxErrorInfo, :readonly => true
841
+ end
842
+
843
+ class DHCPServer < NSISupports
844
+ iid "6cfe387c-74fb-4ca7-bff6-973bec8af7a3"
845
+ property :enabled, BOOL
846
+ property :ip_address, WSTRING, :readonly => true
847
+ property :network_mask, WSTRING, :readonly => true
848
+ property :network_name, WSTRING, :readonly => true
849
+ property :lower_ip, WSTRING, :readonly => true
850
+ property :upper_ip, WSTRING, :readonly => true
851
+ function :set_configuration, nil, [WSTRING, WSTRING, WSTRING, WSTRING]
852
+ function :start, nil, [WSTRING, WSTRING, WSTRING]
853
+ function :stop, nil, []
854
+ end
855
+
856
+ class VirtualBox < NSISupports
857
+ iid "c28be65f-1a8f-43b4-81f1-eb60cb516e66"
858
+ property :version, WSTRING, :readonly => true
859
+ property :revision, UINT32, :readonly => true
860
+ property :package_type, WSTRING, :readonly => true
861
+ property :api_version, WSTRING, :readonly => true
862
+ property :home_folder, WSTRING, :readonly => true
863
+ property :settings_file_path, WSTRING, :readonly => true
864
+ property :host, :Host, :readonly => true
865
+ property :system_properties, :SystemProperties, :readonly => true
866
+ property :machines, [:Machine], :readonly => true
867
+ property :hard_disks, [:Medium], :readonly => true
868
+ property :dvd_images, [:Medium], :readonly => true
869
+ property :floppy_images, [:Medium], :readonly => true
870
+ property :progress_operations, [:Progress], :readonly => true
871
+ property :guest_os_types, [:GuestOSType], :readonly => true
872
+ property :shared_folders, [:SharedFolder], :readonly => true
873
+ property :performance_collector, :PerformanceCollector, :readonly => true
874
+ property :dhcp_servers, [:DHCPServer], :readonly => true
875
+ property :event_source, :EventSource, :readonly => true
876
+ property :extension_pack_manager, :ExtPackManager, :readonly => true
877
+ property :internal_networks, [WSTRING], :readonly => true
878
+ property :generic_network_drivers, [WSTRING], :readonly => true
879
+ function :compose_machine_filename, WSTRING, [WSTRING, WSTRING]
880
+ function :create_machine, :Machine, [WSTRING, WSTRING, WSTRING, WSTRING, BOOL]
881
+ function :open_machine, :Machine, [WSTRING]
882
+ function :register_machine, nil, [:Machine]
883
+ function :find_machine, :Machine, [WSTRING]
884
+ function :create_appliance, :Appliance, []
885
+ function :create_hard_disk, :Medium, [WSTRING, WSTRING]
886
+ function :open_medium, :Medium, [WSTRING, :DeviceType, :AccessMode, BOOL]
887
+ function :find_medium, :Medium, [WSTRING, :DeviceType]
888
+ function :get_guest_os_type, :GuestOSType, [WSTRING]
889
+ function :create_shared_folder, nil, [WSTRING, WSTRING, BOOL, BOOL]
890
+ function :remove_shared_folder, nil, [WSTRING]
891
+ function :get_extra_data_keys, [WSTRING], []
892
+ function :get_extra_data, WSTRING, [WSTRING]
893
+ function :set_extra_data, nil, [WSTRING, WSTRING]
894
+ function :create_dhcp_server, :DHCPServer, [WSTRING]
895
+ function :find_dhcp_server_by_network_name, :DHCPServer, [WSTRING]
896
+ function :remove_dhcp_server, nil, [:DHCPServer]
897
+ function :check_firmware_present, BOOL, [:FirmwareType, WSTRING, [:out, WSTRING], [:out, WSTRING]]
898
+ end
899
+
900
+ class VFSExplorer < NSISupports
901
+ iid "003d7f92-d38e-487f-b790-8c5e8631cb2f"
902
+ property :path, WSTRING, :readonly => true
903
+ property :type, :VFSType, :readonly => true
904
+ function :update, :Progress, []
905
+ function :cd, :Progress, [WSTRING]
906
+ function :cd_up, :Progress, []
907
+ function :entry_list, nil, [[:out, [WSTRING]], [:out, [UINT32]], [:out, [UINT32]], [:out, [UINT32]]]
908
+ function :exists, [WSTRING], [[WSTRING]]
909
+ function :remove, :Progress, [[WSTRING]]
910
+ end
911
+
912
+ class Appliance < NSISupports
913
+ iid "3059cf9e-25c7-4f0b-9fa5-3c42e441670b"
914
+ property :path, WSTRING, :readonly => true
915
+ property :disks, [WSTRING], :readonly => true
916
+ property :virtual_system_descriptions, [:VirtualSystemDescription], :readonly => true
917
+ property :machines, [WSTRING], :readonly => true
918
+ function :read, :Progress, [WSTRING]
919
+ function :interpret, nil, []
920
+ function :import_machines, :Progress, [[:ImportOptions]]
921
+ function :create_vfs_explorer, :VFSExplorer, [WSTRING]
922
+ function :write, :Progress, [WSTRING, BOOL, WSTRING]
923
+ function :get_warnings, [WSTRING], []
924
+ end
925
+
926
+ class VirtualSystemDescription < NSISupports
927
+ iid "d7525e6c-531a-4c51-8e04-41235083a3d8"
928
+ property :count, UINT32, :readonly => true
929
+ function :get_description, nil, [[:out, [:VirtualSystemDescriptionType]], [:out, [WSTRING]], [:out, [WSTRING]], [:out, [WSTRING]], [:out, [WSTRING]]]
930
+ function :get_description_by_type, nil, [:VirtualSystemDescriptionType, [:out, [:VirtualSystemDescriptionType]], [:out, [WSTRING]], [:out, [WSTRING]], [:out, [WSTRING]], [:out, [WSTRING]]]
931
+ function :get_values_by_type, [WSTRING], [:VirtualSystemDescriptionType, :VirtualSystemDescriptionValueType]
932
+ function :set_final_values, nil, [[BOOL], [WSTRING], [WSTRING]]
933
+ function :add_description, nil, [:VirtualSystemDescriptionType, WSTRING, WSTRING]
934
+ end
935
+
936
+ class InternalMachineControl < NSISupports
937
+ iid "ec824977-e43f-479c-81c9-ac6cae1423a5"
938
+ function :set_remove_saved_state_file, nil, [BOOL]
939
+ function :update_state, nil, [:MachineState]
940
+ function :get_ipcid, WSTRING, []
941
+ function :begin_power_up, nil, [:Progress]
942
+ function :end_power_up, nil, [INT32]
943
+ function :begin_powering_down, nil, [[:out, :Progress]]
944
+ function :end_powering_down, nil, [INT32, WSTRING]
945
+ function :run_usb_device_filters, nil, [:USBDevice, [:out, BOOL], [:out, UINT32]]
946
+ function :capture_usb_device, nil, [WSTRING]
947
+ function :detach_usb_device, nil, [WSTRING, BOOL]
948
+ function :auto_capture_usb_devices, nil, []
949
+ function :detach_all_usb_devices, nil, [BOOL]
950
+ function :on_session_end, :Progress, [:Session]
951
+ function :begin_saving_state, nil, [[:out, :Progress], [:out, WSTRING]]
952
+ function :end_saving_state, nil, [INT32, WSTRING]
953
+ function :adopt_saved_state, nil, [WSTRING]
954
+ function :begin_taking_snapshot, nil, [:Console, WSTRING, WSTRING, :Progress, BOOL, [:out, WSTRING]]
955
+ function :end_taking_snapshot, nil, [BOOL]
956
+ function :delete_snapshot, :Progress, [:Console, WSTRING, WSTRING, BOOL, [:out, :MachineState]]
957
+ function :finish_online_merge_medium, nil, [:MediumAttachment, :Medium, :Medium, BOOL, :Medium, [:Medium]]
958
+ function :restore_snapshot, :Progress, [:Console, :Snapshot, [:out, :MachineState]]
959
+ function :pull_guest_properties, nil, [[:out, [WSTRING]], [:out, [WSTRING]], [:out, [INT64]], [:out, [WSTRING]]]
960
+ function :push_guest_property, nil, [WSTRING, WSTRING, INT64, WSTRING]
961
+ function :lock_media, nil, []
962
+ function :unlock_media, nil, []
963
+ function :eject_medium, :MediumAttachment, [:MediumAttachment]
964
+ function :report_guest_statistics, nil, [UINT32, UINT32, UINT32, UINT32, UINT32, UINT32, UINT32, UINT32, UINT32, UINT32, UINT32, UINT32, UINT32, UINT32]
965
+ end
966
+
967
+ class BIOSSettings < NSISupports
968
+ iid "38b54279-dc35-4f5e-a431-835b867c6b5e"
969
+ property :logo_fade_in, BOOL
970
+ property :logo_fade_out, BOOL
971
+ property :logo_display_time, UINT32
972
+ property :logo_image_path, WSTRING
973
+ property :boot_menu_mode, :BIOSBootMenuMode
974
+ property :acpi_enabled, BOOL
975
+ property :io_apic_enabled, BOOL
976
+ property :time_offset, INT64
977
+ property :pxe_debug_enabled, BOOL
978
+ end
979
+
980
+ class PciAddress < NSISupports
981
+ iid "D88B324F-DB19-4D3B-A1A9-BF5B127199A8"
982
+ property :bus, INT16
983
+ property :device, INT16
984
+ property :dev_function, INT16
985
+ function :as_long, INT32, []
986
+ function :from_long, nil, [INT32]
987
+ end
988
+
989
+ class PciDeviceAttachment < NSISupports
990
+ iid "91f33d6f-e621-4f70-a77e-15f0e3c714d5"
991
+ property :name, WSTRING, :readonly => true
992
+ property :is_physical_device, BOOL, :readonly => true
993
+ property :host_address, INT32, :readonly => true
994
+ property :guest_address, INT32, :readonly => true
995
+ end
996
+
997
+ class Machine < NSISupports
998
+ iid "5eaa9319-62fc-4b0a-843c-0cb1940f8a91"
999
+ property :parent, :VirtualBox, :readonly => true
1000
+ property :accessible, BOOL, :readonly => true
1001
+ property :access_error, :VirtualBoxErrorInfo, :readonly => true
1002
+ property :name, WSTRING
1003
+ property :description, WSTRING
1004
+ property :id, WSTRING, :readonly => true
1005
+ property :os_type_id, WSTRING
1006
+ property :hardware_version, WSTRING
1007
+ property :hardware_uuid, WSTRING
1008
+ property :cpu_count, UINT32
1009
+ property :cpu_hot_plug_enabled, BOOL
1010
+ property :cpu_execution_cap, UINT32
1011
+ property :memory_size, UINT32
1012
+ property :memory_balloon_size, UINT32
1013
+ property :page_fusion_enabled, BOOL
1014
+ property :vram_size, UINT32
1015
+ property :accelerate_3d_enabled, BOOL
1016
+ property :accelerate_2d_video_enabled, BOOL
1017
+ property :monitor_count, UINT32
1018
+ property :bios_settings, :BIOSSettings, :readonly => true
1019
+ property :firmware_type, :FirmwareType
1020
+ property :pointing_hid_type, :PointingHidType
1021
+ property :keyboard_hid_type, :KeyboardHidType
1022
+ property :hpet_enabled, BOOL
1023
+ property :chipset_type, :ChipsetType
1024
+ property :snapshot_folder, WSTRING
1025
+ property :vrde_server, :VRDEServer, :readonly => true
1026
+ property :emulated_usb_webcamera_enabled, BOOL
1027
+ property :emulated_usb_card_reader_enabled, BOOL
1028
+ property :medium_attachments, [:MediumAttachment], :readonly => true
1029
+ property :usb_controller, :USBController, :readonly => true
1030
+ property :audio_adapter, :AudioAdapter, :readonly => true
1031
+ property :storage_controllers, [:StorageController], :readonly => true
1032
+ property :settings_file_path, WSTRING, :readonly => true
1033
+ property :settings_modified, BOOL, :readonly => true
1034
+ property :session_state, :SessionState, :readonly => true
1035
+ property :session_type, WSTRING, :readonly => true
1036
+ property :session_pid, UINT32, :readonly => true
1037
+ property :state, :MachineState, :readonly => true
1038
+ property :last_state_change, INT64, :readonly => true
1039
+ property :state_file_path, WSTRING, :readonly => true
1040
+ property :log_folder, WSTRING, :readonly => true
1041
+ property :current_snapshot, :Snapshot, :readonly => true
1042
+ property :snapshot_count, UINT32, :readonly => true
1043
+ property :current_state_modified, BOOL, :readonly => true
1044
+ property :shared_folders, [:SharedFolder], :readonly => true
1045
+ property :clipboard_mode, :ClipboardMode
1046
+ property :guest_property_notification_patterns, WSTRING
1047
+ property :teleporter_enabled, BOOL
1048
+ property :teleporter_port, UINT32
1049
+ property :teleporter_address, WSTRING
1050
+ property :teleporter_password, WSTRING
1051
+ property :fault_tolerance_state, :FaultToleranceState
1052
+ property :fault_tolerance_port, UINT32
1053
+ property :fault_tolerance_address, WSTRING
1054
+ property :fault_tolerance_password, WSTRING
1055
+ property :fault_tolerance_sync_interval, UINT32
1056
+ property :rtc_use_utc, BOOL
1057
+ property :io_cache_enabled, BOOL
1058
+ property :io_cache_size, UINT32
1059
+ property :bandwidth_control, :BandwidthControl, :readonly => true
1060
+ property :pci_device_assignments, [:PciDeviceAttachment], :readonly => true
1061
+ function :lock_machine, nil, [:Session, :LockType]
1062
+ function :launch_vm_process, :Progress, [:Session, WSTRING, WSTRING]
1063
+ function :set_boot_order, nil, [UINT32, :DeviceType]
1064
+ function :get_boot_order, :DeviceType, [UINT32]
1065
+ function :attach_device, nil, [WSTRING, INT32, INT32, :DeviceType, :Medium]
1066
+ function :detach_device, nil, [WSTRING, INT32, INT32]
1067
+ function :passthrough_device, nil, [WSTRING, INT32, INT32, BOOL]
1068
+ function :temporary_eject_device, nil, [WSTRING, INT32, INT32, BOOL]
1069
+ function :non_rotational_device, nil, [WSTRING, INT32, INT32, BOOL]
1070
+ function :set_bandwidth_group_for_device, nil, [WSTRING, INT32, INT32, :BandwidthGroup]
1071
+ function :mount_medium, nil, [WSTRING, INT32, INT32, :Medium, BOOL]
1072
+ function :get_medium, :Medium, [WSTRING, INT32, INT32]
1073
+ function :get_medium_attachments_of_controller, [:MediumAttachment], [WSTRING]
1074
+ function :get_medium_attachment, :MediumAttachment, [WSTRING, INT32, INT32]
1075
+ function :attach_host_pci_device, nil, [INT32, INT32, BOOL]
1076
+ function :detach_host_pci_device, nil, [INT32]
1077
+ function :get_network_adapter, :NetworkAdapter, [UINT32]
1078
+ function :add_storage_controller, :StorageController, [WSTRING, :StorageBus]
1079
+ function :get_storage_controller_by_name, :StorageController, [WSTRING]
1080
+ function :get_storage_controller_by_instance, :StorageController, [UINT32]
1081
+ function :remove_storage_controller, nil, [WSTRING]
1082
+ function :set_storage_controller_bootable, nil, [WSTRING, BOOL]
1083
+ function :get_serial_port, :SerialPort, [UINT32]
1084
+ function :get_parallel_port, :ParallelPort, [UINT32]
1085
+ function :get_extra_data_keys, [WSTRING], []
1086
+ function :get_extra_data, WSTRING, [WSTRING]
1087
+ function :set_extra_data, nil, [WSTRING, WSTRING]
1088
+ function :get_cpu_property, BOOL, [:CPUPropertyType]
1089
+ function :set_cpu_property, nil, [:CPUPropertyType, BOOL]
1090
+ function :get_cpuid_leaf, nil, [UINT32, [:out, UINT32], [:out, UINT32], [:out, UINT32], [:out, UINT32]]
1091
+ function :set_cpuid_leaf, nil, [UINT32, UINT32, UINT32, UINT32, UINT32]
1092
+ function :remove_cpuid_leaf, nil, [UINT32]
1093
+ function :remove_all_cpuid_leaves, nil, []
1094
+ function :get_hw_virt_ex_property, BOOL, [:HWVirtExPropertyType]
1095
+ function :set_hw_virt_ex_property, nil, [:HWVirtExPropertyType, BOOL]
1096
+ function :save_settings, nil, []
1097
+ function :discard_settings, nil, []
1098
+ function :unregister, [:Medium], [:CleanupMode]
1099
+ function :delete, :Progress, [[:Medium]]
1100
+ function :export, :VirtualSystemDescription, [:Appliance, WSTRING]
1101
+ function :find_snapshot, :Snapshot, [WSTRING]
1102
+ function :create_shared_folder, nil, [WSTRING, WSTRING, BOOL, BOOL]
1103
+ function :remove_shared_folder, nil, [WSTRING]
1104
+ function :can_show_console_window, BOOL, []
1105
+ function :show_console_window, INT64, []
1106
+ function :get_guest_property, nil, [WSTRING, [:out, WSTRING], [:out, INT64], [:out, WSTRING]]
1107
+ function :get_guest_property_value, WSTRING, [WSTRING]
1108
+ function :get_guest_property_timestamp, INT64, [WSTRING]
1109
+ function :set_guest_property, nil, [WSTRING, WSTRING, WSTRING]
1110
+ function :set_guest_property_value, nil, [WSTRING, WSTRING]
1111
+ function :enumerate_guest_properties, nil, [WSTRING, [:out, [WSTRING]], [:out, [WSTRING]], [:out, [INT64]], [:out, [WSTRING]]]
1112
+ function :query_saved_guest_size, nil, [UINT32, [:out, UINT32], [:out, UINT32]]
1113
+ function :query_saved_thumbnail_size, nil, [UINT32, [:out, UINT32], [:out, UINT32], [:out, UINT32]]
1114
+ function :read_saved_thumbnail_to_array, [OCTET], [UINT32, BOOL, [:out, UINT32], [:out, UINT32]]
1115
+ function :read_saved_thumbnail_png_to_array, [OCTET], [UINT32, [:out, UINT32], [:out, UINT32]]
1116
+ function :query_saved_screenshot_png_size, nil, [UINT32, [:out, UINT32], [:out, UINT32], [:out, UINT32]]
1117
+ function :read_saved_screenshot_png_to_array, [OCTET], [UINT32, [:out, UINT32], [:out, UINT32]]
1118
+ function :hot_plug_cpu, nil, [UINT32]
1119
+ function :hot_unplug_cpu, nil, [UINT32]
1120
+ function :get_cpu_status, BOOL, [UINT32]
1121
+ function :query_log_filename, WSTRING, [UINT32]
1122
+ function :read_log, [OCTET], [UINT32, INT64, INT64]
1123
+ function :clone_to, :Progress, [:Machine, :CloneMode, [:CloneOptions]]
1124
+ end
1125
+
1126
+ class VRDEServerInfo < NSISupports
1127
+ iid "714434a1-58c3-4aab-9049-7652c5df113b"
1128
+ property :active, BOOL, :readonly => true
1129
+ property :port, INT32, :readonly => true
1130
+ property :number_of_clients, UINT32, :readonly => true
1131
+ property :begin_time, INT64, :readonly => true
1132
+ property :end_time, INT64, :readonly => true
1133
+ property :bytes_sent, INT64, :readonly => true
1134
+ property :bytes_sent_total, INT64, :readonly => true
1135
+ property :bytes_received, INT64, :readonly => true
1136
+ property :bytes_received_total, INT64, :readonly => true
1137
+ property :user, WSTRING, :readonly => true
1138
+ property :domain, WSTRING, :readonly => true
1139
+ property :client_name, WSTRING, :readonly => true
1140
+ property :client_ip, WSTRING, :readonly => true
1141
+ property :client_version, UINT32, :readonly => true
1142
+ property :encryption_style, UINT32, :readonly => true
1143
+ end
1144
+
1145
+ class Console < NSISupports
1146
+ iid "1968b7d3-e3bf-4ceb-99e0-cb7c913317bb"
1147
+ property :machine, :Machine, :readonly => true
1148
+ property :state, :MachineState, :readonly => true
1149
+ property :guest, :Guest, :readonly => true
1150
+ property :keyboard, :Keyboard, :readonly => true
1151
+ property :mouse, :Mouse, :readonly => true
1152
+ property :display, :Display, :readonly => true
1153
+ property :debugger, :MachineDebugger, :readonly => true
1154
+ property :usb_devices, [:USBDevice], :readonly => true
1155
+ property :remote_usb_devices, [:HostUSBDevice], :readonly => true
1156
+ property :shared_folders, [:SharedFolder], :readonly => true
1157
+ property :vrde_server_info, :VRDEServerInfo, :readonly => true
1158
+ property :event_source, :EventSource, :readonly => true
1159
+ property :attached_pci_devices, [:PciDeviceAttachment], :readonly => true
1160
+ property :use_host_clipboard, BOOL
1161
+ function :power_up, :Progress, []
1162
+ function :power_up_paused, :Progress, []
1163
+ function :power_down, :Progress, []
1164
+ function :reset, nil, []
1165
+ function :pause, nil, []
1166
+ function :resume, nil, []
1167
+ function :power_button, nil, []
1168
+ function :sleep_button, nil, []
1169
+ function :get_power_button_handled, BOOL, []
1170
+ function :get_guest_entered_acpi_mode, BOOL, []
1171
+ function :save_state, :Progress, []
1172
+ function :adopt_saved_state, nil, [WSTRING]
1173
+ function :discard_saved_state, nil, [BOOL]
1174
+ function :get_device_activity, :DeviceActivity, [:DeviceType]
1175
+ function :attach_usb_device, nil, [WSTRING]
1176
+ function :detach_usb_device, :USBDevice, [WSTRING]
1177
+ function :find_usb_device_by_address, :USBDevice, [WSTRING]
1178
+ function :find_usb_device_by_id, :USBDevice, [WSTRING]
1179
+ function :create_shared_folder, nil, [WSTRING, WSTRING, BOOL, BOOL]
1180
+ function :remove_shared_folder, nil, [WSTRING]
1181
+ function :take_snapshot, :Progress, [WSTRING, WSTRING]
1182
+ function :delete_snapshot, :Progress, [WSTRING]
1183
+ function :delete_snapshot_and_all_children, :Progress, [WSTRING]
1184
+ function :delete_snapshot_range, :Progress, [WSTRING, WSTRING]
1185
+ function :restore_snapshot, :Progress, [:Snapshot]
1186
+ function :teleport, :Progress, [WSTRING, UINT32, WSTRING, UINT32]
1187
+ end
1188
+
1189
+ class HostNetworkInterface < NSISupports
1190
+ iid "ce6fae58-7642-4102-b5db-c9005c2320a8"
1191
+ property :name, WSTRING, :readonly => true
1192
+ property :id, WSTRING, :readonly => true
1193
+ property :network_name, WSTRING, :readonly => true
1194
+ property :dhcp_enabled, BOOL, :readonly => true
1195
+ property :ip_address, WSTRING, :readonly => true
1196
+ property :network_mask, WSTRING, :readonly => true
1197
+ property :ipv6_supported, BOOL, :readonly => true
1198
+ property :ipv6_address, WSTRING, :readonly => true
1199
+ property :ipv6_network_mask_prefix_length, UINT32, :readonly => true
1200
+ property :hardware_address, WSTRING, :readonly => true
1201
+ property :medium_type, :HostNetworkInterfaceMediumType, :readonly => true
1202
+ property :status, :HostNetworkInterfaceStatus, :readonly => true
1203
+ property :interface_type, :HostNetworkInterfaceType, :readonly => true
1204
+ function :enable_static_ip_config, nil, [WSTRING, WSTRING]
1205
+ function :enable_static_ip_config_v6, nil, [WSTRING, UINT32]
1206
+ function :enable_dynamic_ip_config, nil, []
1207
+ function :dhcp_rediscover, nil, []
1208
+ end
1209
+
1210
+ class Host < NSISupports
1211
+ iid "dab4a2b8-c735-4f08-94fc-9bec84182e2f"
1212
+ property :dvd_drives, [:Medium], :readonly => true
1213
+ property :floppy_drives, [:Medium], :readonly => true
1214
+ property :usb_devices, [:HostUSBDevice], :readonly => true
1215
+ property :usb_device_filters, [:HostUSBDeviceFilter], :readonly => true
1216
+ property :network_interfaces, [:HostNetworkInterface], :readonly => true
1217
+ property :processor_count, UINT32, :readonly => true
1218
+ property :processor_online_count, UINT32, :readonly => true
1219
+ property :processor_core_count, UINT32, :readonly => true
1220
+ property :memory_size, UINT32, :readonly => true
1221
+ property :memory_available, UINT32, :readonly => true
1222
+ property :operating_system, WSTRING, :readonly => true
1223
+ property :os_version, WSTRING, :readonly => true
1224
+ property :utc_time, INT64, :readonly => true
1225
+ property :acceleration3d_available, BOOL, :readonly => true
1226
+ function :get_processor_speed, UINT32, [UINT32]
1227
+ function :get_processor_feature, BOOL, [:ProcessorFeature]
1228
+ function :get_processor_description, WSTRING, [UINT32]
1229
+ function :get_processor_cpuid_leaf, nil, [UINT32, UINT32, UINT32, [:out, UINT32], [:out, UINT32], [:out, UINT32], [:out, UINT32]]
1230
+ function :create_host_only_network_interface, :Progress, [[:out, :HostNetworkInterface]]
1231
+ function :remove_host_only_network_interface, :Progress, [WSTRING]
1232
+ function :create_usb_device_filter, :HostUSBDeviceFilter, [WSTRING]
1233
+ function :insert_usb_device_filter, nil, [UINT32, :HostUSBDeviceFilter]
1234
+ function :remove_usb_device_filter, nil, [UINT32]
1235
+ function :find_host_dvd_drive, :Medium, [WSTRING]
1236
+ function :find_host_floppy_drive, :Medium, [WSTRING]
1237
+ function :find_host_network_interface_by_name, :HostNetworkInterface, [WSTRING]
1238
+ function :find_host_network_interface_by_id, :HostNetworkInterface, [WSTRING]
1239
+ function :find_host_network_interfaces_of_type, [:HostNetworkInterface], [:HostNetworkInterfaceType]
1240
+ function :find_usb_device_by_id, :HostUSBDevice, [WSTRING]
1241
+ function :find_usb_device_by_address, :HostUSBDevice, [WSTRING]
1242
+ function :generate_mac_address, WSTRING, []
1243
+ end
1244
+
1245
+ class SystemProperties < NSISupports
1246
+ iid "8a0ab9ab-48c1-4d04-954b-4a751413d084"
1247
+ property :min_guest_ram, UINT32, :readonly => true
1248
+ property :max_guest_ram, UINT32, :readonly => true
1249
+ property :min_guest_vram, UINT32, :readonly => true
1250
+ property :max_guest_vram, UINT32, :readonly => true
1251
+ property :min_guest_cpu_count, UINT32, :readonly => true
1252
+ property :max_guest_cpu_count, UINT32, :readonly => true
1253
+ property :max_guest_monitors, UINT32, :readonly => true
1254
+ property :info_vd_size, INT64, :readonly => true
1255
+ property :serial_port_count, UINT32, :readonly => true
1256
+ property :parallel_port_count, UINT32, :readonly => true
1257
+ property :max_boot_position, UINT32, :readonly => true
1258
+ property :default_machine_folder, WSTRING
1259
+ property :medium_formats, [:MediumFormat], :readonly => true
1260
+ property :default_hard_disk_format, WSTRING
1261
+ property :free_disk_space_warning, INT64
1262
+ property :free_disk_space_percent_warning, UINT32
1263
+ property :free_disk_space_error, INT64
1264
+ property :free_disk_space_percent_error, UINT32
1265
+ property :vrde_auth_library, WSTRING
1266
+ property :web_service_auth_library, WSTRING
1267
+ property :default_vrde_ext_pack, WSTRING
1268
+ property :log_history_count, UINT32
1269
+ property :default_audio_driver, :AudioDriverType, :readonly => true
1270
+ function :get_max_network_adapters, UINT32, [:ChipsetType]
1271
+ function :get_max_network_adapters_of_type, UINT32, [:ChipsetType, :NetworkAttachmentType]
1272
+ function :get_max_devices_per_port_for_storage_bus, UINT32, [:StorageBus]
1273
+ function :get_min_port_count_for_storage_bus, UINT32, [:StorageBus]
1274
+ function :get_max_port_count_for_storage_bus, UINT32, [:StorageBus]
1275
+ function :get_max_instances_of_storage_bus, UINT32, [:ChipsetType, :StorageBus]
1276
+ function :get_device_types_for_storage_bus, [:DeviceType], [:StorageBus]
1277
+ function :get_default_io_cache_setting_for_storage_controller, BOOL, [:StorageControllerType]
1278
+ end
1279
+
1280
+ class GuestOSType < NSISupports
1281
+ iid "432c1546-1354-4abf-bf08-878a32a373f5"
1282
+ property :family_id, WSTRING, :readonly => true
1283
+ property :family_description, WSTRING, :readonly => true
1284
+ property :id, WSTRING, :readonly => true
1285
+ property :description, WSTRING, :readonly => true
1286
+ property :is64_bit, BOOL, :readonly => true
1287
+ property :recommended_io_apic, BOOL, :readonly => true
1288
+ property :recommended_virt_ex, BOOL, :readonly => true
1289
+ property :recommended_ram, UINT32, :readonly => true
1290
+ property :recommended_vram, UINT32, :readonly => true
1291
+ property :recommended_hdd, INT64, :readonly => true
1292
+ property :adapter_type, :NetworkAdapterType, :readonly => true
1293
+ property :recommended_pae, BOOL, :readonly => true
1294
+ property :recommended_dvd_storage_controller, :StorageControllerType, :readonly => true
1295
+ property :recommended_dvd_storage_bus, :StorageBus, :readonly => true
1296
+ property :recommended_hd_storage_controller, :StorageControllerType, :readonly => true
1297
+ property :recommended_hd_storage_bus, :StorageBus, :readonly => true
1298
+ property :recommended_firmware, :FirmwareType, :readonly => true
1299
+ property :recommended_usb_hid, BOOL, :readonly => true
1300
+ property :recommended_hpet, BOOL, :readonly => true
1301
+ property :recommended_usb_tablet, BOOL, :readonly => true
1302
+ property :recommended_rtc_use_utc, BOOL, :readonly => true
1303
+ property :recommended_chipset, :ChipsetType, :readonly => true
1304
+ property :recommended_audio_controller, :AudioControllerType, :readonly => true
1305
+ end
1306
+
1307
+ class AdditionsFacility < NSISupports
1308
+ iid "54992946-6af1-4e49-98ec-58b558b7291e"
1309
+ property :class_type, :AdditionsFacilityClass, :readonly => true
1310
+ property :last_updated, INT64, :readonly => true
1311
+ property :name, WSTRING, :readonly => true
1312
+ property :status, :AdditionsFacilityStatus, :readonly => true
1313
+ property :type, :AdditionsFacilityType, :readonly => true
1314
+ end
1315
+
1316
+ class GuestDirEntry < NSISupports
1317
+ iid "20a66efc-c2f6-4438-826f-38454c04369e"
1318
+ property :node_id, INT64, :readonly => true
1319
+ property :name, WSTRING, :readonly => true
1320
+ property :type, :GuestDirEntryType, :readonly => true
1321
+ end
1322
+
1323
+ class Guest < NSISupports
1324
+ iid "ed109b6e-0578-4b17-8ace-52646789f1a0"
1325
+ property :os_type_id, WSTRING, :readonly => true
1326
+ property :additions_run_level, :AdditionsRunLevelType, :readonly => true
1327
+ property :additions_version, WSTRING, :readonly => true
1328
+ property :facilities, [:AdditionsFacility], :readonly => true
1329
+ property :memory_balloon_size, UINT32
1330
+ property :statistics_update_interval, UINT32
1331
+ function :internal_get_statistics, nil, [[:out, UINT32], [:out, UINT32], [:out, UINT32], [:out, UINT32], [:out, UINT32], [:out, UINT32], [:out, UINT32], [:out, UINT32], [:out, UINT32], [:out, UINT32], [:out, UINT32], [:out, UINT32], [:out, UINT32]]
1332
+ function :get_facility_status, :AdditionsFacilityStatus, [:AdditionsFacilityType, [:out, INT64]]
1333
+ function :get_additions_status, BOOL, [:AdditionsRunLevelType]
1334
+ function :set_credentials, nil, [WSTRING, WSTRING, WSTRING, BOOL]
1335
+ function :execute_process, :Progress, [WSTRING, UINT32, [WSTRING], [WSTRING], WSTRING, WSTRING, UINT32, [:out, UINT32]]
1336
+ function :get_process_output, [OCTET], [UINT32, UINT32, UINT32, INT64]
1337
+ function :get_process_status, :ExecuteProcessStatus, [UINT32, [:out, UINT32], [:out, UINT32]]
1338
+ function :copy_from_guest, :Progress, [WSTRING, WSTRING, WSTRING, WSTRING, UINT32]
1339
+ function :copy_to_guest, :Progress, [WSTRING, WSTRING, WSTRING, WSTRING, UINT32]
1340
+ function :directory_close, nil, [UINT32]
1341
+ function :directory_create, nil, [WSTRING, WSTRING, WSTRING, UINT32, UINT32]
1342
+ function :directory_open, UINT32, [WSTRING, WSTRING, UINT32, WSTRING, WSTRING]
1343
+ function :directory_read, :GuestDirEntry, [UINT32]
1344
+ function :file_exists, BOOL, [WSTRING, WSTRING, WSTRING]
1345
+ function :file_query_size, INT64, [WSTRING, WSTRING, WSTRING]
1346
+ function :set_process_input, UINT32, [UINT32, UINT32, UINT32, [OCTET]]
1347
+ function :update_guest_additions, :Progress, [WSTRING, UINT32]
1348
+ end
1349
+
1350
+ class Progress < NSISupports
1351
+ iid "c20238e4-3221-4d3f-8891-81ce92d9f913"
1352
+ property :id, WSTRING, :readonly => true
1353
+ property :description, WSTRING, :readonly => true
1354
+ property :initiator, :NSISupports, :readonly => true
1355
+ property :cancelable, BOOL, :readonly => true
1356
+ property :percent, UINT32, :readonly => true
1357
+ property :time_remaining, INT32, :readonly => true
1358
+ property :completed, BOOL, :readonly => true
1359
+ property :canceled, BOOL, :readonly => true
1360
+ property :result_code, INT32, :readonly => true
1361
+ property :error_info, :VirtualBoxErrorInfo, :readonly => true
1362
+ property :operation_count, UINT32, :readonly => true
1363
+ property :operation, UINT32, :readonly => true
1364
+ property :operation_description, WSTRING, :readonly => true
1365
+ property :operation_percent, UINT32, :readonly => true
1366
+ property :operation_weight, UINT32, :readonly => true
1367
+ property :timeout, UINT32
1368
+ function :set_current_operation_progress, nil, [UINT32]
1369
+ function :set_next_operation, nil, [WSTRING, UINT32]
1370
+ function :wait_for_completion, nil, [INT32]
1371
+ function :wait_for_operation_completion, nil, [UINT32, INT32]
1372
+ function :wait_for_async_progress_completion, nil, [:Progress]
1373
+ function :cancel, nil, []
1374
+ end
1375
+
1376
+ class Snapshot < NSISupports
1377
+ iid "0472823b-c6e7-472a-8e9f-d732e86b8463"
1378
+ property :id, WSTRING, :readonly => true
1379
+ property :name, WSTRING
1380
+ property :description, WSTRING
1381
+ property :time_stamp, INT64, :readonly => true
1382
+ property :online, BOOL, :readonly => true
1383
+ property :machine, :Machine, :readonly => true
1384
+ property :parent, :Snapshot, :readonly => true
1385
+ property :children, [:Snapshot], :readonly => true
1386
+ function :get_children_count, UINT32, []
1387
+ end
1388
+
1389
+ class MediumAttachment < NSISupports
1390
+ iid "b5dfbb8c-7498-48c3-bf10-78fc60f064e1"
1391
+ property :medium, :Medium, :readonly => true
1392
+ property :controller, WSTRING, :readonly => true
1393
+ property :port, INT32, :readonly => true
1394
+ property :device, INT32, :readonly => true
1395
+ property :type, :DeviceType, :readonly => true
1396
+ property :passthrough, BOOL, :readonly => true
1397
+ property :temporary_eject, BOOL, :readonly => true
1398
+ property :is_ejected, BOOL, :readonly => true
1399
+ property :non_rotational, BOOL, :readonly => true
1400
+ property :bandwidth_group, :BandwidthGroup, :readonly => true
1401
+ end
1402
+
1403
+ class Medium < NSISupports
1404
+ iid "53f9cc0c-e0fd-40a5-a404-a7a5272082cd"
1405
+ property :id, WSTRING, :readonly => true
1406
+ property :description, WSTRING
1407
+ property :state, :MediumState, :readonly => true
1408
+ property :variant, UINT32, :readonly => true
1409
+ property :location, WSTRING
1410
+ property :name, WSTRING, :readonly => true
1411
+ property :device_type, :DeviceType, :readonly => true
1412
+ property :host_drive, BOOL, :readonly => true
1413
+ property :size, INT64, :readonly => true
1414
+ property :format, WSTRING, :readonly => true
1415
+ property :medium_format, :MediumFormat, :readonly => true
1416
+ property :type, :MediumType
1417
+ property :allowed_types, [:MediumType], :readonly => true
1418
+ property :parent, :Medium, :readonly => true
1419
+ property :children, [:Medium], :readonly => true
1420
+ property :base, :Medium, :readonly => true
1421
+ property :read_only, BOOL, :readonly => true
1422
+ property :logical_size, INT64, :readonly => true
1423
+ property :auto_reset, BOOL
1424
+ property :last_access_error, WSTRING, :readonly => true
1425
+ property :machine_ids, [WSTRING], :readonly => true
1426
+ function :set_i_ds, nil, [BOOL, WSTRING, BOOL, WSTRING]
1427
+ function :refresh_state, :MediumState, []
1428
+ function :get_snapshot_ids, [WSTRING], [WSTRING]
1429
+ function :lock_read, :MediumState, []
1430
+ function :unlock_read, :MediumState, []
1431
+ function :lock_write, :MediumState, []
1432
+ function :unlock_write, :MediumState, []
1433
+ function :close, nil, []
1434
+ function :get_property, WSTRING, [WSTRING]
1435
+ function :set_property, nil, [WSTRING, WSTRING]
1436
+ function :get_properties, [WSTRING], [WSTRING, [:out, [WSTRING]]]
1437
+ function :set_properties, nil, [[WSTRING], [WSTRING]]
1438
+ function :create_base_storage, :Progress, [INT64, UINT32]
1439
+ function :delete_storage, :Progress, []
1440
+ function :create_diff_storage, :Progress, [:Medium, UINT32]
1441
+ function :merge_to, :Progress, [:Medium]
1442
+ function :clone_to, :Progress, [:Medium, UINT32, :Medium]
1443
+ function :compact, :Progress, []
1444
+ function :resize, :Progress, [INT64]
1445
+ function :reset, :Progress, []
1446
+ end
1447
+
1448
+ class MediumFormat < NSISupports
1449
+ iid "9bd5b655-ea47-4637-99f3-aad0948be35b"
1450
+ property :id, WSTRING, :readonly => true
1451
+ property :name, WSTRING, :readonly => true
1452
+ property :capabilities, UINT32, :readonly => true
1453
+ function :describe_file_extensions, nil, [[:out, [WSTRING]], [:out, [:DeviceType]]]
1454
+ function :describe_properties, nil, [[:out, [WSTRING]], [:out, [WSTRING]], [:out, [:DataType]], [:out, [UINT32]], [:out, [WSTRING]]]
1455
+ end
1456
+
1457
+ class Keyboard < NSISupports
1458
+ iid "f6916ec5-a881-4237-898f-7de58cf88672"
1459
+ property :event_source, :EventSource, :readonly => true
1460
+ function :put_scancode, nil, [INT32]
1461
+ function :put_scancodes, UINT32, [[INT32]]
1462
+ function :put_cad, nil, []
1463
+ end
1464
+
1465
+ class Mouse < NSISupports
1466
+ iid "05044a52-7811-4f00-ae3a-0ab7ff707b10"
1467
+ property :absolute_supported, BOOL, :readonly => true
1468
+ property :relative_supported, BOOL, :readonly => true
1469
+ property :needs_host_cursor, BOOL, :readonly => true
1470
+ property :event_source, :EventSource, :readonly => true
1471
+ function :put_mouse_event, nil, [INT32, INT32, INT32, INT32, INT32]
1472
+ function :put_mouse_event_absolute, nil, [INT32, INT32, INT32, INT32, INT32]
1473
+ end
1474
+
1475
+ class Framebuffer < NSISupports
1476
+ iid "b7ed347a-5765-40a0-ae1c-f543eb4ddeaf"
1477
+ property :address, PTR, :readonly => true
1478
+ property :width, UINT32, :readonly => true
1479
+ property :height, UINT32, :readonly => true
1480
+ property :bits_per_pixel, UINT32, :readonly => true
1481
+ property :bytes_per_line, UINT32, :readonly => true
1482
+ property :pixel_format, UINT32, :readonly => true
1483
+ property :uses_guest_vram, BOOL, :readonly => true
1484
+ property :height_reduction, UINT32, :readonly => true
1485
+ property :overlay, :FramebufferOverlay, :readonly => true
1486
+ property :win_id, INT64, :readonly => true
1487
+ function :lock, nil, []
1488
+ function :unlock, nil, []
1489
+ function :notify_update, nil, [UINT32, UINT32, UINT32, UINT32]
1490
+ function :request_resize, BOOL, [UINT32, UINT32, PTR, UINT32, UINT32, UINT32, UINT32]
1491
+ function :video_mode_supported, BOOL, [UINT32, UINT32, UINT32]
1492
+ function :get_visible_region, UINT32, [PTR, UINT32]
1493
+ function :set_visible_region, nil, [PTR, UINT32]
1494
+ function :process_vhwa_command, nil, [PTR]
1495
+ end
1496
+
1497
+ class FramebufferOverlay < Framebuffer
1498
+ iid "0bcc1c7e-e415-47d2-bfdb-e4c705fb0f47"
1499
+ property :x, UINT32, :readonly => true
1500
+ property :y, UINT32, :readonly => true
1501
+ property :visible, BOOL, :readonly => true
1502
+ property :alpha, UINT32, :readonly => true
1503
+ function :move, nil, [UINT32, UINT32]
1504
+ end
1505
+
1506
+ class Display < NSISupports
1507
+ iid "09EED313-CD56-4D06-BD56-FAC0F716B5DD"
1508
+ function :get_screen_resolution, nil, [UINT32, [:out, UINT32], [:out, UINT32], [:out, UINT32]]
1509
+ function :set_framebuffer, nil, [UINT32, :Framebuffer]
1510
+ function :get_framebuffer, nil, [UINT32, [:out, :Framebuffer], [:out, INT32], [:out, INT32]]
1511
+ function :set_video_mode_hint, nil, [UINT32, UINT32, UINT32, UINT32]
1512
+ function :set_seamless_mode, nil, [BOOL]
1513
+ function :take_screenshot, nil, [UINT32, PTR, UINT32, UINT32]
1514
+ function :take_screenshot_to_array, [OCTET], [UINT32, UINT32, UINT32]
1515
+ function :take_screenshot_png_to_array, [OCTET], [UINT32, UINT32, UINT32]
1516
+ function :draw_to_screen, nil, [UINT32, PTR, UINT32, UINT32, UINT32, UINT32]
1517
+ function :invalidate_and_update, nil, []
1518
+ function :resize_completed, nil, [UINT32]
1519
+ function :complete_vhwa_command, nil, [PTR]
1520
+ end
1521
+
1522
+ class NetworkAdapter < NSISupports
1523
+ iid "8b2e705c-0547-4008-b7bc-788757346092"
1524
+ property :adapter_type, :NetworkAdapterType
1525
+ property :slot, UINT32, :readonly => true
1526
+ property :enabled, BOOL
1527
+ property :mac_address, WSTRING
1528
+ property :attachment_type, :NetworkAttachmentType
1529
+ property :bridged_interface, WSTRING
1530
+ property :host_only_interface, WSTRING
1531
+ property :internal_network, WSTRING
1532
+ property :nat_network, WSTRING
1533
+ property :generic_driver, WSTRING
1534
+ property :cable_connected, BOOL
1535
+ property :line_speed, UINT32
1536
+ property :promisc_mode_policy, :NetworkAdapterPromiscModePolicy
1537
+ property :trace_enabled, BOOL
1538
+ property :trace_file, WSTRING
1539
+ property :nat_driver, :NATEngine, :readonly => true
1540
+ property :boot_priority, UINT32
1541
+ property :bandwidth_group, :BandwidthGroup
1542
+ function :get_property, WSTRING, [WSTRING]
1543
+ function :set_property, nil, [WSTRING, WSTRING]
1544
+ function :get_properties, [WSTRING], [WSTRING, [:out, [WSTRING]]]
1545
+ end
1546
+
1547
+ class SerialPort < NSISupports
1548
+ iid "937f6970-5103-4745-b78e-d28dcf1479a8"
1549
+ property :slot, UINT32, :readonly => true
1550
+ property :enabled, BOOL
1551
+ property :io_base, UINT32
1552
+ property :irq, UINT32
1553
+ property :host_mode, :PortMode
1554
+ property :server, BOOL
1555
+ property :path, WSTRING
1556
+ end
1557
+
1558
+ class ParallelPort < NSISupports
1559
+ iid "0c925f06-dd10-4b77-8de8-294d738c3214"
1560
+ property :slot, UINT32, :readonly => true
1561
+ property :enabled, BOOL
1562
+ property :io_base, UINT32
1563
+ property :irq, UINT32
1564
+ property :path, WSTRING
1565
+ end
1566
+
1567
+ class MachineDebugger < NSISupports
1568
+ iid "1bfd2fa9-0d91-44d3-9515-368dcbb3eb4d"
1569
+ property :singlestep, BOOL
1570
+ property :recompile_user, BOOL
1571
+ property :recompile_supervisor, BOOL
1572
+ property :patm_enabled, BOOL
1573
+ property :csam_enabled, BOOL
1574
+ property :log_enabled, BOOL
1575
+ property :log_flags, WSTRING, :readonly => true
1576
+ property :log_groups, WSTRING, :readonly => true
1577
+ property :log_destinations, WSTRING, :readonly => true
1578
+ property :hw_virt_ex_enabled, BOOL, :readonly => true
1579
+ property :hw_virt_ex_nested_paging_enabled, BOOL, :readonly => true
1580
+ property :hw_virt_ex_vpid_enabled, BOOL, :readonly => true
1581
+ property :os_name, WSTRING, :readonly => true
1582
+ property :os_version, WSTRING, :readonly => true
1583
+ property :pae_enabled, BOOL, :readonly => true
1584
+ property :virtual_time_rate, UINT32
1585
+ property :vm, INT64, :readonly => true
1586
+ function :dump_guest_core, nil, [WSTRING, WSTRING]
1587
+ function :dump_host_process_core, nil, [WSTRING, WSTRING]
1588
+ function :info, WSTRING, [WSTRING, WSTRING]
1589
+ function :inject_n_m_i, nil, []
1590
+ function :modify_log_groups, nil, [WSTRING]
1591
+ function :modify_log_flags, nil, [WSTRING]
1592
+ function :modify_log_destinations, nil, [WSTRING]
1593
+ function :read_physical_memory, [OCTET], [INT64, UINT32]
1594
+ function :write_physical_memory, nil, [INT64, UINT32, [OCTET]]
1595
+ function :read_virtual_memory, [OCTET], [UINT32, INT64, UINT32]
1596
+ function :write_virtual_memory, nil, [UINT32, INT64, UINT32, [OCTET]]
1597
+ function :detect_os, WSTRING, []
1598
+ function :get_register, WSTRING, [UINT32, WSTRING]
1599
+ function :get_registers, nil, [UINT32, [:out, [WSTRING]], [:out, [WSTRING]]]
1600
+ function :set_register, nil, [UINT32, WSTRING, WSTRING]
1601
+ function :set_registers, nil, [UINT32, [WSTRING], [WSTRING]]
1602
+ function :dump_guest_stack, WSTRING, [UINT32]
1603
+ function :reset_stats, nil, [WSTRING]
1604
+ function :dump_stats, nil, [WSTRING]
1605
+ function :get_stats, nil, [WSTRING, BOOL, [:out, WSTRING]]
1606
+ end
1607
+
1608
+ class USBController < NSISupports
1609
+ iid "6fdcccc5-abd3-4fec-9387-2ad3914fc4a8"
1610
+ property :enabled, BOOL
1611
+ property :enabled_ehci, BOOL
1612
+ property :proxy_available, BOOL, :readonly => true
1613
+ property :usb_standard, UINT16, :readonly => true
1614
+ property :device_filters, [:USBDeviceFilter], :readonly => true
1615
+ function :create_device_filter, :USBDeviceFilter, [WSTRING]
1616
+ function :insert_device_filter, nil, [UINT32, :USBDeviceFilter]
1617
+ function :remove_device_filter, :USBDeviceFilter, [UINT32]
1618
+ end
1619
+
1620
+ class USBDevice < NSISupports
1621
+ iid "f8967b0b-4483-400f-92b5-8b675d98a85b"
1622
+ property :id, WSTRING, :readonly => true
1623
+ property :vendor_id, UINT16, :readonly => true
1624
+ property :product_id, UINT16, :readonly => true
1625
+ property :revision, UINT16, :readonly => true
1626
+ property :manufacturer, WSTRING, :readonly => true
1627
+ property :product, WSTRING, :readonly => true
1628
+ property :serial_number, WSTRING, :readonly => true
1629
+ property :address, WSTRING, :readonly => true
1630
+ property :port, UINT16, :readonly => true
1631
+ property :version, UINT16, :readonly => true
1632
+ property :port_version, UINT16, :readonly => true
1633
+ property :remote, BOOL, :readonly => true
1634
+ end
1635
+
1636
+ class USBDeviceFilter < NSISupports
1637
+ iid "d6831fb4-1a94-4c2c-96ef-8d0d6192066d"
1638
+ property :name, WSTRING
1639
+ property :active, BOOL
1640
+ property :vendor_id, WSTRING
1641
+ property :product_id, WSTRING
1642
+ property :revision, WSTRING
1643
+ property :manufacturer, WSTRING
1644
+ property :product, WSTRING
1645
+ property :serial_number, WSTRING
1646
+ property :port, WSTRING
1647
+ property :remote, WSTRING
1648
+ property :masked_interfaces, UINT32
1649
+ end
1650
+
1651
+ class HostUSBDevice < USBDevice
1652
+ iid "173b4b44-d268-4334-a00d-b6521c9a740a"
1653
+ property :state, :USBDeviceState, :readonly => true
1654
+ end
1655
+
1656
+ class HostUSBDeviceFilter < USBDeviceFilter
1657
+ iid "4cc70246-d74a-400f-8222-3900489c0374"
1658
+ property :action, :USBDeviceFilterAction
1659
+ end
1660
+
1661
+ class AudioAdapter < NSISupports
1662
+ iid "921873db-5f3f-4b69-91f9-7be9e535a2cb"
1663
+ property :enabled, BOOL
1664
+ property :audio_controller, :AudioControllerType
1665
+ property :audio_driver, :AudioDriverType
1666
+ end
1667
+
1668
+ class VRDEServer < NSISupports
1669
+ iid "d38de40a-c2c1-4e95-b5a4-167b05f5694c"
1670
+ property :enabled, BOOL
1671
+ property :auth_type, :AuthType
1672
+ property :auth_timeout, UINT32
1673
+ property :allow_multi_connection, BOOL
1674
+ property :reuse_single_connection, BOOL
1675
+ property :vrde_ext_pack, WSTRING
1676
+ property :auth_library, WSTRING
1677
+ property :vrde_properties, [WSTRING], :readonly => true
1678
+ function :set_vrde_property, nil, [WSTRING, WSTRING]
1679
+ function :get_vrde_property, WSTRING, [WSTRING]
1680
+ end
1681
+
1682
+ class SharedFolder < NSISupports
1683
+ iid "8388da11-b559-4574-a5b7-2bd7acd5cef8"
1684
+ property :name, WSTRING, :readonly => true
1685
+ property :host_path, WSTRING, :readonly => true
1686
+ property :accessible, BOOL, :readonly => true
1687
+ property :writable, BOOL, :readonly => true
1688
+ property :auto_mount, BOOL, :readonly => true
1689
+ property :last_access_error, WSTRING, :readonly => true
1690
+ end
1691
+
1692
+ class InternalSessionControl < NSISupports
1693
+ iid "c2b4cd5f-d3ce-4dd6-b915-123272163ef5"
1694
+ function :get_pid, UINT32, []
1695
+ function :get_remote_console, :Console, []
1696
+ function :assign_machine, nil, [:Machine]
1697
+ function :assign_remote_machine, nil, [:Machine, :Console]
1698
+ function :update_machine_state, nil, [:MachineState]
1699
+ function :uninitialize, nil, []
1700
+ function :on_network_adapter_change, nil, [:NetworkAdapter, BOOL]
1701
+ function :on_serial_port_change, nil, [:SerialPort]
1702
+ function :on_parallel_port_change, nil, [:ParallelPort]
1703
+ function :on_storage_controller_change, nil, []
1704
+ function :on_medium_change, nil, [:MediumAttachment, BOOL]
1705
+ function :on_storage_device_change, nil, [:MediumAttachment, BOOL]
1706
+ function :on_cpu_change, nil, [UINT32, BOOL]
1707
+ function :on_cpu_execution_cap_change, nil, [UINT32]
1708
+ function :on_vrde_server_change, nil, [BOOL]
1709
+ function :on_usb_controller_change, nil, []
1710
+ function :on_shared_folder_change, nil, [BOOL]
1711
+ function :on_usb_device_attach, nil, [:USBDevice, :VirtualBoxErrorInfo, UINT32]
1712
+ function :on_usb_device_detach, nil, [WSTRING, :VirtualBoxErrorInfo]
1713
+ function :on_show_window, nil, [BOOL, [:out, BOOL], [:out, INT64]]
1714
+ function :on_bandwidth_group_change, nil, [:BandwidthGroup]
1715
+ function :access_guest_property, nil, [WSTRING, WSTRING, WSTRING, BOOL, [:out, WSTRING], [:out, INT64], [:out, WSTRING]]
1716
+ function :enumerate_guest_properties, nil, [WSTRING, [:out, [WSTRING]], [:out, [WSTRING]], [:out, [INT64]], [:out, [WSTRING]]]
1717
+ function :online_merge_medium, nil, [:MediumAttachment, UINT32, UINT32, :Medium, :Medium, BOOL, :Medium, [:Medium], :Progress]
1718
+ function :enable_vm_m_statistics, nil, [BOOL]
1719
+ end
1720
+
1721
+ class Session < NSISupports
1722
+ iid "12F4DCDB-12B2-4EC1-B7CD-DDD9F6C5BF4D"
1723
+ property :state, :SessionState, :readonly => true
1724
+ property :type, :SessionType, :readonly => true
1725
+ property :machine, :Machine, :readonly => true
1726
+ property :console, :Console, :readonly => true
1727
+ function :unlock_machine, nil, []
1728
+ end
1729
+
1730
+ class StorageController < NSISupports
1731
+ iid "a1556333-09b6-46d9-bfb7-fc239b7fbe1e"
1732
+ property :name, WSTRING, :readonly => true
1733
+ property :max_devices_per_port_count, UINT32, :readonly => true
1734
+ property :min_port_count, UINT32, :readonly => true
1735
+ property :max_port_count, UINT32, :readonly => true
1736
+ property :instance, UINT32
1737
+ property :port_count, UINT32
1738
+ property :bus, :StorageBus, :readonly => true
1739
+ property :controller_type, :StorageControllerType
1740
+ property :use_host_io_cache, BOOL
1741
+ property :bootable, BOOL, :readonly => true
1742
+ function :get_ide_emulation_port, INT32, [INT32]
1743
+ function :set_ide_emulation_port, nil, [INT32, INT32]
1744
+ end
1745
+
1746
+ class PerformanceMetric < NSISupports
1747
+ iid "2a1a60ae-9345-4019-ad53-d34ba41cbfe9"
1748
+ property :metric_name, WSTRING, :readonly => true
1749
+ property :object, :NSISupports, :readonly => true
1750
+ property :description, WSTRING, :readonly => true
1751
+ property :period, UINT32, :readonly => true
1752
+ property :count, UINT32, :readonly => true
1753
+ property :unit, WSTRING, :readonly => true
1754
+ property :minimum_value, INT32, :readonly => true
1755
+ property :maximum_value, INT32, :readonly => true
1756
+ end
1757
+
1758
+ class PerformanceCollector < NSISupports
1759
+ iid "e22e1acb-ac4a-43bb-a31c-17321659b0c6"
1760
+ property :metric_names, [WSTRING], :readonly => true
1761
+ function :get_metrics, [:PerformanceMetric], [[WSTRING], [:NSISupports]]
1762
+ function :setup_metrics, [:PerformanceMetric], [[WSTRING], [:NSISupports], UINT32, UINT32]
1763
+ function :enable_metrics, [:PerformanceMetric], [[WSTRING], [:NSISupports]]
1764
+ function :disable_metrics, [:PerformanceMetric], [[WSTRING], [:NSISupports]]
1765
+ function :query_metrics_data, [INT32], [[WSTRING], [:NSISupports], [:out, [WSTRING]], [:out, [:NSISupports]], [:out, [WSTRING]], [:out, [UINT32]], [:out, [UINT32]], [:out, [UINT32]], [:out, [UINT32]]]
1766
+ end
1767
+
1768
+ class NATEngine < NSISupports
1769
+ iid "4b286616-eb03-11de-b0fb-1701eca42246"
1770
+ property :network, WSTRING
1771
+ property :host_ip, WSTRING
1772
+ property :tftp_prefix, WSTRING
1773
+ property :tftp_boot_file, WSTRING
1774
+ property :tftp_next_server, WSTRING
1775
+ property :alias_mode, UINT32
1776
+ property :dns_pass_domain, BOOL
1777
+ property :dns_proxy, BOOL
1778
+ property :dns_use_host_resolver, BOOL
1779
+ property :redirects, [WSTRING], :readonly => true
1780
+ function :set_network_settings, nil, [UINT32, UINT32, UINT32, UINT32, UINT32]
1781
+ function :get_network_settings, nil, [[:out, UINT32], [:out, UINT32], [:out, UINT32], [:out, UINT32], [:out, UINT32]]
1782
+ function :add_redirect, nil, [WSTRING, :NATProtocol, WSTRING, UINT16, WSTRING, UINT16]
1783
+ function :remove_redirect, nil, [WSTRING]
1784
+ end
1785
+
1786
+ class ExtPackPlugIn < NSISupports
1787
+ iid "58000040-e718-4746-bbce-4b86d96da461"
1788
+ property :name, WSTRING, :readonly => true
1789
+ property :description, WSTRING, :readonly => true
1790
+ property :frontend, WSTRING, :readonly => true
1791
+ property :module_path, WSTRING, :readonly => true
1792
+ end
1793
+
1794
+ class ExtPackBase < NSISupports
1795
+ iid "5ffb0b64-0ad6-467d-af62-1157e7dc3c99"
1796
+ property :name, WSTRING, :readonly => true
1797
+ property :description, WSTRING, :readonly => true
1798
+ property :version, WSTRING, :readonly => true
1799
+ property :revision, UINT32, :readonly => true
1800
+ property :vrde_module, WSTRING, :readonly => true
1801
+ property :plug_ins, [:ExtPackPlugIn], :readonly => true
1802
+ property :usable, BOOL, :readonly => true
1803
+ property :why_unusable, WSTRING, :readonly => true
1804
+ property :show_license, BOOL, :readonly => true
1805
+ property :license, WSTRING, :readonly => true
1806
+ function :query_license, WSTRING, [WSTRING, WSTRING, WSTRING]
1807
+ end
1808
+
1809
+ class ExtPack < ExtPackBase
1810
+ iid "431685da-3618-4ebc-b038-833ba829b4b2"
1811
+ function :query_object, :NSISupports, [WSTRING]
1812
+ end
1813
+
1814
+ class ExtPackFile < ExtPackBase
1815
+ iid "b6b49f55-efcc-4f08-b486-56e8d8afb10b"
1816
+ property :file_path, WSTRING, :readonly => true
1817
+ function :install, :Progress, [BOOL, WSTRING]
1818
+ end
1819
+
1820
+ class ExtPackManager < NSISupports
1821
+ iid "3295e6ce-b051-47b2-9514-2c588bfe7554"
1822
+ property :installed_ext_packs, [:ExtPack], :readonly => true
1823
+ function :find, :ExtPack, [WSTRING]
1824
+ function :open_ext_pack_file, :ExtPackFile, [WSTRING]
1825
+ function :uninstall, :Progress, [WSTRING, BOOL, WSTRING]
1826
+ function :cleanup, nil, []
1827
+ function :query_all_plug_ins_for_frontend, [WSTRING], [WSTRING]
1828
+ function :is_ext_pack_usable, BOOL, [WSTRING]
1829
+ end
1830
+
1831
+ class BandwidthGroup < NSISupports
1832
+ iid "badea2d7-0261-4146-89f0-6a57cc34833d"
1833
+ property :name, WSTRING, :readonly => true
1834
+ property :type, :BandwidthGroupType, :readonly => true
1835
+ property :reference, UINT32, :readonly => true
1836
+ property :max_mb_per_sec, UINT32
1837
+ end
1838
+
1839
+ class BandwidthControl < NSISupports
1840
+ iid "e2eb3930-d2f4-4f87-be17-0707e30f019f"
1841
+ property :num_groups, UINT32, :readonly => true
1842
+ function :create_bandwidth_group, nil, [WSTRING, :BandwidthGroupType, UINT32]
1843
+ function :delete_bandwidth_group, nil, [WSTRING]
1844
+ function :get_bandwidth_group, :BandwidthGroup, [WSTRING]
1845
+ function :get_all_bandwidth_groups, [:BandwidthGroup], []
1846
+ end
1847
+
1848
+ class VirtualBoxClient < NSISupports
1849
+ iid "5fe0bd48-1181-40d1-991f-3b02f269a823"
1850
+ property :virtual_box, :VirtualBox, :readonly => true
1851
+ property :session, :Session, :readonly => true
1852
+ property :event_source, :EventSource, :readonly => true
1853
+ end
1854
+
1855
+ class EventSource < NSISupports
1856
+ iid "9b6e1aee-35f3-4f4d-b5bb-ed0ecefd8538"
1857
+ function :create_listener, :EventListener, []
1858
+ function :create_aggregator, :EventSource, [[:EventSource]]
1859
+ function :register_listener, nil, [:EventListener, [:VBoxEventType], BOOL]
1860
+ function :unregister_listener, nil, [:EventListener]
1861
+ function :fire_event, BOOL, [:Event, INT32]
1862
+ function :get_event, :Event, [:EventListener, INT32]
1863
+ function :event_processed, nil, [:EventListener, :Event]
1864
+ end
1865
+
1866
+ class EventListener < NSISupports
1867
+ iid "67099191-32e7-4f6c-85ee-422304c71b90"
1868
+ function :handle_event, nil, [:Event]
1869
+ end
1870
+
1871
+ class Event < NSISupports
1872
+ iid "0ca2adba-8f30-401b-a8cd-fe31dbe839c0"
1873
+ property :type, :VBoxEventType, :readonly => true
1874
+ property :source, :EventSource, :readonly => true
1875
+ property :waitable, BOOL, :readonly => true
1876
+ function :set_processed, nil, []
1877
+ function :wait_processed, BOOL, [INT32]
1878
+ end
1879
+
1880
+ class ReusableEvent < Event
1881
+ iid "69bfb134-80f6-4266-8e20-16371f68fa25"
1882
+ property :generation, UINT32, :readonly => true
1883
+ function :reuse, nil, []
1884
+ end
1885
+
1886
+ class MachineEvent < Event
1887
+ iid "92ed7b1a-0d96-40ed-ae46-a564d484325e"
1888
+ property :machine_id, WSTRING, :readonly => true
1889
+ end
1890
+
1891
+ class MachineStateChangedEvent < MachineEvent
1892
+ iid "5748F794-48DF-438D-85EB-98FFD70D18C9"
1893
+ property :state, :MachineState, :readonly => true
1894
+ end
1895
+
1896
+ class MachineDataChangedEvent < MachineEvent
1897
+ iid "abe94809-2e88-4436-83d7-50f3e64d0503"
1898
+ property :temporary, BOOL, :readonly => true
1899
+ end
1900
+
1901
+ class MediumRegisteredEvent < Event
1902
+ iid "53fac49a-b7f1-4a5a-a4ef-a11dd9c2a458"
1903
+ property :medium_id, WSTRING, :readonly => true
1904
+ property :medium_type, :DeviceType, :readonly => true
1905
+ property :registered, BOOL, :readonly => true
1906
+ end
1907
+
1908
+ class MachineRegisteredEvent < MachineEvent
1909
+ iid "c354a762-3ff2-4f2e-8f09-07382ee25088"
1910
+ property :registered, BOOL, :readonly => true
1911
+ end
1912
+
1913
+ class SessionStateChangedEvent < MachineEvent
1914
+ iid "714a3eef-799a-4489-86cd-fe8e45b2ff8e"
1915
+ property :state, :SessionState, :readonly => true
1916
+ end
1917
+
1918
+ class GuestPropertyChangedEvent < MachineEvent
1919
+ iid "3f63597a-26f1-4edb-8dd2-6bddd0912368"
1920
+ property :name, WSTRING, :readonly => true
1921
+ property :value, WSTRING, :readonly => true
1922
+ property :flags, WSTRING, :readonly => true
1923
+ end
1924
+
1925
+ class SnapshotEvent < MachineEvent
1926
+ iid "21637b0e-34b8-42d3-acfb-7e96daf77c22"
1927
+ property :snapshot_id, WSTRING, :readonly => true
1928
+ end
1929
+
1930
+ class SnapshotTakenEvent < SnapshotEvent
1931
+ iid "d27c0b3d-6038-422c-b45e-6d4a0503d9f1"
1932
+ end
1933
+
1934
+ class SnapshotDeletedEvent < SnapshotEvent
1935
+ iid "c48f3401-4a9e-43f4-b7a7-54bd285e22f4"
1936
+ end
1937
+
1938
+ class SnapshotChangedEvent < SnapshotEvent
1939
+ iid "07541941-8079-447a-a33e-47a69c7980db"
1940
+ end
1941
+
1942
+ class MousePointerShapeChangedEvent < Event
1943
+ iid "a6dcf6e8-416b-4181-8c4a-45ec95177aef"
1944
+ property :visible, BOOL, :readonly => true
1945
+ property :alpha, BOOL, :readonly => true
1946
+ property :xhot, UINT32, :readonly => true
1947
+ property :yhot, UINT32, :readonly => true
1948
+ property :width, UINT32, :readonly => true
1949
+ property :height, UINT32, :readonly => true
1950
+ property :shape, [OCTET], :readonly => true
1951
+ end
1952
+
1953
+ class MouseCapabilityChangedEvent < Event
1954
+ iid "d633ad48-820c-4207-b46c-6bd3596640d5"
1955
+ property :supports_absolute, BOOL, :readonly => true
1956
+ property :supports_relative, BOOL, :readonly => true
1957
+ property :needs_host_cursor, BOOL, :readonly => true
1958
+ end
1959
+
1960
+ class KeyboardLedsChangedEvent < Event
1961
+ iid "6DDEF35E-4737-457B-99FC-BC52C851A44F"
1962
+ property :num_lock, BOOL, :readonly => true
1963
+ property :caps_lock, BOOL, :readonly => true
1964
+ property :scroll_lock, BOOL, :readonly => true
1965
+ end
1966
+
1967
+ class StateChangedEvent < Event
1968
+ iid "4376693C-CF37-453B-9289-3B0F521CAF27"
1969
+ property :state, :MachineState, :readonly => true
1970
+ end
1971
+
1972
+ class AdditionsStateChangedEvent < Event
1973
+ iid "D70F7915-DA7C-44C8-A7AC-9F173490446A"
1974
+ end
1975
+
1976
+ class NetworkAdapterChangedEvent < Event
1977
+ iid "08889892-1EC6-4883-801D-77F56CFD0103"
1978
+ property :network_adapter, :NetworkAdapter, :readonly => true
1979
+ end
1980
+
1981
+ class SerialPortChangedEvent < Event
1982
+ iid "3BA329DC-659C-488B-835C-4ECA7AE71C6C"
1983
+ property :serial_port, :SerialPort, :readonly => true
1984
+ end
1985
+
1986
+ class ParallelPortChangedEvent < Event
1987
+ iid "813C99FC-9849-4F47-813E-24A75DC85615"
1988
+ property :parallel_port, :ParallelPort, :readonly => true
1989
+ end
1990
+
1991
+ class StorageControllerChangedEvent < Event
1992
+ iid "715212BF-DA59-426E-8230-3831FAA52C56"
1993
+ end
1994
+
1995
+ class MediumChangedEvent < Event
1996
+ iid "0FE2DA40-5637-472A-9736-72019EABD7DE"
1997
+ property :medium_attachment, :MediumAttachment, :readonly => true
1998
+ end
1999
+
2000
+ class CPUChangedEvent < Event
2001
+ iid "D0F0BECC-EE17-4D17-A8CC-383B0EB55E9D"
2002
+ property :cpu, UINT32, :readonly => true
2003
+ property :add, BOOL, :readonly => true
2004
+ end
2005
+
2006
+ class CPUExecutionCapChangedEvent < Event
2007
+ iid "dfa7e4f5-b4a4-44ce-85a8-127ac5eb59dc"
2008
+ property :execution_cap, UINT32, :readonly => true
2009
+ end
2010
+
2011
+ class GuestKeyboardEvent < Event
2012
+ iid "88394258-7006-40d4-b339-472ee3801844"
2013
+ property :scancodes, [INT32], :readonly => true
2014
+ end
2015
+
2016
+ class GuestMouseEvent < ReusableEvent
2017
+ iid "1f85d35c-c524-40ff-8e98-307000df0992"
2018
+ property :absolute, BOOL, :readonly => true
2019
+ property :x, INT32, :readonly => true
2020
+ property :y, INT32, :readonly => true
2021
+ property :z, INT32, :readonly => true
2022
+ property :w, INT32, :readonly => true
2023
+ property :buttons, INT32, :readonly => true
2024
+ end
2025
+
2026
+ class VRDEServerChangedEvent < Event
2027
+ iid "a06fd66a-3188-4c8c-8756-1395e8cb691c"
2028
+ end
2029
+
2030
+ class VRDEServerInfoChangedEvent < Event
2031
+ iid "dd6a1080-e1b7-4339-a549-f0878115596e"
2032
+ end
2033
+
2034
+ class USBControllerChangedEvent < Event
2035
+ iid "93BADC0C-61D9-4940-A084-E6BB29AF3D83"
2036
+ end
2037
+
2038
+ class USBDeviceStateChangedEvent < Event
2039
+ iid "806da61b-6679-422a-b629-51b06b0c6d93"
2040
+ property :device, :USBDevice, :readonly => true
2041
+ property :attached, BOOL, :readonly => true
2042
+ property :error, :VirtualBoxErrorInfo, :readonly => true
2043
+ end
2044
+
2045
+ class SharedFolderChangedEvent < Event
2046
+ iid "B66349B5-3534-4239-B2DE-8E1535D94C0B"
2047
+ property :scope, :Scope, :readonly => true
2048
+ end
2049
+
2050
+ class RuntimeErrorEvent < Event
2051
+ iid "883DD18B-0721-4CDE-867C-1A82ABAF914C"
2052
+ property :fatal, BOOL, :readonly => true
2053
+ property :id, WSTRING, :readonly => true
2054
+ property :message, WSTRING, :readonly => true
2055
+ end
2056
+
2057
+ class EventSourceChangedEvent < Event
2058
+ iid "e7932cb8-f6d4-4ab6-9cbf-558eb8959a6a"
2059
+ property :listener, :EventListener, :readonly => true
2060
+ property :add, BOOL, :readonly => true
2061
+ end
2062
+
2063
+ class ExtraDataChangedEvent < Event
2064
+ iid "024F00CE-6E0B-492A-A8D0-968472A94DC7"
2065
+ property :machine_id, WSTRING, :readonly => true
2066
+ property :key, WSTRING, :readonly => true
2067
+ property :value, WSTRING, :readonly => true
2068
+ end
2069
+
2070
+ class VetoEvent < Event
2071
+ iid "9a1a4130-69fe-472f-ac10-c6fa25d75007"
2072
+ function :add_veto, nil, [WSTRING]
2073
+ function :is_vetoed, BOOL, []
2074
+ function :get_vetos, [WSTRING], []
2075
+ end
2076
+
2077
+ class ExtraDataCanChangeEvent < VetoEvent
2078
+ iid "245d88bd-800a-40f8-87a6-170d02249a55"
2079
+ property :machine_id, WSTRING, :readonly => true
2080
+ property :key, WSTRING, :readonly => true
2081
+ property :value, WSTRING, :readonly => true
2082
+ end
2083
+
2084
+ class CanShowWindowEvent < VetoEvent
2085
+ iid "adf292b0-92c9-4a77-9d35-e058b39fe0b9"
2086
+ end
2087
+
2088
+ class ShowWindowEvent < Event
2089
+ iid "B0A0904D-2F05-4D28-855F-488F96BAD2B2"
2090
+ property :win_id, INT64
2091
+ end
2092
+
2093
+ class NATRedirectEvent < MachineEvent
2094
+ iid "57DE97D7-3CBB-42A0-888F-610D5832D16B"
2095
+ property :slot, UINT32, :readonly => true
2096
+ property :remove, BOOL, :readonly => true
2097
+ property :name, WSTRING, :readonly => true
2098
+ property :proto, :NATProtocol, :readonly => true
2099
+ property :host_ip, WSTRING, :readonly => true
2100
+ property :host_port, INT32, :readonly => true
2101
+ property :guest_ip, WSTRING, :readonly => true
2102
+ property :guest_port, INT32, :readonly => true
2103
+ end
2104
+
2105
+ class HostPciDevicePlugEvent < MachineEvent
2106
+ iid "9cebfc27-c579-4965-8eb7-d31794cd7dcf"
2107
+ property :plugged, BOOL, :readonly => true
2108
+ property :success, BOOL, :readonly => true
2109
+ property :attachment, :PciDeviceAttachment, :readonly => true
2110
+ property :message, WSTRING, :readonly => true
2111
+ end
2112
+
2113
+ class VBoxSVCAvailabilityChangedEvent < Event
2114
+ iid "97c78fcd-d4fc-485f-8613-5af88bfcfcdc"
2115
+ property :available, BOOL, :readonly => true
2116
+ end
2117
+
2118
+ class BandwidthGroupChangedEvent < Event
2119
+ iid "334df94a-7556-4cbc-8c04-043096b02d82"
2120
+ property :bandwidth_group, :BandwidthGroup, :readonly => true
2121
+ end
2122
+
2123
+ class GuestMonitorChangedEvent < Event
2124
+ iid "0f7b8a22-c71f-4a36-8e5f-a77d01d76090"
2125
+ property :change_type, :GuestMonitorChangedEventType, :readonly => true
2126
+ property :screen_id, UINT32, :readonly => true
2127
+ property :origin_x, UINT32, :readonly => true
2128
+ property :origin_y, UINT32, :readonly => true
2129
+ property :width, UINT32, :readonly => true
2130
+ property :height, UINT32, :readonly => true
2131
+ end
2132
+
2133
+ class StorageDeviceChangedEvent < Event
2134
+ iid "8a5c2dce-e341-49d4-afce-c95979f7d70c"
2135
+ property :storage_device, :MediumAttachment, :readonly => true
2136
+ property :removed, BOOL, :readonly => true
2137
+ end
2138
+
2139
+ end
2140
+ end
2141
+ end