view usr/src/cmd/man/src/util/nsgmls.src/lib/SgmlParser.cxx @ 4:1a15d5aaf794

synchronized with onnv_86 (6202) in onnv-gate
author Koji Uno <koji.uno@sun.com>
date Mon, 31 Aug 2009 14:38:03 +0900
parents c9caec207d52
children
line wrap: on
line source

// Copyright (c) 1994 James Clark
// See the file COPYING for copying permission.
#pragma ident	"%Z%%M%	%I%	%E% SMI"

#ifdef __GNUG__
#pragma implementation
#endif

#include "splib.h"
#include "SgmlParser.h"
#include "Parser.h"
#include "Trie.h"

#ifdef SP_NAMESPACE
namespace SP_NAMESPACE {
#endif

SgmlParser::SgmlParser()
: parser_(0)
{
}

SgmlParser::SgmlParser(const Params &params)
: parser_(new Parser(params))
{
}

void SgmlParser::init(const Params &params)
{
  delete parser_;
  parser_ = new Parser(params);
}

SgmlParser::~SgmlParser()
{
  delete parser_;
}

Event *SgmlParser::nextEvent()
{
  return parser_->nextEvent();
}

void SgmlParser::parseAll(EventHandler &handler,
			  const volatile sig_atomic_t *cancelPtr)
{
  parser_->parseAll(handler, cancelPtr);
}

ConstPtr<Sd> SgmlParser::sd() const
{
  return parser_->sdPointer();
}

ConstPtr<Syntax> SgmlParser::instanceSyntax() const
{
  return parser_->instanceSyntaxPointer();
}

ConstPtr<Syntax> SgmlParser::prologSyntax() const
{
  return parser_->prologSyntaxPointer();
}

EntityManager &SgmlParser::entityManager() const
{
  return parser_->entityManager();
}

const EntityCatalog &SgmlParser::entityCatalog() const
{
  return parser_->entityCatalog();
}

void SgmlParser::activateLinkType(const StringC &name)
{
  parser_->activateLinkType(name);
}

void SgmlParser::allLinkTypesActivated()
{
  parser_->allLinkTypesActivated();
}

void SgmlParser::swap(SgmlParser &s)
{
  Parser *tem = parser_;
  parser_ = s.parser_;
  s.parser_ = tem;
}

Ptr<Dtd> SgmlParser::baseDtd()
{
  return parser_->baseDtd();
}

const ParserOptions &SgmlParser::options() const
{
  return parser_->options();
}

SgmlParser::Params::Params()
: entityType(document),
  parent(0),
  options(0),
  subdocInheritActiveLinkTypes(0),
  subdocReferenced(0),
  subdocLevel(0)
{
}

#ifdef SP_NAMESPACE
}
#endif