// MessageVector.h : Declaration of the cMessageVector

#ifndef __MESSAGEVECTOR_H_
#define __MESSAGEVECTOR_H_

#include "resource.h"       // main symbols
#include "Message.h"

class cMessage;

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

   cMessage *m_pSource;
   DWORD m_dwStartIndex;

BEGIN_COM_MAP(cMessageVector)
	COM_INTERFACE_ENTRY(IDispatch)
	COM_INTERFACE_ENTRY(IMessageMember)
END_COM_MAP()

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

#endif //__MESSAGEVECTOR_H_
