// MessageStruct.h : Declaration of the cMessageStruct

#ifndef __MESSAGESTRUCT_H_
#define __MESSAGESTRUCT_H_

#include "resource.h"       // main symbols

class cMessage;

/////////////////////////////////////////////////////////////////////////////
// cMessageStruct
class ATL_NO_VTABLE cMessageStruct : 
	public IDispatchImpl<IMessageMember, &IID_IMessageMember, &LIBID_DecalPlugins>,
	public CComObjectRootEx<CComMultiThreadModel>
{
public:
	cMessageStruct()
	{
	}

   cMessage *m_pSource;
   DWORD m_dwStartIndex;

BEGIN_COM_MAP(cMessageStruct)
	COM_INTERFACE_ENTRY(IDispatch)
	COM_INTERFACE_ENTRY(IMessageMember)
END_COM_MAP()

// IMessageStruct
public:
	STDMETHOD(get_Count)(/*[out, retval]*/ long *pVal);
	STDMETHOD(get_MemberName)(long Index, /*[out, retval]*/ BSTR *pVal);
	STDMETHOD(get_Member)(VARIANT vIndex, /*[out, retval]*/ VARIANT *pVal);
};

#endif //__MESSAGESTRUCT_H_
