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 KEYXMLCONTEXTBASE_H_INCLUDED 00011 #define KEYXMLCONTEXTBASE_H_INCLUDED 00012 00013 #include "IWORKXMLContextBase.h" 00014 00015 namespace libetonyek 00016 { 00017 00018 class KEY2ParserState; 00019 class KEYCollector; 00020 00021 template<class Base> 00022 class KEY2XMLContextBase : public IWORKXMLContextBase<Base, KEY2ParserState, KEYCollector> 00023 { 00024 typedef IWORKXMLContextBase<Base, KEY2ParserState, KEYCollector> Parent_t; 00025 00026 public: 00027 explicit KEY2XMLContextBase(KEY2ParserState &state) 00028 : Parent_t(state) 00029 { 00030 } 00031 00032 template<typename T> 00033 KEY2XMLContextBase(KEY2ParserState &state, const T &a) 00034 : Parent_t(state, a) 00035 { 00036 } 00037 }; 00038 00039 typedef KEY2XMLContextBase<IWORKXMLContextElement> KEY2XMLElementContextBase; 00040 typedef KEY2XMLContextBase<IWORKXMLContextText> KEY2XMLTextContextBase; 00041 typedef KEY2XMLContextBase<IWORKXMLContextMixed> KEYM2XMLixedContextBase; 00042 typedef KEY2XMLContextBase<IWORKXMLContextEmpty> KEY2XMLEmptyContextBase; 00043 00044 } 00045 00046 #endif // KEYXMLCONTEXTBASE_H_INCLUDED 00047 00048 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */