-#include "config.hh"
-#include "otk/screeninfo.hh"
-#include "otk/renderstyle.hh"
-#include "otk/util.hh"
-#include "otk/property.hh"
-#include "otk/display.hh"
-
-extern "C" {
-#include <Python.h>
-
-#include "gettext.h"
-#define _(str) gettext(str)
-}
-
-#include <cstring>
-
-namespace ob {
-
-static PyObject *obdict = NULL;
-
-bool python_get_long(const char *name, long *value)
-{
- PyObject *val = PyDict_GetItemString(obdict, const_cast<char*>(name));
- if (!(val && PyInt_Check(val))) return false;
-
- *value = PyInt_AsLong(val);
- return true;
-}
-
-bool python_get_string(const char *name, otk::ustring *value)
-{
- PyObject *val = PyDict_GetItemString(obdict, const_cast<char*>(name));
- if (!(val && PyString_Check(val))) return false;
-
- std::string temp(PyString_AsString(val), PyString_Size(val));
- *value = temp;
- return true;
-}
-
-bool python_get_stringlist(const char *name, std::vector<otk::ustring> *value)
-{
- PyObject *val = PyDict_GetItemString(obdict, const_cast<char*>(name));
- if (!(val && PyList_Check(val))) return false;
-
- value->clear();
-
- for (int i = 0, end = PyList_Size(val); i < end; ++i) {
- PyObject *str = PyList_GetItem(val, i);
- if (PyString_Check(str))
- value->push_back(PyString_AsString(str));
- }
- return true;
-}
-
-void Config::load()
-{
- const otk::ScreenInfo *info = otk::display->screenInfo(_screen);
- Window root = info->rootWindow();
-
- // set up access to the python global variables
- PyObject *obmodule = PyImport_ImportModule("config");
- obdict = PyModule_GetDict(obmodule);
- Py_DECREF(obmodule);
-