//  Clint - Source code checker for C++
//  Copyright (C) 2001  David Pashley
//
//  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 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
//  GNU General Public License for more details.
//
//  You should have received a copy of the GNU General Public License
//  along with this program; if not, write to the Free Software
//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

#include "python_module.h"
#include <input.h>
#include <utility.h>
#include <string>

static struct PyMethodDef clint_methods[] = {
   { "_line", clint_line, METH_VARARGS, ""},
   { "_file", clint_file, METH_VARARGS, ""},
   { "_message", clint_message, METH_VARARGS, ""},
   { "_is_system_header", clint_is_system_header, METH_VARARGS, ""},
   { "_is_header", clint_is_header, METH_VARARGS, ""},
   { NULL, NULL, 0 , NULL }
};

PyObject * clint_line(PyObject * self, PyObject * args) {
   python::Int val = clint::Input::instance()->line();
   return *val;
}

PyObject * clint_file(PyObject * self, PyObject * args) {
   python::String val = clint::Input::instance()->file();
   return *val;
}

PyObject * clint_message(PyObject * self, PyObject * args) {
   char * msg;
   PyArg_ParseTuple(args, "s", &msg);
   clint::add_message(msg);
   return Py_None;
}

PyObject * clint_is_system_header(PyObject * self, PyObject * args) {
   return Py_BuildValue("i", clint::Input::instance()->is_system_header());
}

PyObject * clint_is_header(PyObject * self, PyObject * args) {
   return Py_BuildValue("i", clint::Input::instance()->is_header());
}

void register_module() {
   PyObject *m;
   m = Py_InitModule("c_clint", clint_methods);
}



syntax highlighted by Code2HTML, v. 0.9.1