musicmud-2.1.6/data/
musicmud-2.1.6/data/help/
musicmud-2.1.6/data/policy/
musicmud-2.1.6/data/wild/
musicmud-2.1.6/data/world/
musicmud-2.1.6/doc/
musicmud-2.1.6/src/ident/
musicmud-2.1.6/src/lua/
musicmud-2.1.6/src/lua/include/
musicmud-2.1.6/src/lua/src/lib/
musicmud-2.1.6/src/lua/src/lua/
musicmud-2.1.6/src/lua/src/luac/
#ifndef INTERPRET_H
#define INTERPRET_H

//! a command handler
class Interpreter : public Object {
 public:
  //! create an interpreter with given id
	Interpreter(const char *id) : Object(id) {
	}

  //! invoke the interpreter on /who/, with string /what/, which has been space-seperated into /argc/ and /argv/
	virtual int invoke(MudObject *who, const char *what, int argc, const char **argv) = 0;
	/*   1  == success,        0  == success, and don't log
	 *  -1  == failure
	 */
};

//! all the interpreters that have been loaded
extern World<Interpreter> *interpreters;

#endif