Cleanup: Refactoring XML output code to facilitate introduction of protocol xml output.

This commit is contained in:
Cas Cremers 2014-04-15 22:12:43 +01:00
parent dc4432a18f
commit 9cc323004c

View File

@ -676,6 +676,30 @@ xmlRoleEventlist (const System sys, Roledef rd, int index)
xmlPrint ("</eventlist>"); xmlPrint ("</eventlist>");
} }
//! Output a protocol description
void
xmlProtocol (const System sys, Protocol p)
{
Role r;
xmlPrint ("<protocol>");
xmlindent++;
xmlOutTerm ("name", p->nameterm);
r = p->roles;
while (r != NULL)
{
xmlPrint ("<role>");
xmlindent++;
xmlRoleTermPrint (r->nameterm);
xmlRoleEventlist (sys, r->roledef, 0);
xmlindent--;
xmlPrint ("</role>");
r = r->next;
}
xmlindent--;
xmlPrint ("</protocol>");
}
//! Show all protocol roles that are in the attack. //! Show all protocol roles that are in the attack.
void void
xmlInvolvedProtocolRoles (const System sys) xmlInvolvedProtocolRoles (const System sys)
@ -687,24 +711,7 @@ xmlInvolvedProtocolRoles (const System sys)
{ {
if (isProtocolInvolved (sys, p)) if (isProtocolInvolved (sys, p))
{ {
Role r; xmlProtocol (sys, p);
xmlPrint ("<protocol>");
xmlindent++;
xmlOutTerm ("name", p->nameterm);
r = p->roles;
while (r != NULL)
{
xmlPrint ("<role>");
xmlindent++;
xmlRoleTermPrint (r->nameterm);
xmlRoleEventlist (sys, r->roledef, 0);
xmlindent--;
xmlPrint ("</role>");
r = r->next;
}
xmlindent--;
xmlPrint ("</protocol>");
} }
p = p->next; p = p->next;
} }