1 // VSSItem.h : Declaration of the CVSSItem
6 #include "resource.h" // main symbols
7 #include <SSPhysLib\SSItem.h>
9 /////////////////////////////////////////////////////////////////////////////
11 class ATL_NO_VTABLE CVSSItem
:
12 public CComObjectRootEx
<CComSingleThreadModel
>,
13 public CComCoClass
<CVSSItem
, &CLSID_VSSItem
>,
14 public IDispatchImpl
<IVSSItem
, &IID_IVSSItem
, &LIBID_SourceSafeTypeLib
>
22 void Init (SSItem
* pItem
)
31 DECLARE_REGISTRY_RESOURCEID(IDR_VSSITEM
)
33 DECLARE_PROTECT_FINAL_CONSTRUCT()
35 BEGIN_COM_MAP(CVSSItem
)
36 //DEL COM_INTERFACE_ENTRY(IDispatch)
37 COM_INTERFACE_ENTRY2(IDispatch
, IVSSItem
)
38 COM_INTERFACE_ENTRY(IVSSItem
)
44 STDMETHOD(get_Spec
)(BSTR
* pSpec
);
45 STDMETHOD(get_Binary
)(VARIANT_BOOL
* pbBinary
);
46 STDMETHOD(put_Binary
)(VARIANT_BOOL pbBinary
);
47 STDMETHOD(get_Deleted
)(VARIANT_BOOL
* pbDeleted
);
48 STDMETHOD(put_Deleted
)(VARIANT_BOOL pbDeleted
);
49 STDMETHOD(get_Type
)(INT
* piType
);
50 STDMETHOD(get_LocalSpec
)(BSTR
* pLocal
);
51 STDMETHOD(put_LocalSpec
)(BSTR pLocal
);
52 STDMETHOD(get_Name
)(BSTR
* pName
);
53 STDMETHOD(put_Name
)(BSTR pName
);
54 STDMETHOD(get_Parent
)(IVSSItem
* * ppIParent
);
55 STDMETHOD(get_VersionNumber
)(LONG
* piVersion
);
56 STDMETHOD(get_Items
)(VARIANT_BOOL IncludeDeleted
, IVSSItems
* * ppIItems
);
57 STDMETHOD(Get
)(BSTR
* Local
, LONG iFlags
);
58 STDMETHOD(Checkout
)(BSTR Comment
, BSTR Local
, LONG iFlags
);
59 STDMETHOD(Checkin
)(BSTR Comment
, BSTR Local
, LONG iFlags
);
60 STDMETHOD(UndoCheckout
)(BSTR Local
, LONG iFlags
);
61 STDMETHOD(get_IsCheckedOut
)(LONG
* piStatus
);
62 STDMETHOD(get_Checkouts
)(IVSSCheckouts
* * ppICheckouts
);
63 STDMETHOD(get_IsDifferent
)(BSTR Local
, VARIANT_BOOL
* pbDifferent
);
64 STDMETHOD(Add
)(BSTR Local
, BSTR Comment
, LONG iFlags
, IVSSItem
* * ppIItem
);
65 STDMETHOD(NewSubproject
)(BSTR Name
, BSTR Comment
, IVSSItem
* * ppIItem
);
66 STDMETHOD(Share
)(IVSSItem
* pIItem
, BSTR Comment
, LONG iFlags
);
68 STDMETHOD(Move
)(IVSSItem
* pINewParent
);
69 STDMETHOD(Label
)(BSTR Label
, BSTR Comment
);
70 STDMETHOD(get_Versions
)(LONG iFlags
, IVSSVersions
* * pIVersions
);
71 STDMETHOD(get_Version
)(VARIANT Version
, IVSSItem
* * ppIItem
);
74 STDMETHOD(get_Links
)(IVSSItems
* * ppIItems
);
75 STDMETHOD(Branch
)(BSTR Comment
, LONG iFlags
, IVSSItem
* * ppIItem
);