Sha256: 880aece933a2b2996d462f14a7807e4c8693ec18a3d889dec20ed7cf9b101de4

Contents?: true

Size: 880 Bytes

Versions: 4

Compression:

Stored size: 880 Bytes

Contents

module VirtualBox
  module COM
    class MSCOMInterface < BaseInterface
      # The VirtualBox and Session interfaces, both of which are extremely
      # important in interfacing with the VirtualBox API. Once these have been
      # initialized, all other parts of the API can be accessed via these
      # instances.
      attr_reader :virtualbox
      attr_reader :session

      def initialize
        super
        initialize_mscom
      end

      def initialize_mscom
        require 'win32ole'

        # TODO: Dynamic version finding
        COM::Util.set_interface_version("3.1.x")

        @virtualbox = COM::Util.versioned_interface(:VirtualBox).new(Implementer::MSCOM, self, WIN32OLE.new("VirtualBox.VirtualBox"))
        @session = COM::Util.versioned_interface(:Session).new(Implementer::MSCOM, self, WIN32OLE.new("VirtualBox.Session"))
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
virtualbox-0.7.3 lib/virtualbox/com/mscom_interface.rb
virtualbox-0.7.2 lib/virtualbox/com/mscom_interface.rb
virtualbox-0.7.1 lib/virtualbox/com/mscom_interface.rb
virtualbox-0.7.0 lib/virtualbox/com/mscom_interface.rb