nakedmudv3.3/
nakedmudv3.3/lib/
nakedmudv3.3/lib/logs/
nakedmudv3.3/lib/misc/
nakedmudv3.3/lib/players/
nakedmudv3.3/lib/txt/
nakedmudv3.3/lib/world/
nakedmudv3.3/lib/world/examples/
nakedmudv3.3/lib/world/examples/mproto/
nakedmudv3.3/lib/world/examples/oproto/
nakedmudv3.3/lib/world/examples/reset/
nakedmudv3.3/lib/world/examples/rproto/
nakedmudv3.3/lib/world/examples/trigger/
nakedmudv3.3/lib/world/limbo/
nakedmudv3.3/lib/world/limbo/room/
nakedmudv3.3/lib/world/limbo/rproto/
nakedmudv3.3/src/alias/
nakedmudv3.3/src/char_vars/
nakedmudv3.3/src/editor/
nakedmudv3.3/src/example_module/
nakedmudv3.3/src/help/
nakedmudv3.3/src/set_val/
nakedmudv3.3/src/socials/
nakedmudv3.3/src/time/
#ifndef PYPLUGS_H
#define PYPLUGS_H
//*****************************************************************************
//
// pyplugs.h
//
// Pyplugs are just various things that occur at the intersection between 
// Python and C, in NakedMud. They include the loading of python modules,
// a few commands for interacting with python modules, and miscellaneory (sp?)
// python stuff that doesn't neccessarily fall under "scripting".
//
//*****************************************************************************

// 
// Returns a string representation of the last error that Python threw. Must
// be freed afterwards.
char *getPythonTraceback(void);

//
// initialize all of our plugs with python
void init_pyplugs();

//
// Takes in a PyType, and adds lists of get/setters and methods to it. The
// lists can each be NULL if there are no getsetters or methods, respectively
void makePyType(PyTypeObject *type, LIST *getsetters, LIST *methods);

//
// makes an array of get/setters
PyGetSetDef *makePyGetSetters(LIST *getsetters);

//
// makes an array of python methods
PyMethodDef *makePyMethods(LIST *methods);

#endif // PYPLUGS_H