/// 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_