Add Dirk Luetjen's ssphys libraries and command-line tool
[vss2svn.git] / ssphys / SSAPI / VSSItems.h
blob27397cbaa4d8b24cac9739916b32951938c0815e
1 // VSSItems.h : Declaration of the CVSSItems
3 #ifndef __VSSITEMS_H_
4 #define __VSSITEMS_H_
6 #include "resource.h" // main symbols
7 #include <SSPhysLib\SSItem.h>
9 /////////////////////////////////////////////////////////////////////////////
10 // CVSSItems
11 class ATL_NO_VTABLE CVSSItems :
12 public CComObjectRootEx<CComSingleThreadModel>,
13 public CComCoClass<CVSSItems, &CLSID_VSSItems>,
14 public IDispatchImpl<IVSSItems, &IID_IVSSItems, &LIBID_SourceSafeTypeLib>
16 public:
17 CVSSItems()
18 : m_pSSItems (NULL)
22 void Init (SSItems* pItems)
24 m_pSSItems = pItems;
26 private:
27 SSItems* m_pSSItems;
29 public:
30 DECLARE_REGISTRY_RESOURCEID(IDR_VSSITEMS)
32 DECLARE_PROTECT_FINAL_CONSTRUCT()
34 BEGIN_COM_MAP(CVSSItems)
35 COM_INTERFACE_ENTRY(IVSSItems)
36 COM_INTERFACE_ENTRY(IDispatch)
37 END_COM_MAP()
39 public:
40 // IVSSItems
41 STDMETHOD(get_Count)(LONG * piCount);
42 STDMETHOD(get_Item)(VARIANT sItem, IVSSItem * * ppIItem);
43 STDMETHOD(_NewEnum)(IUnknown * * ppIEnum);
46 #endif //__VSSITEMS_H_