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 __PYROOM_H
#define __PYROOM_H
//*****************************************************************************
//
// pyroom.h
//
// A python extention to allow python scripts to treat MUD rooms as an
// object within the script. If you wish to give python access to more features
// of a room, it should NOT be done by editing pyroom.c! Use PyRoom_addGetSetter
// and PyRoom_addMethod in a new module implementing the feature you want to
// give Python access to.
//
//*****************************************************************************

// initialize rooms for use. This must be called AFTER all other modules
// have added in new get/setters and methods to pyroom
PyMODINIT_FUNC init_PyRoom(void);
PyObject      *newPyRoom(ROOM_DATA *room);

ROOM_DATA *PyRoom_AsRoom(PyObject *room);
int        PyRoom_AsUid(PyObject *room);

//
// checks to see if the PyObject is a PyRoom
int        PyRoom_Check (PyObject *value);

//
// getters allow Python to access pieces of the Room module. Setters allow
// Python to change pieces of the room module. Getters are called when Python
// tries to get the value of some variable on the object, and setters are called
// when Python tries to set the value of some variable on the object. Get and
// Set do not both need to be supplied. Examples of how to add new getters and
// setters is presented in pyroom.c
void PyRoom_addGetSetter(const char *name, void *g, void *s, const char *doc);

//
// Adds a new method function (i.e. void *f) to the Room class. Name is the name
// of the function, f is the PyCFunction implementing the new method, flags is
// the type of method beings used (almost always METH_VARARGS), and dog is an
// (optional) description of what the method does. For examples on how to add
// new methods, see pyroom.c
void PyRoom_addMethod(const char *name, void *f, int flags, const char *doc);

#endif //__PYROOM_H