/*
    Copyright (C) 2012 Bartosz Broda, Jacek Bochenek, Łukasz Biłeńkij, 
    Damian Jaworski, Wojciech Mazur, Dominik Piasecki, Maciej Piasecki, 
    Radosław Ramocki
    
    This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by the Free
Software Foundation; either version 3 of the License, or (at your option)
any later version.

    This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. 

    See the LICENSE and COPYING files for more details.
*/

#include "../lex_headers.h"
#include "ResourcesHolder.h"

namespace LexicalUnits
{
	namespace MEParser
	{
		boost::shared_ptr<JOSKIPI::Parsers::CAntlrParser> ResourcesHolder::m_pParser;

		boost::shared_ptr<JOSKIPI::Parsers::CAntlrParser> ResourcesHolder::GetJOSKIPIParser()
		{
			if(m_pParser == NULL)
				throw std::runtime_error( "Befor using MEParser call ResourcesHolder::SetJOSKIPIParser" );

			return m_pParser;

		}
		void ResourcesHolder::SetJOSKIPIParser(boost::shared_ptr<JOSKIPI::Parsers::CAntlrParser> parser)
		{
			m_pParser = parser;
		}

		 void ResourcesHolder::ReleaseResources()
		 {
			 m_pParser = boost::shared_ptr<JOSKIPI::Parsers::CAntlrParser>();
		 }
		
	}//namespace MEParser
}//namespace LexicalUnits

