// SynchronizeDemo.h : Declaration of the CSynchronizeDemo

#ifndef __SYNCHRONIZEDEMO_H_
#define __SYNCHRONIZEDEMO_H_

#include "resource.h"       // main symbols

/////////////////////////////////////////////////////////////////////////////
// CSynchronizeDemo
class ATL_NO_VTABLE CSynchronizeDemo : 
	public CComObjectRootEx<CComSingleThreadModel>,
	public CComCoClass<CSynchronizeDemo, &CLSID_SynchronizeDemo>,
	public ISynchronize
{
public:
	CSynchronizeDemo()
	{
	}

DECLARE_REGISTRY_RESOURCEID(IDR_SYNCHRONIZEDEMO)

DECLARE_PROTECT_FINAL_CONSTRUCT()

BEGIN_COM_MAP(CSynchronizeDemo)
	COM_INTERFACE_ENTRY(ISynchronize) 
END_COM_MAP()

// ISynchronizeDemo
public:

	virtual HRESULT STDMETHODCALLTYPE Wait (DWORD dwFlags, DWORD dwMilliseconds) ;
    virtual HRESULT STDMETHODCALLTYPE Signal (void) ;
    virtual HRESULT STDMETHODCALLTYPE Reset (void) ;

};

#endif //__SYNCHRONIZEDEMO_H_
