Hi, Kjell,
Interactive state was the only one I observed and
the loop logged. My previous code illustrated how I
handle reader.read() in a while loop. These are logs
I have:
20140224T173124.459 DEBUG XMLCODEC
[0xe31a000] Reading...current model position name:
root
20140224T173124.459 DEBUG XMLCODEC
[0xe31a000] --- node ---
20140224T173124.459 DEBUG XMLCODEC
[0xe31a000] type: 0
20140224T173124.459 DEBUG XMLCODEC
[0xe31a000] name:
20140224T173124.459 DEBUG XMLCODEC
[0xe31a000] depth: 1
20140224T173124.459 DEBUG XMLCODEC
[0xe31a000] state: 1
20140224T173124.459 DEBUG XMLCODEC
[0xe31a000] Reading...current model position name:
root
20140224T173124.459 DEBUG XMLCODEC
[0xe31a000] --- node ---
20140224T173124.459 DEBUG XMLCODEC
[0xe31a000] type: 0
20140224T173124.459 DEBUG XMLCODEC
[0xe31a000] name:
20140224T173124.459 DEBUG XMLCODEC
[0xe31a000] depth: 1
20140224T173124.459 DEBUG XMLCODEC
[0xe31a000] state: 1
20140224T173124.459 DEBUG XMLCODEC
[0xe31a000] Reading...current model position name:
root
20140224T173124.459 DEBUG XMLCODEC
[0xe31a000] --- node ---
20140224T173124.459 DEBUG XMLCODEC
[0xe31a000] type: 0
20140224T173124.459 DEBUG XMLCODEC
[0xe31a000] name:
20140224T173124.459 DEBUG XMLCODEC
[0xe31a000] depth: 1
20140224T173124.459 DEBUG XMLCODEC
[0xe31a000] state: 1
...and so on...
Logs are printed as following:
while (reader->read()) {
LOG_DEBUG(m_log, "[%p] Reading...current
model position name: %s", this,
pos->tag_name.c_str());
depth = reader->get_depth() + 1;
name = reader->get_name();
switch (reader->get_read_state()) {
case xmlpp::TextReader::Error:
{
LOG_ERROR(m_log, "[%p] --- error
node ---", this);
LOG_ERROR(m_log, "[%p] type:
%d", this, reader->get_node_type());
LOG_ERROR(m_log, "[%p] name:
%s", this, name.c_str());
LOG_ERROR(m_log, "[%p] depth:
%d", this, depth);
return XMLResult(xmlRSIntError);
}
break;
case xmlpp::TextReader::EndOfFile:
{
LOG_DEBUG(m_log, "[%p] --- end of
file node ---", this);
LOG_DEBUG(m_log, "[%p] type:
%d", this, reader->get_node_type());
LOG_DEBUG(m_log, "[%p] name:
%s", this, name.c_str());
LOG_DEBUG(m_log, "[%p] depth:
%d", this, depth);
}
break;
default:
LOG_DEBUG(m_log, "[%p] --- node
---", this);
LOG_DEBUG(m_log, "[%p] type:
%d", this, reader->get_node_type());
LOG_DEBUG(m_log, "[%p] name:
%s", this, name.c_str());
LOG_DEBUG(m_log, "[%p] depth:
%d", this, depth);
LOG_DEBUG(m_log, "[%p] state:
%d", this, reader->get_read_state());
}
Unfortunately I have no more information ((( Defect is
still open and waits for step forward. I wish we could
catch the fault so I could explain little more to you to
make library more stable (or we find some bug in our code
:) ).