#pragma once
/*
*      Copyright (C) 2015 Team XBMC
*      http://xbmc.org
*
*  This Program is free software; you can redistribute it and/or modify
*  it under the terms of the GNU General Public License as published by
*  the Free Software Foundation; either version 2, 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
*  GNU General Public License for more details.
*
*  You should have received a copy of the GNU General Public License
*  along with XBMC; see the file COPYING.  If not, see
*  <http://www.gnu.org/licenses/>.
*
*/

#include <string>

#include "interfaces/python/PythonInvoker.h"
#include "network/httprequesthandler/IHTTPRequestHandler.h"
#include "network/httprequesthandler/python/HTTPPythonRequest.h"

class CHTTPPythonInvoker : public CPythonInvoker
{
public:
  virtual ~CHTTPPythonInvoker();

  virtual HTTPPythonRequest* GetRequest() = 0;

protected:
  CHTTPPythonInvoker(ILanguageInvocationHandler* invocationHandler, HTTPPythonRequest* request);

  // overrides of CPythonInvoker
  virtual void onAbort();
  virtual void onError(const std::string& exceptionType = "", const std::string& exceptionValue = "", const std::string& exceptionTraceback = "");

  HTTPPythonRequest* m_request;
  bool m_internalError;
};
