#define NAME		"testXpkPwd"
#define DISTRIBUTION	"(Freeware) "
#define REVISION	"3"

/* Programmheader

	Name:		testXpkPwd
	Author:		SDI
	Distribution:	Freeware
	Description:	test XpkPassRequest
	Compileropts:	-
	Linkeropts:	-l xpkmaster

 1.0   29.12.96 : first Version
 1.1   28.03.97 : some new data output
 1.2   18.01.98 : added position tests
 1.3   21.01.98 : added verification test
*/

#include <proto/exec.h>
#include <proto/dos.h>
#include <proto/xpkmaster.h>
#include "SDI_defines.h"

struct Library *XpkBase = 0;

void main(void)
{
  ULONG err;
  UBYTE buf[200];
  UWORD key16;
  ULONG key32;

  if(!(XpkBase = OpenLibrary(XPKNAME, 4)))
    return;

  if(!(err = XpkPassRequestTags(XPK_TimeOut, 20, XPK_PasswordBuf, buf, XPK_PassBufSize, 200, TAG_DONE)))
  {
    STRPTR a = buf;  
    VPrintf("Password = %s\n", &a);
  }
  else
    XpkPrintFault(err, "No Password");

  if(!(err = XpkPassRequestTags(XPK_TimeOut, 40, XPK_Key16BitPtr, &key16, TAG_DONE)))
    VPrintf("16 bit key = %X\n", &key16);
  else
    XpkPrintFault(err, "No 16 bit key");

  if(!XpkPassRequestTags(XPK_Key32BitPtr, &key32, TAG_DONE))
    VPrintf("32 bit key = %lX\n", &key32);
  else
    XpkPrintFault(err, "No 32 bit key");

  XpkPassRequestTags(XPK_Key32BitPtr, &key32, XPK_PassVerify, TAG_DONE);

  XpkPassRequestTags(XPK_Key32BitPtr, &key32, XPK_TimeOut, 5,
  XPK_PassTitle, "Left 0, Top 11",
  XPK_PassWinLeft, 0, XPK_PassWinTop, 11, TAG_DONE);

  XpkPassRequestTags(XPK_Key32BitPtr, &key32, XPK_TimeOut, 5,
  XPK_PassTitle, "Width 100, Height 30",
  XPK_PassWinWidth, 100, XPK_PassWinHeight, 30, TAG_DONE);

  XpkPassRequestTags(XPK_Key32BitPtr, &key32, XPK_TimeOut, 5,
  XPK_PassTitle, "Left 320, Top 128, Center",
  XPK_PassWinLeft, 320, XPK_PassWinTop, 128, XPK_PassCenter, 1, TAG_DONE);

  /* autoadjust tests */
  XpkPassRequestTags(XPK_Key32BitPtr, &key32, XPK_TimeOut, 5,
  XPK_PassTitle, "Left 0, Top 0, Center",
  XPK_PassWinLeft, 0, XPK_PassWinTop, 0, XPK_PassCenter, 1, TAG_DONE);

  XpkPassRequestTags(XPK_Key32BitPtr, &key32, XPK_TimeOut, 5,
  XPK_PassTitle, "Width 8000, Height 3000",
  XPK_PassWinWidth, 8000, XPK_PassWinHeight, 3000, TAG_DONE);

  /* internal defaults */
  XpkPassRequestTags(XPK_Key32BitPtr, &key32, XPK_TimeOut, 5,
  XPK_PassTitle, "Width 5, Height 5",
  XPK_PassWinWidth, 5, XPK_PassWinHeight, 5, TAG_DONE);

  CloseLibrary(XpkBase);
}

