/*
** SellaNMS
** $Id: dependency.h,v 1.4 2005/05/21 23:10:28 sella Exp $
** Copyright (c) 2001-2005 Digital Genesis Software, LLC. All Rights Reserved.
** Released under the GPL Version 2 License.
** http://www.digitalgenesis.com
*/

#ifndef __DEPENDENCY_H__
#define __DEPENDENCY_H__

#ifdef HAVE_CONFIG_H
	#include "config.h"
#endif

#include "clause.h"

#define	DEFAULT_DEPENDENCY_REQUIRED	(false)

class Dependency: public Clause {
	public:
		RESULT setName(string &name);
		string getName();
		
		virtual ACTION evaluate(variable_binding_t &input);
		virtual RESULT compile(ConfigNode *config);

		virtual RESULT clear();
		virtual RESULT print(unsigned long depth = 0);

	private:
		bool				required;

		string			name;
		string			variable;

		slist<string>	values;
};

#endif

/*
** Local Variables:
** c-basic-offset: 3
** tab-width: 3
** End:
** vim600: fdm=marker
** vim: noet ts=3 sw=3 sts=3
*/
