class DBus::Data::String

UTF-8 encoded string.

Public Class Methods

alignment() click to toggle source
# File lib/dbus/data.rb, line 420
def self.alignment
  4
end
from_raw(value, mode:) click to toggle source
# File lib/dbus/data.rb, line 436
def self.from_raw(value, mode:)
  value.force_encoding(Encoding::UTF_8)
  if mode == :plain
    validate_raw!(value)
    return value
  end

  new(value)
end
size_class() click to toggle source
# File lib/dbus/data.rb, line 424
def self.size_class
  UInt32
end
type_code() click to toggle source
# File lib/dbus/data.rb, line 416
def self.type_code
  "s"
end
validate_raw!(value) click to toggle source
# File lib/dbus/data.rb, line 428
def self.validate_raw!(value)
  value.each_codepoint do |cp|
    raise InvalidPacketException, "Invalid string, contains NUL" if cp.zero?
  end
rescue ArgumentError
  raise InvalidPacketException, "Invalid string, not in UTF-8"
end