/*
   +----------------------------------------------------------------------+
   | Copyright (c) 2002-2005 J Smith <dark_panda@hushmail.com>            |
   | Crypto++ sources (not included) copyright (c) 1995-2003 Wei Dai      |
   +----------------------------------------------------------------------+
   | Check out COPYING for the exact license.                             |
   +----------------------------------------------------------------------+

$Id: jwhirlpool.h,v 1.2 2005/01/06 18:16:43 jay Exp $
*/

#ifndef __JWHIRLPOOL_H__
#define __JWHIRLPOOL_H__

#include "jconfig.h"

#ifdef WORD64_AVAILABLE
#if ENABLED_WHIRLPOOL || ENABLED_WHIRLPOOL_HMAC

#if ENABLED_WHIRLPOOL
#include "jhash_t.h"
#endif

#if ENABLED_WHIRLPOOL_HMAC
#include "jhmac_t.h"
#endif

// Crypto++ headers...

#include "whrlpool.h"

using namespace CryptoPP;

#if ENABLED_WHIRLPOOL
class JWhirlpool : public JHash_Template<Whirlpool, WHIRLPOOL_HASH>
{
	public:
		JWhirlpool(string plaintext = "") : JHash_Template<Whirlpool, WHIRLPOOL_HASH>(plaintext) { }

		static string getHashName() { return "Whirlpool"; }
};
#endif

#if ENABLED_WHIRLPOOL_HMAC
class JWhirlpool_HMAC : public JHMAC_Template<Whirlpool, WHIRLPOOL_HMAC>
{
	public:
		JWhirlpool_HMAC(string plaintext = "") : JHMAC_Template<Whirlpool, WHIRLPOOL_HMAC>(plaintext) { }

		static string getHashName() { return "Whirlpool-HMAC"; }
};
#endif

#endif
#endif
#endif
