#ifndef _MOLE_H_
#define _MOLE_H_

#include "IMole.h"

#define MOLE_CONTRACTID "@molesys.org/engine/Mole;1"
#define MOLE_CLASSNAME "engine"
#define MOLE_CID { 0x097451fd, 0x7838, 0x4691,{ 0x8b, 0xdb, 0x71, 0xa5, 0x51, 0xf3, 0xa7, 0x76 } }

/* Header file */
namespace mole {
    namespace serv {
	class ServiceManager;
    }
    namespace ctx {
	class Client;
	namespace xmlrpcpp {
	    class XmlRpcppServer;
	}
    }
}

class Mole : public IMole
{
 public:
  NS_DECL_ISUPPORTS
  NS_DECL_IMOLE
  
  Mole();
  virtual ~Mole();

 private:
    mole::ctx::Client * client;
    mole::serv::ServiceManager * manager;
    mole::ctx::xmlrpcpp::XmlRpcppServer * server;

};

#endif
