# File lib/openscap/ds/arf.rb, line 22 def initialize(param) case param when String, Hash @source = OpenSCAP::Source.new(param) @session = OpenSCAP.ds_rds_session_new_from_source @source.raw else raise OpenSCAP::OpenSCAPError, "Cannot initialize #{self.class.name} with '#{param}'" end OpenSCAP.raise! if @session.null? end
# File lib/openscap/ds/arf.rb, line 33 def destroy OpenSCAP.ds_rds_session_free(@session) @session = nil @source.destroy end
# File lib/openscap/ds/arf.rb, line 56 def html html_p = OpenSCAP.ds_rds_session_get_html_report @session OpenSCAP.raise! if OpenSCAP.error? return nil if html_p.null? html = html_p.read_string OpenSCAP::LibC.free html_p html end
# File lib/openscap/ds/arf.rb, line 50 def report_request(id = nil) source_p = OpenSCAP.ds_rds_session_select_report_request(@session, id) source = OpenSCAP::Source.new source_p OpenSCAP::DS::Sds.new(source) end
# File lib/openscap/ds/arf.rb, line 39 def test_result(id = nil) source = OpenSCAP.ds_rds_session_select_report(@session, id) OpenSCAP.raise! if source.nil? OpenSCAP::Xccdf::TestResult.new(source) end
# File lib/openscap/ds/arf.rb, line 45 def test_result=(tr) source = tr.source OpenSCAP.raise! unless OpenSCAP.ds_rds_session_replace_report_with_source(@session, source.raw).zero? end