/// TheCoCollection.h : Declaration of the CTheCoCollection

#ifndef __THECOCOLLECTION_H_
#define __THECOCOLLECTION_H_

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

/////////////////////////////////////////////////////////////////////////////
// CTheCoCollection
class ATL_NO_VTABLE CTheCoCollection : 
	public CComObjectRootEx<CComSingleThreadModel>,
	public CComCoClass<CTheCoCollection, &CLSID_TheCoCollection>,
	public IDispatchImpl<ISingleObject, &IID_ISingleObject, &LIBID_COLLECTIONSERVERLib>
{
public:
	CTheCoCollection() : currentID(1), holdOn(NULL)
	{
	}

DECLARE_REGISTRY_RESOURCEID(IDR_THECOCOLLECTION)

DECLARE_PROTECT_FINAL_CONSTRUCT()

BEGIN_COM_MAP(CTheCoCollection)
	COM_INTERFACE_ENTRY(ISingleObject)
	COM_INTERFACE_ENTRY(IDispatch)
END_COM_MAP()

// ISingleObject
public:
	STDMETHOD(getData)(/*[out,retval]*/ IData** );
	STDMETHOD(putData)(/*[in]*/ IData* data);
	STDMETHOD(modifyData)(/*in*/ VARIANT* data,/*[in]*/ IData*);
	STDMETHOD(createData)(/*[in]*/ VARIANT* v, /*[out,retval]*/ IData**);
protected:
	long currentID;
	IData* holdOn;
};

#endif //__THECOCOLLECTION_H_



Hosted by www.Geocities.ws

1