/*
   +----------------------------------------------------------------------+
   | 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: jpanamahash.h,v 1.8 2005/01/06 18:16:42 jay Exp $
*/

#ifndef __JPANAMAHASH_H__
#define __JPANAMAHASH_H__

#include "jconfig.h"

#if ENABLED_PANAMA_LITTLE_ENDIAN_HASH || ENABLED_PANAMA_BIG_ENDIAN_HASH

#include "jhash_t.h"

// Crypto++ headers...

#include "panama.h"

using namespace CryptoPP;

#if ENABLED_PANAMA_LITTLE_ENDIAN_HASH
class JPanamaHashLE : public JHash_Template<PanamaHash<LittleEndian>, PANAMA_LITTLE_ENDIAN_HASH>
{
	public:
		JPanamaHashLE(string plaintext = "") : JHash_Template<PanamaHash<LittleEndian>, PANAMA_LITTLE_ENDIAN_HASH>(plaintext) { }

		static string getHashName() { return "Panama-LE Hash"; }
};
#endif

#if ENABLED_PANAMA_BIG_ENDIAN_HASH
class JPanamaHashBE : public JHash_Template<PanamaHash<BigEndian>, PANAMA_BIG_ENDIAN_HASH>
{
	public:
		JPanamaHashBE(string plaintext = "") : JHash_Template<PanamaHash<BigEndian>, PANAMA_BIG_ENDIAN_HASH>(plaintext) { }

		static string getHashName() { return "Panama-BE Hash"; }
};
#endif

#endif
#endif
