// Help.h - help header
// By: Odis

#ifndef __HELP_H_
#define __HELP_H_

// Includes
#include <iostream>
#include <string>
#include <map>
#include "handler.h"

using namespace std;

class Help
{
    public:
     Help(const string &n);
    ~Help();

     bool            Save( void );
     bool            Set( const string &set, const string &value );
     string          Get( const string &get );

     // all help data in info, minus the id
     unsigned int id;
     
    private:
     bool Load(const string &n);
     map<std::string, std::string> info;
};

typedef std::map<std::string, Help *> HelpMap;


class EditHelpHandler: public Handler
{
	Help * _edit;
	int _option;
	bool new_file; // false until proved otherwise
	std::string _name;

	public:
	  EditHelpHandler();
	  EditHelpHandler( Char *, const std::string & );
	  void Enter( Char * );
	  void Exit( Char * );
      void Handle( Char *, const std::string & );
	  std::string Prompt( Char * );
};



#endif // HELP_H