OSDN Git Service

enable VSS COM interface
authorDennis Lim <dlkj@users.sourceforge.net>
Thu, 15 Nov 2001 15:31:21 +0000 (15:31 +0000)
committerDennis Lim <dlkj@users.sourceforge.net>
Thu, 15 Nov 2001 15:31:21 +0000 (15:31 +0000)
Src/VssPrompt.cpp
Src/VssPrompt.h
Src/ssapi.cpp [new file with mode: 0644]
Src/ssapi.h [new file with mode: 0644]

index decdaf6..87eaa89 100644 (file)
@@ -40,6 +40,8 @@ CVssPrompt::CVssPrompt(CWnd* pParent /*=NULL*/)
 {
        //{{AFX_DATA_INIT(CVssPrompt)
        m_strProject = _T("");
+       m_strUser = _T("");
+       m_strPassword = _T("");
        m_strMessage = _T("");
        //}}AFX_DATA_INIT
 }
@@ -51,6 +53,8 @@ void CVssPrompt::DoDataExchange(CDataExchange* pDX)
        //{{AFX_DATA_MAP(CVssPrompt)
        DDX_Control(pDX, IDC_PROJECT_COMBO, m_ctlProject);
        DDX_CBString(pDX, IDC_PROJECT_COMBO, m_strProject);
+       DDX_Text(pDX, IDC_USER, m_strUser);
+       DDX_Text(pDX, IDC_PASSWORD, m_strPassword);
        DDX_Text(pDX, IDC_MESSAGE, m_strMessage);
        //}}AFX_DATA_MAP
 }
index d2ed195..8c091be 100644 (file)
@@ -22,6 +22,8 @@ public:
        enum { IDD = IDD_VSS };
        CSuperComboBox  m_ctlProject;
        CString m_strProject;
+       CString m_strUser;
+       CString m_strPassword;
        CString m_strMessage;
        //}}AFX_DATA
 
diff --git a/Src/ssapi.cpp b/Src/ssapi.cpp
new file mode 100644 (file)
index 0000000..d967b2c
--- /dev/null
@@ -0,0 +1,1011 @@
+// Machine generated IDispatch wrapper class(es) created with ClassWizard
+
+#include "stdafx.h"
+#include "ssapi.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#undef THIS_FILE
+static char THIS_FILE[] = __FILE__;
+#endif
+
+
+
+/////////////////////////////////////////////////////////////////////////////
+// IVSSItemOld properties
+
+/////////////////////////////////////////////////////////////////////////////
+// IVSSItemOld operations
+
+CString IVSSItemOld::GetSpec()
+{
+       CString result;
+       InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+BOOL IVSSItemOld::GetBinary()
+{
+       BOOL result;
+       InvokeHelper(0x2, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
+       return result;
+}
+
+void IVSSItemOld::SetBinary(BOOL bNewValue)
+{
+       static BYTE parms[] =
+               VTS_BOOL;
+       InvokeHelper(0x2, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
+                bNewValue);
+}
+
+BOOL IVSSItemOld::GetDeleted()
+{
+       BOOL result;
+       InvokeHelper(0x3, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
+       return result;
+}
+
+void IVSSItemOld::SetDeleted(BOOL bNewValue)
+{
+       static BYTE parms[] =
+               VTS_BOOL;
+       InvokeHelper(0x3, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
+                bNewValue);
+}
+
+long IVSSItemOld::GetType()
+{
+       long result;
+       InvokeHelper(0x4, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
+       return result;
+}
+
+CString IVSSItemOld::GetLocalSpec()
+{
+       CString result;
+       InvokeHelper(0x5, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+void IVSSItemOld::SetLocalSpec(LPCTSTR lpszNewValue)
+{
+       static BYTE parms[] =
+               VTS_BSTR;
+       InvokeHelper(0x5, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
+                lpszNewValue);
+}
+
+CString IVSSItemOld::GetName()
+{
+       CString result;
+       InvokeHelper(0x6, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+void IVSSItemOld::SetName(LPCTSTR lpszNewValue)
+{
+       static BYTE parms[] =
+               VTS_BSTR;
+       InvokeHelper(0x6, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
+                lpszNewValue);
+}
+
+LPDISPATCH IVSSItemOld::GetParent()
+{
+       LPDISPATCH result;
+       InvokeHelper(0x7, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
+       return result;
+}
+
+long IVSSItemOld::GetVersionNumber()
+{
+       long result;
+       InvokeHelper(0x8, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
+       return result;
+}
+
+LPDISPATCH IVSSItemOld::GetItems(BOOL IncludeDeleted)
+{
+       LPDISPATCH result;
+       static BYTE parms[] =
+               VTS_BOOL;
+       InvokeHelper(0x9, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, parms,
+               IncludeDeleted);
+       return result;
+}
+
+void IVSSItemOld::Get(BSTR* Local, long iFlags)
+{
+       static BYTE parms[] =
+               VTS_PBSTR VTS_I4;
+       InvokeHelper(0xa, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
+                Local, iFlags);
+}
+
+void IVSSItemOld::Checkout(LPCTSTR Comment, LPCTSTR Local, long iFlags)
+{
+       static BYTE parms[] =
+               VTS_BSTR VTS_BSTR VTS_I4;
+       InvokeHelper(0xb, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
+                Comment, Local, iFlags);
+}
+
+void IVSSItemOld::Checkin(LPCTSTR Comment, LPCTSTR Local, long iFlags)
+{
+       static BYTE parms[] =
+               VTS_BSTR VTS_BSTR VTS_I4;
+       InvokeHelper(0xc, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
+                Comment, Local, iFlags);
+}
+
+void IVSSItemOld::UndoCheckout(LPCTSTR Local, long iFlags)
+{
+       static BYTE parms[] =
+               VTS_BSTR VTS_I4;
+       InvokeHelper(0xd, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
+                Local, iFlags);
+}
+
+long IVSSItemOld::GetIsCheckedOut()
+{
+       long result;
+       InvokeHelper(0xe, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
+       return result;
+}
+
+LPDISPATCH IVSSItemOld::GetCheckouts()
+{
+       LPDISPATCH result;
+       InvokeHelper(0xf, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
+       return result;
+}
+
+BOOL IVSSItemOld::GetIsDifferent(LPCTSTR Local)
+{
+       BOOL result;
+       static BYTE parms[] =
+               VTS_BSTR;
+       InvokeHelper(0x10, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, parms,
+               Local);
+       return result;
+}
+
+LPDISPATCH IVSSItemOld::Add(LPCTSTR Local, LPCTSTR Comment, long iFlags)
+{
+       LPDISPATCH result;
+       static BYTE parms[] =
+               VTS_BSTR VTS_BSTR VTS_I4;
+       InvokeHelper(0x11, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
+               Local, Comment, iFlags);
+       return result;
+}
+
+LPDISPATCH IVSSItemOld::NewSubproject(LPCTSTR Name, LPCTSTR Comment)
+{
+       LPDISPATCH result;
+       static BYTE parms[] =
+               VTS_BSTR VTS_BSTR;
+       InvokeHelper(0x12, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
+               Name, Comment);
+       return result;
+}
+
+void IVSSItemOld::Share(LPDISPATCH pIItem, LPCTSTR Comment, long iFlags)
+{
+       static BYTE parms[] =
+               VTS_DISPATCH VTS_BSTR VTS_I4;
+       InvokeHelper(0x13, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
+                pIItem, Comment, iFlags);
+}
+
+void IVSSItemOld::Destroy()
+{
+       InvokeHelper(0x14, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
+}
+
+void IVSSItemOld::Move(LPDISPATCH pINewParent)
+{
+       static BYTE parms[] =
+               VTS_DISPATCH;
+       InvokeHelper(0x15, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
+                pINewParent);
+}
+
+void IVSSItemOld::Label(LPCTSTR Label, LPCTSTR Comment)
+{
+       static BYTE parms[] =
+               VTS_BSTR VTS_BSTR;
+       InvokeHelper(0x16, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
+                Label, Comment);
+}
+
+LPDISPATCH IVSSItemOld::GetVersions(long iFlags)
+{
+       LPDISPATCH result;
+       static BYTE parms[] =
+               VTS_I4;
+       InvokeHelper(0x17, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, parms,
+               iFlags);
+       return result;
+}
+
+LPDISPATCH IVSSItemOld::GetVersion(const VARIANT& Version)
+{
+       LPDISPATCH result;
+       static BYTE parms[] =
+               VTS_VARIANT;
+       InvokeHelper(0x18, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, parms,
+               &Version);
+       return result;
+}
+
+
+/////////////////////////////////////////////////////////////////////////////
+// IVSSItem properties
+
+/////////////////////////////////////////////////////////////////////////////
+// IVSSItem operations
+
+CString IVSSItem::GetSpec()
+{
+       CString result;
+       InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+BOOL IVSSItem::GetBinary()
+{
+       BOOL result;
+       InvokeHelper(0x2, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
+       return result;
+}
+
+void IVSSItem::SetBinary(BOOL bNewValue)
+{
+       static BYTE parms[] =
+               VTS_BOOL;
+       InvokeHelper(0x2, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
+                bNewValue);
+}
+
+BOOL IVSSItem::GetDeleted()
+{
+       BOOL result;
+       InvokeHelper(0x3, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
+       return result;
+}
+
+void IVSSItem::SetDeleted(BOOL bNewValue)
+{
+       static BYTE parms[] =
+               VTS_BOOL;
+       InvokeHelper(0x3, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
+                bNewValue);
+}
+
+long IVSSItem::GetType()
+{
+       long result;
+       InvokeHelper(0x4, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
+       return result;
+}
+
+CString IVSSItem::GetLocalSpec()
+{
+       CString result;
+       InvokeHelper(0x5, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+void IVSSItem::SetLocalSpec(LPCTSTR lpszNewValue)
+{
+       static BYTE parms[] =
+               VTS_BSTR;
+       InvokeHelper(0x5, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
+                lpszNewValue);
+}
+
+CString IVSSItem::GetName()
+{
+       CString result;
+       InvokeHelper(0x6, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+void IVSSItem::SetName(LPCTSTR lpszNewValue)
+{
+       static BYTE parms[] =
+               VTS_BSTR;
+       InvokeHelper(0x6, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
+                lpszNewValue);
+}
+
+LPDISPATCH IVSSItem::GetParent()
+{
+       LPDISPATCH result;
+       InvokeHelper(0x7, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
+       return result;
+}
+
+long IVSSItem::GetVersionNumber()
+{
+       long result;
+       InvokeHelper(0x8, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
+       return result;
+}
+
+LPDISPATCH IVSSItem::GetItems(BOOL IncludeDeleted)
+{
+       LPDISPATCH result;
+       static BYTE parms[] =
+               VTS_BOOL;
+       InvokeHelper(0x9, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, parms,
+               IncludeDeleted);
+       return result;
+}
+
+void IVSSItem::Get(BSTR* Local, long iFlags)
+{
+       static BYTE parms[] =
+               VTS_PBSTR VTS_I4;
+       InvokeHelper(0xa, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
+                Local, iFlags);
+}
+
+void IVSSItem::Checkout(LPCTSTR Comment, LPCTSTR Local, long iFlags)
+{
+       static BYTE parms[] =
+               VTS_BSTR VTS_BSTR VTS_I4;
+       InvokeHelper(0xb, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
+                Comment, Local, iFlags);
+}
+
+void IVSSItem::Checkin(LPCTSTR Comment, LPCTSTR Local, long iFlags)
+{
+       static BYTE parms[] =
+               VTS_BSTR VTS_BSTR VTS_I4;
+       InvokeHelper(0xc, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
+                Comment, Local, iFlags);
+}
+
+void IVSSItem::UndoCheckout(LPCTSTR Local, long iFlags)
+{
+       static BYTE parms[] =
+               VTS_BSTR VTS_I4;
+       InvokeHelper(0xd, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
+                Local, iFlags);
+}
+
+long IVSSItem::GetIsCheckedOut()
+{
+       long result;
+       InvokeHelper(0xe, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
+       return result;
+}
+
+LPDISPATCH IVSSItem::GetCheckouts()
+{
+       LPDISPATCH result;
+       InvokeHelper(0xf, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
+       return result;
+}
+
+BOOL IVSSItem::GetIsDifferent(LPCTSTR Local)
+{
+       BOOL result;
+       static BYTE parms[] =
+               VTS_BSTR;
+       InvokeHelper(0x10, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, parms,
+               Local);
+       return result;
+}
+
+LPDISPATCH IVSSItem::Add(LPCTSTR Local, LPCTSTR Comment, long iFlags)
+{
+       LPDISPATCH result;
+       static BYTE parms[] =
+               VTS_BSTR VTS_BSTR VTS_I4;
+       InvokeHelper(0x11, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
+               Local, Comment, iFlags);
+       return result;
+}
+
+LPDISPATCH IVSSItem::NewSubproject(LPCTSTR Name, LPCTSTR Comment)
+{
+       LPDISPATCH result;
+       static BYTE parms[] =
+               VTS_BSTR VTS_BSTR;
+       InvokeHelper(0x12, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
+               Name, Comment);
+       return result;
+}
+
+void IVSSItem::Share(LPDISPATCH pIItem, LPCTSTR Comment, long iFlags)
+{
+       static BYTE parms[] =
+               VTS_DISPATCH VTS_BSTR VTS_I4;
+       InvokeHelper(0x13, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
+                pIItem, Comment, iFlags);
+}
+
+void IVSSItem::Destroy()
+{
+       InvokeHelper(0x14, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
+}
+
+void IVSSItem::Move(LPDISPATCH pINewParent)
+{
+       static BYTE parms[] =
+               VTS_DISPATCH;
+       InvokeHelper(0x15, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
+                pINewParent);
+}
+
+void IVSSItem::Label(LPCTSTR Label, LPCTSTR Comment)
+{
+       static BYTE parms[] =
+               VTS_BSTR VTS_BSTR;
+       InvokeHelper(0x16, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
+                Label, Comment);
+}
+
+LPDISPATCH IVSSItem::GetVersions(long iFlags)
+{
+       LPDISPATCH result;
+       static BYTE parms[] =
+               VTS_I4;
+       InvokeHelper(0x17, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, parms,
+               iFlags);
+       return result;
+}
+
+LPDISPATCH IVSSItem::GetVersion(const VARIANT& Version)
+{
+       LPDISPATCH result;
+       static BYTE parms[] =
+               VTS_VARIANT;
+       InvokeHelper(0x18, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, parms,
+               &Version);
+       return result;
+}
+
+LPDISPATCH IVSSItem::GetLinks()
+{
+       LPDISPATCH result;
+       InvokeHelper(0x19, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
+       return result;
+}
+
+LPDISPATCH IVSSItem::Branch(LPCTSTR Comment, long iFlags)
+{
+       LPDISPATCH result;
+       static BYTE parms[] =
+               VTS_BSTR VTS_I4;
+       InvokeHelper(0x1a, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
+               Comment, iFlags);
+       return result;
+}
+
+
+/////////////////////////////////////////////////////////////////////////////
+// IVSSVersions properties
+
+/////////////////////////////////////////////////////////////////////////////
+// IVSSVersions operations
+
+
+/////////////////////////////////////////////////////////////////////////////
+// IVSSVersionOld properties
+
+/////////////////////////////////////////////////////////////////////////////
+// IVSSVersionOld operations
+
+CString IVSSVersionOld::GetUsername()
+{
+       CString result;
+       InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+long IVSSVersionOld::GetVersionNumber()
+{
+       long result;
+       InvokeHelper(0x2, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
+       return result;
+}
+
+CString IVSSVersionOld::GetAction()
+{
+       CString result;
+       InvokeHelper(0x3, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+DATE IVSSVersionOld::GetDate()
+{
+       DATE result;
+       InvokeHelper(0x4, DISPATCH_PROPERTYGET, VT_DATE, (void*)&result, NULL);
+       return result;
+}
+
+CString IVSSVersionOld::GetComment()
+{
+       CString result;
+       InvokeHelper(0x5, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+CString IVSSVersionOld::GetLabel()
+{
+       CString result;
+       InvokeHelper(0x6, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+LPDISPATCH IVSSVersionOld::GetVSSItem()
+{
+       LPDISPATCH result;
+       InvokeHelper(0x7, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
+       return result;
+}
+
+
+/////////////////////////////////////////////////////////////////////////////
+// IVSSVersion properties
+
+/////////////////////////////////////////////////////////////////////////////
+// IVSSVersion operations
+
+CString IVSSVersion::GetUsername()
+{
+       CString result;
+       InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+long IVSSVersion::GetVersionNumber()
+{
+       long result;
+       InvokeHelper(0x2, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
+       return result;
+}
+
+CString IVSSVersion::GetAction()
+{
+       CString result;
+       InvokeHelper(0x3, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+DATE IVSSVersion::GetDate()
+{
+       DATE result;
+       InvokeHelper(0x4, DISPATCH_PROPERTYGET, VT_DATE, (void*)&result, NULL);
+       return result;
+}
+
+CString IVSSVersion::GetComment()
+{
+       CString result;
+       InvokeHelper(0x5, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+CString IVSSVersion::GetLabel()
+{
+       CString result;
+       InvokeHelper(0x6, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+LPDISPATCH IVSSVersion::GetVSSItem()
+{
+       LPDISPATCH result;
+       InvokeHelper(0x7, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
+       return result;
+}
+
+CString IVSSVersion::GetLabelComment()
+{
+       CString result;
+       InvokeHelper(0x8, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+
+/////////////////////////////////////////////////////////////////////////////
+// IVSSItems properties
+
+/////////////////////////////////////////////////////////////////////////////
+// IVSSItems operations
+
+long IVSSItems::GetCount()
+{
+       long result;
+       InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
+       return result;
+}
+
+LPDISPATCH IVSSItems::GetItem(const VARIANT& sItem)
+{
+       LPDISPATCH result;
+       static BYTE parms[] =
+               VTS_VARIANT;
+       InvokeHelper(0x0, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, parms,
+               &sItem);
+       return result;
+}
+
+
+/////////////////////////////////////////////////////////////////////////////
+// IVSSCheckouts properties
+
+/////////////////////////////////////////////////////////////////////////////
+// IVSSCheckouts operations
+
+long IVSSCheckouts::GetCount()
+{
+       long result;
+       InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
+       return result;
+}
+
+LPDISPATCH IVSSCheckouts::GetItem(const VARIANT& sItem)
+{
+       LPDISPATCH result;
+       static BYTE parms[] =
+               VTS_VARIANT;
+       InvokeHelper(0x0, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, parms,
+               &sItem);
+       return result;
+}
+
+
+/////////////////////////////////////////////////////////////////////////////
+// IVSSCheckout properties
+
+/////////////////////////////////////////////////////////////////////////////
+// IVSSCheckout operations
+
+CString IVSSCheckout::GetUsername()
+{
+       CString result;
+       InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+DATE IVSSCheckout::GetDate()
+{
+       DATE result;
+       InvokeHelper(0x2, DISPATCH_PROPERTYGET, VT_DATE, (void*)&result, NULL);
+       return result;
+}
+
+CString IVSSCheckout::GetLocalSpec()
+{
+       CString result;
+       InvokeHelper(0x3, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+CString IVSSCheckout::GetMachine()
+{
+       CString result;
+       InvokeHelper(0x4, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+CString IVSSCheckout::GetProject()
+{
+       CString result;
+       InvokeHelper(0x5, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+CString IVSSCheckout::GetComment()
+{
+       CString result;
+       InvokeHelper(0x6, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+long IVSSCheckout::GetVersionNumber()
+{
+       long result;
+       InvokeHelper(0x7, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
+       return result;
+}
+
+
+/////////////////////////////////////////////////////////////////////////////
+// IVSSDatabaseOld properties
+
+/////////////////////////////////////////////////////////////////////////////
+// IVSSDatabaseOld operations
+
+void IVSSDatabaseOld::Open(LPCTSTR SrcSafeIni, LPCTSTR Username, LPCTSTR Password)
+{
+       static BYTE parms[] =
+               VTS_BSTR VTS_BSTR VTS_BSTR;
+       InvokeHelper(0x1, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
+                SrcSafeIni, Username, Password);
+}
+
+CString IVSSDatabaseOld::GetSrcSafeIni()
+{
+       CString result;
+       InvokeHelper(0x2, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+CString IVSSDatabaseOld::GetDatabaseName()
+{
+       CString result;
+       InvokeHelper(0x3, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+CString IVSSDatabaseOld::GetUsername()
+{
+       CString result;
+       InvokeHelper(0x4, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+CString IVSSDatabaseOld::GetCurrentProject()
+{
+       CString result;
+       InvokeHelper(0x5, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+void IVSSDatabaseOld::SetCurrentProject(LPCTSTR lpszNewValue)
+{
+       static BYTE parms[] =
+               VTS_BSTR;
+       InvokeHelper(0x5, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
+                lpszNewValue);
+}
+
+LPDISPATCH IVSSDatabaseOld::GetVSSItem(LPCTSTR Spec, BOOL Deleted)
+{
+       LPDISPATCH result;
+       static BYTE parms[] =
+               VTS_BSTR VTS_BOOL;
+       InvokeHelper(0x6, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, parms,
+               Spec, Deleted);
+       return result;
+}
+
+
+/////////////////////////////////////////////////////////////////////////////
+// IVSSDatabase properties
+
+/////////////////////////////////////////////////////////////////////////////
+// IVSSDatabase operations
+
+void IVSSDatabase::Open(LPCTSTR SrcSafeIni, LPCTSTR Username, LPCTSTR Password)
+{
+       static BYTE parms[] =
+               VTS_BSTR VTS_BSTR VTS_BSTR;
+       InvokeHelper(0x1, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
+                SrcSafeIni, Username, Password);
+}
+
+CString IVSSDatabase::GetSrcSafeIni()
+{
+       CString result;
+       InvokeHelper(0x2, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+CString IVSSDatabase::GetDatabaseName()
+{
+       CString result;
+       InvokeHelper(0x3, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+CString IVSSDatabase::GetUsername()
+{
+       CString result;
+       InvokeHelper(0x4, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+CString IVSSDatabase::GetCurrentProject()
+{
+       CString result;
+       InvokeHelper(0x5, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+void IVSSDatabase::SetCurrentProject(LPCTSTR lpszNewValue)
+{
+       static BYTE parms[] =
+               VTS_BSTR;
+       InvokeHelper(0x5, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
+                lpszNewValue);
+}
+
+LPDISPATCH IVSSDatabase::GetVSSItem(LPCTSTR Spec, BOOL Deleted)
+{
+       LPDISPATCH result;
+       static BYTE parms[] =
+               VTS_BSTR VTS_BOOL;
+       InvokeHelper(0x6, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, parms,
+               Spec, Deleted);
+       return result;
+}
+
+LPDISPATCH IVSSDatabase::AddUser(LPCTSTR User, LPCTSTR Password, BOOL ReadOnly)
+{
+       LPDISPATCH result;
+       static BYTE parms[] =
+               VTS_BSTR VTS_BSTR VTS_BOOL;
+       InvokeHelper(0x7, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
+               User, Password, ReadOnly);
+       return result;
+}
+
+LPDISPATCH IVSSDatabase::GetUser(LPCTSTR Name)
+{
+       LPDISPATCH result;
+       static BYTE parms[] =
+               VTS_BSTR;
+       InvokeHelper(0x8, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, parms,
+               Name);
+       return result;
+}
+
+LPDISPATCH IVSSDatabase::GetUsers()
+{
+       LPDISPATCH result;
+       InvokeHelper(0x9, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
+       return result;
+}
+
+BOOL IVSSDatabase::GetProjectRightsEnabled()
+{
+       BOOL result;
+       InvokeHelper(0xa, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
+       return result;
+}
+
+void IVSSDatabase::SetProjectRightsEnabled(BOOL bNewValue)
+{
+       static BYTE parms[] =
+               VTS_BOOL;
+       InvokeHelper(0xa, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
+                bNewValue);
+}
+
+long IVSSDatabase::GetDefaultProjectRights()
+{
+       long result;
+       InvokeHelper(0xb, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
+       return result;
+}
+
+void IVSSDatabase::SetDefaultProjectRights(long nNewValue)
+{
+       static BYTE parms[] =
+               VTS_I4;
+       InvokeHelper(0xb, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
+                nNewValue);
+}
+
+
+/////////////////////////////////////////////////////////////////////////////
+// IVSSUser properties
+
+/////////////////////////////////////////////////////////////////////////////
+// IVSSUser operations
+
+void IVSSUser::Delete()
+{
+       InvokeHelper(0x1, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
+}
+
+CString IVSSUser::GetName()
+{
+       CString result;
+       InvokeHelper(0x2, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
+       return result;
+}
+
+void IVSSUser::SetName(LPCTSTR lpszNewValue)
+{
+       static BYTE parms[] =
+               VTS_BSTR;
+       InvokeHelper(0x2, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
+                lpszNewValue);
+}
+
+void IVSSUser::SetPassword(LPCTSTR lpszNewValue)
+{
+       static BYTE parms[] =
+               VTS_BSTR;
+       InvokeHelper(0x3, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
+                lpszNewValue);
+}
+
+BOOL IVSSUser::GetReadOnly()
+{
+       BOOL result;
+       InvokeHelper(0x4, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
+       return result;
+}
+
+void IVSSUser::SetReadOnly(BOOL bNewValue)
+{
+       static BYTE parms[] =
+               VTS_BOOL;
+       InvokeHelper(0x4, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
+                bNewValue);
+}
+
+long IVSSUser::GetProjectRights(LPCTSTR Project)
+{
+       long result;
+       static BYTE parms[] =
+               VTS_BSTR;
+       InvokeHelper(0x5, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, parms,
+               Project);
+       return result;
+}
+
+void IVSSUser::SetProjectRights(LPCTSTR Project, long nNewValue)
+{
+       static BYTE parms[] =
+               VTS_BSTR VTS_I4;
+       InvokeHelper(0x5, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
+                Project, nNewValue);
+}
+
+void IVSSUser::RemoveProjectRights(LPCTSTR Project)
+{
+       static BYTE parms[] =
+               VTS_BSTR;
+       InvokeHelper(0x6, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
+                Project);
+}
+
+
+/////////////////////////////////////////////////////////////////////////////
+// IVSSUsers properties
+
+/////////////////////////////////////////////////////////////////////////////
+// IVSSUsers operations
+
+long IVSSUsers::GetCount()
+{
+       long result;
+       InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
+       return result;
+}
+
+LPDISPATCH IVSSUsers::GetItem(const VARIANT& sItem)
+{
+       LPDISPATCH result;
+       static BYTE parms[] =
+               VTS_VARIANT;
+       InvokeHelper(0x0, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, parms,
+               &sItem);
+       return result;
+}
+
+
+/////////////////////////////////////////////////////////////////////////////
+// IVSS properties
+
+/////////////////////////////////////////////////////////////////////////////
+// IVSS operations
+
+LPDISPATCH IVSS::GetVSSDatabase()
+{
+       LPDISPATCH result;
+       InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
+       return result;
+}
diff --git a/Src/ssapi.h b/Src/ssapi.h
new file mode 100644 (file)
index 0000000..8abd50d
--- /dev/null
@@ -0,0 +1,326 @@
+// Machine generated IDispatch wrapper class(es) created with ClassWizard
+/////////////////////////////////////////////////////////////////////////////
+// IVSSItemOld wrapper class
+
+class IVSSItemOld : public COleDispatchDriver
+{
+public:
+       IVSSItemOld() {}                // Calls COleDispatchDriver default constructor
+       IVSSItemOld(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
+       IVSSItemOld(const IVSSItemOld& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
+
+// Attributes
+public:
+
+// Operations
+public:
+       CString GetSpec();
+       BOOL GetBinary();
+       void SetBinary(BOOL bNewValue);
+       BOOL GetDeleted();
+       void SetDeleted(BOOL bNewValue);
+       long GetType();
+       CString GetLocalSpec();
+       void SetLocalSpec(LPCTSTR lpszNewValue);
+       CString GetName();
+       void SetName(LPCTSTR lpszNewValue);
+       LPDISPATCH GetParent();
+       long GetVersionNumber();
+       LPDISPATCH GetItems(BOOL IncludeDeleted);
+       void Get(BSTR* Local, long iFlags);
+       void Checkout(LPCTSTR Comment, LPCTSTR Local, long iFlags);
+       void Checkin(LPCTSTR Comment, LPCTSTR Local, long iFlags);
+       void UndoCheckout(LPCTSTR Local, long iFlags);
+       long GetIsCheckedOut();
+       LPDISPATCH GetCheckouts();
+       BOOL GetIsDifferent(LPCTSTR Local);
+       LPDISPATCH Add(LPCTSTR Local, LPCTSTR Comment, long iFlags);
+       LPDISPATCH NewSubproject(LPCTSTR Name, LPCTSTR Comment);
+       void Share(LPDISPATCH pIItem, LPCTSTR Comment, long iFlags);
+       void Destroy();
+       void Move(LPDISPATCH pINewParent);
+       void Label(LPCTSTR Label, LPCTSTR Comment);
+       LPDISPATCH GetVersions(long iFlags);
+       LPDISPATCH GetVersion(const VARIANT& Version);
+};
+/////////////////////////////////////////////////////////////////////////////
+// IVSSItem wrapper class
+
+class IVSSItem : public COleDispatchDriver
+{
+public:
+       IVSSItem() {}           // Calls COleDispatchDriver default constructor
+       IVSSItem(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
+       IVSSItem(const IVSSItem& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
+
+// Attributes
+public:
+
+// Operations
+public:
+       CString GetSpec();
+       BOOL GetBinary();
+       void SetBinary(BOOL bNewValue);
+       BOOL GetDeleted();
+       void SetDeleted(BOOL bNewValue);
+       long GetType();
+       CString GetLocalSpec();
+       void SetLocalSpec(LPCTSTR lpszNewValue);
+       CString GetName();
+       void SetName(LPCTSTR lpszNewValue);
+       LPDISPATCH GetParent();
+       long GetVersionNumber();
+       LPDISPATCH GetItems(BOOL IncludeDeleted);
+       void Get(BSTR* Local, long iFlags);
+       void Checkout(LPCTSTR Comment, LPCTSTR Local, long iFlags);
+       void Checkin(LPCTSTR Comment, LPCTSTR Local, long iFlags);
+       void UndoCheckout(LPCTSTR Local, long iFlags);
+       long GetIsCheckedOut();
+       LPDISPATCH GetCheckouts();
+       BOOL GetIsDifferent(LPCTSTR Local);
+       LPDISPATCH Add(LPCTSTR Local, LPCTSTR Comment, long iFlags);
+       LPDISPATCH NewSubproject(LPCTSTR Name, LPCTSTR Comment);
+       void Share(LPDISPATCH pIItem, LPCTSTR Comment, long iFlags);
+       void Destroy();
+       void Move(LPDISPATCH pINewParent);
+       void Label(LPCTSTR Label, LPCTSTR Comment);
+       LPDISPATCH GetVersions(long iFlags);
+       LPDISPATCH GetVersion(const VARIANT& Version);
+       LPDISPATCH GetLinks();
+       LPDISPATCH Branch(LPCTSTR Comment, long iFlags);
+};
+/////////////////////////////////////////////////////////////////////////////
+// IVSSVersions wrapper class
+
+class IVSSVersions : public COleDispatchDriver
+{
+public:
+       IVSSVersions() {}               // Calls COleDispatchDriver default constructor
+       IVSSVersions(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
+       IVSSVersions(const IVSSVersions& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
+
+// Attributes
+public:
+
+// Operations
+public:
+};
+/////////////////////////////////////////////////////////////////////////////
+// IVSSVersionOld wrapper class
+
+class IVSSVersionOld : public COleDispatchDriver
+{
+public:
+       IVSSVersionOld() {}             // Calls COleDispatchDriver default constructor
+       IVSSVersionOld(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
+       IVSSVersionOld(const IVSSVersionOld& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
+
+// Attributes
+public:
+
+// Operations
+public:
+       CString GetUsername();
+       long GetVersionNumber();
+       CString GetAction();
+       DATE GetDate();
+       CString GetComment();
+       CString GetLabel();
+       LPDISPATCH GetVSSItem();
+};
+/////////////////////////////////////////////////////////////////////////////
+// IVSSVersion wrapper class
+
+class IVSSVersion : public COleDispatchDriver
+{
+public:
+       IVSSVersion() {}                // Calls COleDispatchDriver default constructor
+       IVSSVersion(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
+       IVSSVersion(const IVSSVersion& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
+
+// Attributes
+public:
+
+// Operations
+public:
+       CString GetUsername();
+       long GetVersionNumber();
+       CString GetAction();
+       DATE GetDate();
+       CString GetComment();
+       CString GetLabel();
+       LPDISPATCH GetVSSItem();
+       CString GetLabelComment();
+};
+/////////////////////////////////////////////////////////////////////////////
+// IVSSItems wrapper class
+
+class IVSSItems : public COleDispatchDriver
+{
+public:
+       IVSSItems() {}          // Calls COleDispatchDriver default constructor
+       IVSSItems(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
+       IVSSItems(const IVSSItems& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
+
+// Attributes
+public:
+
+// Operations
+public:
+       long GetCount();
+       LPDISPATCH GetItem(const VARIANT& sItem);
+};
+/////////////////////////////////////////////////////////////////////////////
+// IVSSCheckouts wrapper class
+
+class IVSSCheckouts : public COleDispatchDriver
+{
+public:
+       IVSSCheckouts() {}              // Calls COleDispatchDriver default constructor
+       IVSSCheckouts(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
+       IVSSCheckouts(const IVSSCheckouts& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
+
+// Attributes
+public:
+
+// Operations
+public:
+       long GetCount();
+       LPDISPATCH GetItem(const VARIANT& sItem);
+};
+/////////////////////////////////////////////////////////////////////////////
+// IVSSCheckout wrapper class
+
+class IVSSCheckout : public COleDispatchDriver
+{
+public:
+       IVSSCheckout() {}               // Calls COleDispatchDriver default constructor
+       IVSSCheckout(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
+       IVSSCheckout(const IVSSCheckout& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
+
+// Attributes
+public:
+
+// Operations
+public:
+       CString GetUsername();
+       DATE GetDate();
+       CString GetLocalSpec();
+       CString GetMachine();
+       CString GetProject();
+       CString GetComment();
+       long GetVersionNumber();
+};
+/////////////////////////////////////////////////////////////////////////////
+// IVSSDatabaseOld wrapper class
+
+class IVSSDatabaseOld : public COleDispatchDriver
+{
+public:
+       IVSSDatabaseOld() {}            // Calls COleDispatchDriver default constructor
+       IVSSDatabaseOld(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
+       IVSSDatabaseOld(const IVSSDatabaseOld& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
+
+// Attributes
+public:
+
+// Operations
+public:
+       void Open(LPCTSTR SrcSafeIni, LPCTSTR Username, LPCTSTR Password);
+       CString GetSrcSafeIni();
+       CString GetDatabaseName();
+       CString GetUsername();
+       CString GetCurrentProject();
+       void SetCurrentProject(LPCTSTR lpszNewValue);
+       LPDISPATCH GetVSSItem(LPCTSTR Spec, BOOL Deleted);
+};
+/////////////////////////////////////////////////////////////////////////////
+// IVSSDatabase wrapper class
+
+class IVSSDatabase : public COleDispatchDriver
+{
+public:
+       IVSSDatabase() {}               // Calls COleDispatchDriver default constructor
+       IVSSDatabase(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
+       IVSSDatabase(const IVSSDatabase& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
+
+// Attributes
+public:
+
+// Operations
+public:
+       void Open(LPCTSTR SrcSafeIni, LPCTSTR Username, LPCTSTR Password);
+       CString GetSrcSafeIni();
+       CString GetDatabaseName();
+       CString GetUsername();
+       CString GetCurrentProject();
+       void SetCurrentProject(LPCTSTR lpszNewValue);
+       LPDISPATCH GetVSSItem(LPCTSTR Spec, BOOL Deleted);
+       LPDISPATCH AddUser(LPCTSTR User, LPCTSTR Password, BOOL ReadOnly);
+       LPDISPATCH GetUser(LPCTSTR Name);
+       LPDISPATCH GetUsers();
+       BOOL GetProjectRightsEnabled();
+       void SetProjectRightsEnabled(BOOL bNewValue);
+       long GetDefaultProjectRights();
+       void SetDefaultProjectRights(long nNewValue);
+};
+/////////////////////////////////////////////////////////////////////////////
+// IVSSUser wrapper class
+
+class IVSSUser : public COleDispatchDriver
+{
+public:
+       IVSSUser() {}           // Calls COleDispatchDriver default constructor
+       IVSSUser(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
+       IVSSUser(const IVSSUser& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
+
+// Attributes
+public:
+
+// Operations
+public:
+       void Delete();
+       CString GetName();
+       void SetName(LPCTSTR lpszNewValue);
+       void SetPassword(LPCTSTR lpszNewValue);
+       BOOL GetReadOnly();
+       void SetReadOnly(BOOL bNewValue);
+       long GetProjectRights(LPCTSTR Project);
+       void SetProjectRights(LPCTSTR Project, long nNewValue);
+       void RemoveProjectRights(LPCTSTR Project);
+};
+/////////////////////////////////////////////////////////////////////////////
+// IVSSUsers wrapper class
+
+class IVSSUsers : public COleDispatchDriver
+{
+public:
+       IVSSUsers() {}          // Calls COleDispatchDriver default constructor
+       IVSSUsers(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
+       IVSSUsers(const IVSSUsers& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
+
+// Attributes
+public:
+
+// Operations
+public:
+       long GetCount();
+       LPDISPATCH GetItem(const VARIANT& sItem);
+};
+/////////////////////////////////////////////////////////////////////////////
+// IVSS wrapper class
+
+class IVSS : public COleDispatchDriver
+{
+public:
+       IVSS() {}               // Calls COleDispatchDriver default constructor
+       IVSS(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
+       IVSS(const IVSS& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
+
+// Attributes
+public:
+
+// Operations
+public:
+       LPDISPATCH GetVSSDatabase();
+};