00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 00002 /* 00003 * This file is part of the libetonyek project. 00004 * 00005 * This Source Code Form is subject to the terms of the Mozilla Public 00006 * License, v. 2.0. If a copy of the MPL was not distributed with this 00007 * file, You can obtain one at http://mozilla.org/MPL/2.0/. 00008 */ 00009 00010 #ifndef PAG1XMLCONTEXTBASE_H_INCLUDED 00011 #define PAG1XMLCONTEXTBASE_H_INCLUDED 00012 00013 #include "IWORKXMLContextBase.h" 00014 00015 namespace libetonyek 00016 { 00017 00018 class PAG1ParserState; 00019 class PAGCollector; 00020 00021 template<class Base> 00022 class PAG1XMLContextBase : public IWORKXMLContextBase<Base, PAG1ParserState, PAGCollector> 00023 { 00024 typedef IWORKXMLContextBase<Base, PAG1ParserState, PAGCollector> Parent_t; 00025 00026 public: 00027 explicit PAG1XMLContextBase(PAG1ParserState &state) 00028 : Parent_t(state) 00029 { 00030 } 00031 00032 template<typename T1> 00033 PAG1XMLContextBase(PAG1ParserState &state, T1 arg1) 00034 : Parent_t(state, arg1) 00035 { 00036 } 00037 }; 00038 00039 typedef PAG1XMLContextBase<IWORKXMLContextElement> PAG1XMLElementContextBase; 00040 typedef PAG1XMLContextBase<IWORKXMLContextText> PAG1XMLTextContextBase; 00041 typedef PAG1XMLContextBase<IWORKXMLContextMixed> PAG1XMLixedContextBase; 00042 typedef PAG1XMLContextBase<IWORKXMLContextEmpty> PAG1XMLEmptyContextBase; 00043 00044 } 00045 00046 #endif // PAG1XMLCONTEXTBASE_H_INCLUDED 00047 00048 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */