#if !defined(__tecwhlltest_h) // Sentry, use file only if it's not already included.
#define __tecwhlltest_h
/*  Project Tec3270

	 Copyright © 2005. All Rights Reserved.

	 SUBSYSTEM:    tecwhlltest.exe Application
	 FILE:         tecwhlltest.h
	 AUTHOR:       Alcindo Ferreira Filho


	 OVERVIEW
	 ========
	 Source file for definition of TecWHllTest application
	 (Dialog Main Window that verifies WHLLAPI library)
*/
#include <owl\owlall.h>        // OWL Definitions

// ALFFLib Includes
#include "alffdlg.h"
#include "alffmsgs.h"

#include "whlltest.rh"     // WHLLAPI Test Resources

/* TecWHllTest About Dialog */
//{{TecWHllAbout}}
class TecWHllAbout : public ALFFDialog
{
 public:
  TecWHllAbout(TWindow* Parent, TResId idDlg=IDD_TECWHLLTESTABOUT);
  virtual ~TecWHllAbout();

 protected:
  void SetupWindow();
  TStatic* 		dateCompiled;
};

class TecWHllFrameWindow : public TFrameWindow
{
 public:
   TecWHllFrameWindow(TWindow* parent,
                   const char far *title = 0,
                   TWindow* clientWnd = 0,
                   bool shrinkToClient = false,
                   TModule* module = 0);
   ~TecWHllFrameWindow();
 protected:
 DECLARE_RESPONSE_TABLE(TecWHllFrameWindow);
};

class TecWHllTestDlg : public ALFFDialog
{
 public:
  TecWHllTestDlg(TWindow* parent, TModule* module=0,
                  TResId idDlg=IDD_TECWHLLDIALOG);
  ~TecWHllTestDlg();

 protected:
	 void 		SetupWindow();

    void       CmExecute();
    void       CmCancel();
	 void       CmHelp();
    void       CmAbout();
    void       CmInfo();

	 LRESULT    EvCommand(uint controlId, HWND , uint notifyCode);

    bool							hostFirstTime;
	 TWindow*   				dlgParent;
	 ALFFMsgs*  				pMsgs;

    // WHLLAPI Command Parms
    WORD       wHllCommand;
    LPSTR      wHllParm;
    WORD       wHllParmLen;
    WORD       wHllRetCode;

    // Dialog Controls

    // WHLLAPI Commands Combobox & Parms to send
    TComboBox*     wHllCommands;             //IDC_WHLLCOMMANDS
    TEdit*         wHllParmToSend;           //IDC_WHLLSENDPARM
    TEdit*         wHllParmToSendLength;     //IDC_WHLLPARMLEN
    TEdit*         wHllPSPosition;           //IDC_WHLLPSPOSITION

    // WHLLAPI command response controls
    TEdit*         wHllReturnedParm;         //IDC_WHLLRETURNEDPARM
    TEdit*         wHllReturnedParmLen;      //IDC_WHLLRETURNEDPARMLEN
    TEdit*         wHllReturnedCode;              //IDC_WHLLRETCODE

    // Buttons
    TButton*       executeComm;     // IDOK
    TButton*       infoComputer;    // IDC_COMPUTERINFO
    TButton*       aboutTecWHll;    // IDC_TECWHLLABOUT

    // Event handlers

 DECLARE_RESPONSE_TABLE(TecWHllTestDlg);
};

#endif
