Sha256: 2c45fb603aec1747606593af85e3f183be5e6dea7020d9f04fb427ef1d9381f7
Contents?: true
Size: 1.42 KB
Versions: 2
Compression:
Stored size: 1.42 KB
Contents
# encoding: utf-8 require 'dbus' require 'network_manager/modem' class NetworkManager attr_reader :modem_service, :modem_bus_path DBUS_PROPERTIES = 'freedesktop.DBus.Properties' MM_DBUS_SERVICE = 'org.freedesktop.ModemManager' MM_DBUS_INTERFACE_MODEM = 'org.freedesktop.ModemManager.Modem' MM_DBUS_INTERFACE_MODEM_CDMA = 'org.freedesktop.ModemManager.Modem.Cdma' MM_DBUS_INTERFACE_MODEM_GSM_CARD = 'org.freedesktop.ModemManager.Modem.Gsm.Card' MM_DBUS_INTERFACE_MODEM_GSM_NETWORK = 'org.freedesktop.ModemManager.Modem.Gsm.Network' MM_DBUS_INTERFACE_MODEM_SIMPLE = 'org.freedesktop.ModemManager.Modem.Simple' MM_DBUS_INTERFACE_MODEM_GSM_USSD = 'org.freedesktop.ModemManager.Modem.Gsm.Ussd' def initialize(opts = {}) set_options opts @bus = DBus::SystemBus.instance end # Discover all enabled devices def modem_devices(opts = {}) @mm_service ||= @bus[@modem_service] @mm_object ||= @mm_service.object(@modem_bus_path) @mm_object.introspect NetworkManager::Modem.fetch(@mm_object.EnumerateDevices()[0], service: @mm_service) end class << self end protected def set_options(opts = {}) @modem_service ||= MM_DBUS_SERVICE || 'org.freedesktop.ModemManager' @modem_bus_path ||= '/org/freedesktop/ModemManager' opts.each do |k,v| instance_variable_set("@#{k}", v) unless v.nil? end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ruby-network-manager-0.14.1 | lib/ruby-network-manager.rb |
ruby-network-manager-0.14.0 | lib/ruby-network-manager.rb |