1 /* $XConsortium: MessageEventHandler.C /main/1 1996/07/29 16:57:23 cde-hp $ */
2 // Copyright (c) 1994 James Clark
3 // See the file COPYING for copying permission.
6 #include "MessageEventHandler.h"
7 #include "SgmlParser.h"
8 #include "ParserOptions.h"
14 namespace SP_NAMESPACE {
17 MessageEventHandler::MessageEventHandler(Messenger *messenger,
18 const SgmlParser *parser)
19 : messenger_(messenger), parser_(parser)
23 void MessageEventHandler::subdocEntity(SubdocEntityEvent *event)
25 const SubdocEntity *entity = event->entity();
26 if (entity && parser_) {
27 SgmlParser::Params params;
28 params.subdocReferenced = 1;
29 params.subdocInheritActiveLinkTypes = 1;
30 params.origin = event->entityOrigin()->copy();
31 params.parent = parser_;
32 params.sysid = entity->externalId().effectiveSystemId();
33 params.entityType = SgmlParser::Params::subdoc;
34 SgmlParser parser(params);
35 const SgmlParser *oldParser = parser_;
37 parser.parseAll(*this);
43 void MessageEventHandler::message(MessageEvent *event)
45 messenger_->dispatchMessage(event->message());
46 ErrorCountEventHandler::message(event);