class HexaPDF::Encryption::SecurityHandler::EncryptedStreamData

Provides additional encryption specific information for HexaPDF::StreamData objects.

def fiber(*args)

Returns a fiber like HexaPDF::StreamData#fiber, but one wrapped in a decrypting fiber.
def fiber(*args)
  @algorithm.decryption_fiber(@key, super(*args), &@error_block)
end

def initialize(obj, key, algorithm, &error_block)

as template. The arguments +key+ and +algorithm+ are used for decrypting purposes.
Creates a new encrypted stream data object by utilizing the given stream data object +obj+
def initialize(obj, key, algorithm, &error_block)
  obj.instance_variables.each {|v| instance_variable_set(v, obj.instance_variable_get(v)) }
  @key = key
  @algorithm = algorithm
  @error_block = error_block
end