1/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2008 Robert Osfield
2 *
3 * This library is open source and may be redistributed and/or modified under
4 * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
5 * (at your option) any later version.  The full license is in LICENSE file
6 * included with this distribution, and on the openscenegraph.org website.
7 *
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 * OpenSceneGraph Public License for more details.
12*/
13
14// Code by: Jeremy Moles (cubicool) 2007-2008
15
16#ifndef OSGWIDGET_SCRIPT_ENGINE
17#define OSGWIDGET_SCRIPT_ENGINE
18
19#include <osg/Referenced>
20
21namespace osgWidget {
22
23// An interface for our scripting API so that we can have a unified way to talk to both
24// Lua and Python; perhaps even more! Furthermore, this will allow us to put the
25// entire implementation into a source file...
26class ScriptEngine: public osg::Referenced
27{
28    public:
29        virtual bool initialize () { return false; }
30        virtual bool close      () { return false; }
31        virtual bool eval       (const std::string&) { return false; }
32        virtual bool runFile    (const std::string&) { return false; }
33
34        virtual const std::string& getLastErrorText() const { return _err; }
35    protected:
36        std::string _err;
37
38};
39
40}
41
42#endif
43