#if !defined(AFX_SCANSERVCTL_H__94D54B22_7D27_11D5_BB1C_00E07D93BFD9__INCLUDED_)
#define AFX_SCANSERVCTL_H__94D54B22_7D27_11D5_BB1C_00E07D93BFD9__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

// ScanServCtl.h : Declaration of the CScanServCtrl ActiveX Control class.

/////////////////////////////////////////////////////////////////////////////
// CScanServCtrl : See ScanServCtl.cpp for implementation.

class CScanServCtrl : public COleControl
{
	DECLARE_DYNCREATE(CScanServCtrl)

// Constructor
public:
	CScanServCtrl();

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CScanServCtrl)
	public:
	virtual void OnDraw(CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid);
	virtual void DoPropExchange(CPropExchange* pPX);
	virtual void OnResetState();
	//}}AFX_VIRTUAL

// Implementation
protected:
	~CScanServCtrl();

	DECLARE_OLECREATE_EX(CScanServCtrl)    // Class factory and guid
	DECLARE_OLETYPELIB(CScanServCtrl)      // GetTypeInfo
	DECLARE_PROPPAGEIDS(CScanServCtrl)     // Property page IDs
	DECLARE_OLECTLTYPE(CScanServCtrl)		// Type name and misc status

// Message maps
	//{{AFX_MSG(CScanServCtrl)
		// NOTE - ClassWizard will add and remove member functions here.
		//    DO NOT EDIT what you see in these blocks of generated code !
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

// Dispatch maps
	//{{AFX_DISPATCH(CScanServCtrl)
	afx_msg short Connect(long Port);
	afx_msg short Listen();
	afx_msg BSTR GetTrivialPacket();
	afx_msg long SendFile(LPCTSTR Name);
	afx_msg void SockSend(LPCTSTR Buffer, long Size);
	afx_msg void Close();
	afx_msg long GetPacketType();
	afx_msg BSTR GetProductID();
	afx_msg BSTR GetProductQuery();
	afx_msg void Exit();
	afx_msg long SendText(LPCTSTR Text);
	afx_msg long SendDelayedText(LPCTSTR Text, short Delay);
	afx_msg long SendTextBigEndian(LPCTSTR Text);
	afx_msg long SendTextLittleEndian(LPCTSTR Text);
	afx_msg short GetToken();
	afx_msg long GetEventStarting();
	afx_msg long GetEventEnding();
	afx_msg long GetEventTicktime();
	afx_msg BSTR GetEventUnitID();
    ;
	
	//}}AFX_DISPATCH
	DECLARE_DISPATCH_MAP()

// Event maps
	//{{AFX_EVENT(CScanServCtrl)
	//}}AFX_EVENT
	DECLARE_EVENT_MAP()

// Dispatch and event IDs
public:
	enum {
	//{{AFX_DISP_ID(CScanServCtrl)
	dispidConnect = 1L,
	dispidListen = 2L,
	dispidGetTrivialPacket = 3L,
	dispidSendFile = 4L,
	dispidSockSend = 5L,
	dispidClose = 6L,
	dispidGetPacketType = 7L,
	dispidGetProductID = 8L,
	dispidGetProductQuery = 9L,
	dispidExit = 10L,
	dispidSendText = 11L,
	dispidSendDelayedText = 12L,
	dispidSendTextBigEndian = 13L,
	dispidSendTextLittleEndian = 14L,
	dispidGetToken = 15L,
	dispidGetEventStarting = 16L,
	dispidGetEventEnding   = 17L,
	dispidGetEventTicktime = 18L,
	dispidGetEventUnitID = 19L,
  
  
  //}}AFX_DISP_ID
	};
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_SCANSERVCTL_H__94D54B22_7D27_11D5_BB1C_00E07D93BFD9__INCLUDED)
