| 1399 | } |
| 1400 | |
| 1401 | void IfcParse::InstanceStreamer::pushPage(const std::string& page) |
| 1402 | { |
| 1403 | stream_->pushNextPage(page); |
| 1404 | if (good_ == file_open_status::NO_HEADER) { |
| 1405 | header_ = new IfcParse::IfcSpfHeader(lexer_); |
| 1406 | if (header_->tryRead() && header_->file_schema()->schema_identifiers().size() == 1) { |
| 1407 | try { |
| 1408 | schema_ = IfcParse::schema_by_name(header_->file_schema()->schema_identifiers().front()); |
| 1409 | good_ = file_open_status::SUCCESS; |
| 1410 | } catch (const IfcParse::IfcException&) { |
| 1411 | } |
| 1412 | } |
| 1413 | storage_.file = nullptr; |
| 1414 | storage_.schema = schema_; |
| 1415 | storage_.tokens = lexer_; |
| 1416 | storage_.references_to_resolve = &references_to_resolve_; |
| 1417 | } |
| 1418 | } |
| 1419 | |
| 1420 | IfcParse::InstanceStreamer::InstanceStreamer() |
| 1421 | : stream_(new FileReader(FileReader::caller_fed_tag{})) |
no test coverage detected