virtualbox-com 0.9.9 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
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