[GME-commit] GMESRC/GME/XmlBackEnd SvnExec.cpp, NONE, 1.1 SvnTester.cpp, NONE, 1.1 SvnTester.h, NONE, 1.1 VSSLoginDlg.cpp, 1.2, 1.3 VSSLoginDlg.h, 1.2, 1.3 XmlBackEnd.idl, 1.1, 1.2 XmlBackEnd.rc, 1.5, 1.6 resource.h, 1.3, 1.4 XmlBackEnd.vcproj, 1.3, 1.4

Log messages of CVS commits gme-commit at list.isis.vanderbilt.edu
Thu Feb 7 13:46:45 CST 2008


Update of /project/gme-repository/GMESRC/GME/XmlBackEnd
In directory escher:/tmp/cvs-serv26954

Modified Files:
	VSSLoginDlg.cpp VSSLoginDlg.h XmlBackEnd.idl XmlBackEnd.rc 
	resource.h XmlBackEnd.vcproj 
Added Files:
	SvnExec.cpp SvnTester.cpp SvnTester.h 
Log Message:
Checking in a few things.


CVS User: Zoltan Molnar, ISIS (zolmol)

Index: XmlBackEnd.vcproj
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/XmlBackEnd/XmlBackEnd.vcproj,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** XmlBackEnd.vcproj	26 Sep 2007 20:30:31 -0000	1.3
--- XmlBackEnd.vcproj	7 Feb 2008 19:46:43 -0000	1.4
***************
*** 4,7 ****
--- 4,8 ----
  	Version="7.10"
  	Name="XmlBackEnd"
+ 	RootNamespace="XmlBackEnd"
  	SccProjectName=""
  	SccLocalPath=""
***************
*** 24,28 ****
  				Name="VCCLCompilerTool"
  				Optimization="0"
! 				AdditionalIncludeDirectories="./,../Include,../Include/ODBC,../Include/repository,../Interfaces,../Include/STLport,../Common,../Gme,../Core"
  				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL"
  				BasicRuntimeChecks="3"
--- 25,29 ----
  				Name="VCCLCompilerTool"
  				Optimization="0"
! 				AdditionalIncludeDirectories="./,../Include,../Include/ODBC,../Include/repository,../Interfaces,../Include/STLport,../Common,../Gme,../Core,..\subversion-1.4.5\subversion\include;..\subversion-1.4.5\apr\include;..\subversion-1.4.5\apr-util\include;..\subversion-1.4.5\subversion,svncode,../Common"
  				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL"
  				BasicRuntimeChecks="3"
***************
*** 41,45 ****
  				Name="VCCustomBuildTool"
  				Description="Performing registration"
! 				CommandLine="regsvr32 /s /c "$(TargetPath)"
  echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
  "
--- 42,51 ----
  				Name="VCCustomBuildTool"
  				Description="Performing registration"
! 				CommandLine="copy ..\subversion-1.4.5\apr\Debug\libapr.dll "$(OutDir)"
! copy ..\subversion-1.4.5\apr-util\Debug\libaprutil.dll "$(OutDir)"
! copy ..\subversion-1.4.5\apr-iconv\Debug\libapriconv.dll "$(OutDir)"
! copy ..\subversion-1.4.5\openssl-0.9.7g\out32dll\libeay32.dll  "$(OutDir)"
! copy ..\subversion-1.4.5\openssl-0.9.7g\out32dll\ssleay32.dll  "$(OutDir)"
! regsvr32 /s /c "$(TargetPath)"
  echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
  "
***************
*** 47,55 ****
  			<Tool
  				Name="VCLinkerTool"
! 				AdditionalDependencies="xerces-c_2D.lib"
  				OutputFile=".\Debug/XmlBackEnd.dll"
  				LinkIncremental="2"
  				SuppressStartupBanner="TRUE"
! 				AdditionalLibraryDirectories="../lib"
  				ModuleDefinitionFile=".\XmlBackEnd.def"
  				GenerateDebugInformation="TRUE"
--- 53,61 ----
  			<Tool
  				Name="VCLinkerTool"
! 				AdditionalDependencies="xerces-c_2D.lib comsvcs.lib"
  				OutputFile=".\Debug/XmlBackEnd.dll"
  				LinkIncremental="2"
  				SuppressStartupBanner="TRUE"
! 				AdditionalLibraryDirectories="../lib;&quot;..\subversion-1.4.5\apr\Debug&quot;;&quot;..\subversion-1.4.5\apr-util\Debug&quot;;&quot;..\subversion-1.4.5\apr-iconv\Debug&quot;;&quot;..\subversion-1.4.5\apr-util\xml\expat\lib\LibD&quot;;&quot;..\subversion-1.4.5\zlib\&quot;;&quot;..\subversion-1.4.5\neon\&quot;;&quot;..\subversion-1.4.5\debug\subversion\libsvn_client&quot;;&quot;..\subversion-1.4.5\debug\subversion\libsvn_delta&quot;;&quot;..\subversion-1.4.5\debug\subversion\libsvn_diff&quot;;&quot;..\subversion-1.4.5\debug\subversion\libsvn_fs&quot;;&quot;..\subversion-1.4.5\debug\subversion\libsvn_fs_fs&quot;;&quot;..\subversion-1.4.5\debug\subversion\libsvn_ra&quot;;&quot;..\subversion-1.4.5\debug\subversion\libsvn_ra_dav&quot;;&quot;..\subversion-1.4.5\debug\subversion\libsvn_ra_local&quot;;&quot;..\subversion-1.4.5\debug\subversion\libsvn_ra_serf&quot;;&quot;..\subversion-1.4.5\debug\subversion\libsvn_ra_svn&quot;;&quot;..\subversion-1.4.5\debug\subversion\libsvn_rep
 os&quot;;&quot;..\subversion-1.4.5\debug\subversion\libsvn_subr&quot;;&quot;..\subversion-1.4.5\debug\subversion\libsvn_wc&quot;;&quot;..\subversion-1.4.5\openssl-0.9.7g\out32dll&quot;;&quot;..\subversion-1.4.5\serf-0.1.2\$(ConfigurationName)\&quot;"
  				ModuleDefinitionFile=".\XmlBackEnd.def"
  				GenerateDebugInformation="TRUE"
***************
*** 97,101 ****
  				Optimization="1"
  				InlineFunctionExpansion="1"
! 				AdditionalIncludeDirectories="./,../Include,../Include/ODBC,../Include/repository,../Interfaces,../Include/STLport,../Common,../Gme,../Core"
  				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL"
  				StringPooling="TRUE"
--- 103,107 ----
  				Optimization="1"
  				InlineFunctionExpansion="1"
! 				AdditionalIncludeDirectories="./,../Include,../Include/ODBC,../Include/repository,../Interfaces,../Include/STLport,../Common,../Gme,../Core,..\subversion-1.4.5\subversion\include;..\subversion-1.4.5\apr\include;..\subversion-1.4.5\apr-util\include;..\subversion-1.4.5\subversion,svncode,../Common"
  				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL"
  				StringPooling="TRUE"
***************
*** 115,119 ****
  				Name="VCCustomBuildTool"
  				Description="Performing registration"
! 				CommandLine="regsvr32 /s /c &quot;$(TargetPath)&quot;
  echo regsvr32 exec. time &gt; &quot;$(OutDir)\regsvr32.trg&quot;
  "
--- 121,130 ----
  				Name="VCCustomBuildTool"
  				Description="Performing registration"
! 				CommandLine="copy ..\subversion-1.4.5\apr\Debug\libapr.dll &quot;$(OutDir)&quot;
! copy ..\subversion-1.4.5\apr-util\Debug\libaprutil.dll &quot;$(OutDir)&quot;
! copy ..\subversion-1.4.5\apr-iconv\Debug\libapriconv.dll &quot;$(OutDir)&quot;
! copy ..\subversion-1.4.5\openssl-0.9.7g\out32dll\libeay32.dll  &quot;$(OutDir)&quot;
! copy ..\subversion-1.4.5\openssl-0.9.7g\out32dll\ssleay32.dll  &quot;$(OutDir)&quot;
! regsvr32 /s /c &quot;$(TargetPath)&quot;
  echo regsvr32 exec. time &gt; &quot;$(OutDir)\regsvr32.trg&quot;
  "
***************
*** 121,129 ****
  			<Tool
  				Name="VCLinkerTool"
! 				AdditionalDependencies="xerces-c_2.lib"
  				OutputFile=".\Release/XmlBackEnd.dll"
  				LinkIncremental="1"
  				SuppressStartupBanner="TRUE"
! 				AdditionalLibraryDirectories="../lib"
  				ModuleDefinitionFile=".\XmlBackEnd.def"
  				GenerateDebugInformation="TRUE"
--- 132,140 ----
  			<Tool
  				Name="VCLinkerTool"
! 				AdditionalDependencies="xerces-c_2.lib comsvcs.lib"
  				OutputFile=".\Release/XmlBackEnd.dll"
  				LinkIncremental="1"
  				SuppressStartupBanner="TRUE"
! 				AdditionalLibraryDirectories="../lib;&quot;..\subversion-1.4.5\apr\Debug&quot;;&quot;..\subversion-1.4.5\apr-util\Debug&quot;;&quot;..\subversion-1.4.5\apr-iconv\Debug&quot;;&quot;..\subversion-1.4.5\apr-util\xml\expat\lib\LibD&quot;;&quot;..\subversion-1.4.5\zlib\&quot;;&quot;..\subversion-1.4.5\neon\&quot;;&quot;..\subversion-1.4.5\debug\subversion\libsvn_client&quot;;&quot;..\subversion-1.4.5\debug\subversion\libsvn_delta&quot;;&quot;..\subversion-1.4.5\debug\subversion\libsvn_diff&quot;;&quot;..\subversion-1.4.5\debug\subversion\libsvn_fs&quot;;&quot;..\subversion-1.4.5\debug\subversion\libsvn_fs_fs&quot;;&quot;..\subversion-1.4.5\debug\subversion\libsvn_ra&quot;;&quot;..\subversion-1.4.5\debug\subversion\libsvn_ra_dav&quot;;&quot;..\subversion-1.4.5\debug\subversion\libsvn_ra_local&quot;;&quot;..\subversion-1.4.5\debug\subversion\libsvn_ra_serf&quot;;&quot;..\subversion-1.4.5\debug\subversion\libsvn_ra_svn&quot;;&quot;..\subversion-1.4.5\debug\subversion\libsvn_rep
 os&quot;;&quot;..\subversion-1.4.5\debug\subversion\libsvn_subr&quot;;&quot;..\subversion-1.4.5\debug\subversion\libsvn_wc&quot;;&quot;..\subversion-1.4.5\openssl-0.9.7g\out32dll&quot;;"
  				ModuleDefinitionFile=".\XmlBackEnd.def"
  				GenerateDebugInformation="TRUE"
***************
*** 185,188 ****
--- 196,202 ----
  			</File>
  			<File
+ 				RelativePath=".\CertificateDlg.cpp">
+ 			</File>
+ 			<File
  				RelativePath="..\Common\CommonError.cpp">
  				<FileConfiguration
***************
*** 251,254 ****
--- 265,277 ----
  			</File>
  			<File
+ 				RelativePath=".\CredentialDlg.cpp">
+ 			</File>
+ 			<File
+ 				RelativePath=".\DirSupplier.cpp">
+ 			</File>
+ 			<File
+ 				RelativePath=".\FileHelp.cpp">
+ 			</File>
+ 			<File
  				RelativePath=".\FilesInUseDetailsDlg.cpp">
  			</File>
***************
*** 257,260 ****
--- 280,289 ----
  			</File>
  			<File
+ 				RelativePath=".\MsgConsole.cpp">
+ 			</File>
+ 			<File
+ 				RelativePath=".\OperOptions.cpp">
+ 			</File>
+ 			<File
  				RelativePath="StdAfx.cpp">
  				<FileConfiguration
***************
*** 283,286 ****
--- 312,336 ----
  			</File>
  			<File
+ 				RelativePath=".\SvAuto.idl">
+ 				<FileConfiguration
+ 					Name="Debug|Win32">
+ 					<Tool
+ 						Name="VCMIDLTool"
+ 						GenerateStublessProxies="TRUE"/>
+ 				</FileConfiguration>
+ 				<FileConfiguration
+ 					Name="Release|Win32">
+ 					<Tool
+ 						Name="VCMIDLTool"
+ 						GenerateStublessProxies="TRUE"/>
+ 				</FileConfiguration>
+ 			</File>
+ 			<File
+ 				RelativePath=".\SvnExec.cpp">
+ 			</File>
+ 			<File
+ 				RelativePath=".\SvnTester.cpp">
+ 			</File>
+ 			<File
  				RelativePath="VSSLoginDlg.cpp">
  				<FileConfiguration
***************
*** 369,372 ****
--- 419,456 ----
  				</FileConfiguration>
  			</File>
+ 			<Filter
+ 				Name="SVNCode"
+ 				Filter="">
+ 				<File
+ 					RelativePath=".\SVNCode\Client.cpp">
+ 				</File>
+ 				<File
+ 					RelativePath=".\SVNCode\CmdClient.cpp">
+ 				</File>
+ 				<File
+ 					RelativePath=".\SVNCode\HiClient.cpp">
+ 				</File>
+ 				<File
+ 					RelativePath=".\SVNCode\Path.cpp">
+ 				</File>
+ 				<File
+ 					RelativePath=".\SVNCode\Pool.cpp">
+ 				</File>
+ 				<File
+ 					RelativePath=".\SVNCode\Prompter.cpp">
+ 				</File>
+ 				<File
+ 					RelativePath=".\SVNCode\Revision.cpp">
+ 				</File>
+ 				<File
+ 					RelativePath=".\SVNCode\Targets.cpp">
+ 				</File>
+ 				<File
+ 					RelativePath=".\SVNCode\ThreadData.cpp">
+ 				</File>
+ 				<File
+ 					RelativePath=".\SVNCode\Util.cpp">
+ 				</File>
+ 			</Filter>
  		</Filter>
  		<Filter
***************
*** 377,383 ****
--- 461,479 ----
  			</File>
  			<File
+ 				RelativePath=".\CertificateDlg.h">
+ 			</File>
+ 			<File
  				RelativePath="CoreXmlFile.h">
  			</File>
  			<File
+ 				RelativePath=".\CredentialDlg.h">
+ 			</File>
+ 			<File
+ 				RelativePath=".\DirSupplier.h">
+ 			</File>
+ 			<File
+ 				RelativePath=".\FileHelp.h">
+ 			</File>
+ 			<File
  				RelativePath=".\FilesInUseDetailsDlg.h">
  			</File>
***************
*** 386,389 ****
--- 482,491 ----
  			</File>
  			<File
+ 				RelativePath=".\MsgConsole.h">
+ 			</File>
+ 			<File
+ 				RelativePath=".\OperOptions.h">
+ 			</File>
+ 			<File
  				RelativePath="Resource.h">
  			</File>
***************
*** 395,400 ****
--- 497,551 ----
  			</File>
  			<File
+ 				RelativePath=".\SvnConfig.h">
+ 			</File>
+ 			<File
+ 				RelativePath=".\SvnExec.h">
+ 			</File>
+ 			<File
+ 				RelativePath=".\SvnTester.h">
+ 			</File>
+ 			<File
  				RelativePath="VSSLoginDlg.h">
  			</File>
+ 			<Filter
+ 				Name="SVNHead"
+ 				Filter="">
+ 				<File
+ 					RelativePath=".\SVNCode\Client.h">
+ 				</File>
+ 				<File
+ 					RelativePath=".\SVNCode\ClientIntf.h">
+ 				</File>
+ 				<File
+ 					RelativePath=".\SVNCode\ClientUtil.h">
+ 				</File>
+ 				<File
+ 					RelativePath=".\SVNCode\CmdClient.h">
+ 				</File>
+ 				<File
+ 					RelativePath=".\SVNCode\HiClient.h">
+ 				</File>
+ 				<File
+ 					RelativePath=".\SVNCode\Path.h">
+ 				</File>
+ 				<File
+ 					RelativePath=".\SVNCode\Pool.h">
+ 				</File>
+ 				<File
+ 					RelativePath=".\SVNCode\Prompter.h">
+ 				</File>
+ 				<File
+ 					RelativePath=".\SVNCode\Revision.h">
+ 				</File>
+ 				<File
+ 					RelativePath=".\SVNCode\Targets.h">
+ 				</File>
+ 				<File
+ 					RelativePath=".\SVNCode\ThreadData.h">
+ 				</File>
+ 				<File
+ 					RelativePath=".\SVNCode\Util.h">
+ 				</File>
+ 			</Filter>
  		</Filter>
  		<Filter
***************
*** 403,406 ****
--- 554,563 ----
  			<File
  				RelativePath="CoreXmlFile.rgs">
+ 			</File>
+ 			<File
+ 				RelativePath=".\SvnExec.rgs">
+ 			</File>
+ 			<File
+ 				RelativePath=".\SvnTester.rgs">
  			</File>
  		</Filter>

Index: XmlBackEnd.rc
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/XmlBackEnd/XmlBackEnd.rc,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** XmlBackEnd.rc	26 Sep 2007 20:30:31 -0000	1.5
--- XmlBackEnd.rc	7 Feb 2008 19:46:43 -0000	1.6
***************
*** 91,112 ****
  //
  
! IDD_DIALOG_VSSLOGIN DIALOG  0, 0, 258, 151
  STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
  CAPTION "Login to VSS Database"
! FONT 8, "MS Sans Serif"
  BEGIN
      LTEXT           "This project is connected to a SourceSafe database. You have to login to the database to work with this project.",
!                     IDC_STATIC,7,7,244,18
!     LTEXT           "Project",IDC_STATIC,17,33,22,8
!     LTEXT           "c:\\temp\\alma1.mgx",IDC_STATIC_PROJECT,52,33,183,8
!     LTEXT           "Database",IDC_STATIC,17,53,31,8
      LTEXT           "c:\\temp\\almafa\\kortefa\\dinnye\\somminden\\sourcesafe.ini",
!                     IDC_STATIC_DATABASE,52,53,183,10
!     LTEXT           "User:",IDC_STATIC,17,73,17,8
!     EDITTEXT        IDC_EDIT_USER,52,71,120,14,ES_AUTOHSCROLL
!     LTEXT           "Password:",IDC_STATIC,17,93,33,8
!     EDITTEXT        IDC_EDIT_PWD,52,91,120,14,ES_PASSWORD | ES_AUTOHSCROLL
!     DEFPUSHBUTTON   "OK",IDOK,71,120,50,14
!     PUSHBUTTON      "Cancel",IDCANCEL,137,120,50,14
  END
  
--- 91,112 ----
  //
  
! IDD_DIALOG_VSSLOGIN DIALOGEX 0, 0, 258, 151
  STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
  CAPTION "Login to VSS Database"
! FONT 8, "MS Sans Serif", 0, 0, 0x0
  BEGIN
      LTEXT           "This project is connected to a SourceSafe database. You have to login to the database to work with this project.",
!                     IDC_STATIC_WELCOME,7,7,244,26
!     LTEXT           "Project",IDC_STATIC,9,33,22,8
!     LTEXT           "c:\\temp\\alma1.mgx",IDC_STATIC_PROJECT,47,33,204,20
!     LTEXT           "Database",IDC_STATIC,9,53,31,8
      LTEXT           "c:\\temp\\almafa\\kortefa\\dinnye\\somminden\\sourcesafe.ini",
!                     IDC_STATIC_DATABASE,47,53,204,23
!     LTEXT           "User:",IDC_STATIC,9,81,17,8
!     EDITTEXT        IDC_EDIT_USER,47,79,186,14,ES_AUTOHSCROLL
!     LTEXT           "Password:",IDC_STATIC,9,101,33,8
!     EDITTEXT        IDC_EDIT_PWD,47,99,186,14,ES_PASSWORD | ES_AUTOHSCROLL
!     DEFPUSHBUTTON   "OK",IDOK,65,120,50,14
!     PUSHBUTTON      "Cancel",IDCANCEL,152,120,50,14
  END
  
***************
*** 134,137 ****
--- 134,174 ----
  END
  
+ IDD_DIALOG1 DIALOGEX 0, 0, 259, 93
+ STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | 
+     WS_SYSMENU
+ CAPTION "Credentials"
+ FONT 8, "MS Shell Dlg", 400, 0, 0x1
+ BEGIN
+     DEFPUSHBUTTON   "OK",IDOK,202,7,50,14
+     PUSHBUTTON      "Cancel",IDCANCEL,202,29,50,14
+     CONTROL         "May save?",IDC_MAYBESAVED,"Button",BS_AUTOCHECKBOX | 
+                     WS_TABSTOP,201,70,50,10
+     LTEXT           "Please authenticate yourself:",IDC_STATIC1,7,7,187,19
+     EDITTEXT        IDC_EDITNAME,7,37,186,13,ES_AUTOHSCROLL
+     EDITTEXT        IDC_EDITWORD,7,68,186,13,ES_PASSWORD | ES_AUTOHSCROLL
+     LTEXT           "Password",IDC_STATIC,7,57,32,8
+     LTEXT           "Username",IDC_STATIC,7,25,33,8
+ END
+ 
+ IDD_DIALOG2 DIALOGEX 0, 0, 443, 127
+ STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | 
+     WS_SYSMENU
+ CAPTION "Accept Certificate?"
+ FONT 8, "MS Shell Dlg", 400, 0, 0x1
+ BEGIN
+     CONTROL         "Accept &Permanently",IDC_RADIO1,"Button",
+                     BS_AUTORADIOBUTTON | BS_PUSHLIKE | WS_GROUP | WS_TABSTOP,
+                     257,97,114,14
+     DEFPUSHBUTTON   "OK",IDOK,386,7,50,14
+     PUSHBUTTON      "Cancel",IDCANCEL,386,24,50,14
+     CONTROL         "&Reject",IDC_RADIO3,"Button",BS_AUTORADIOBUTTON | 
+                     BS_PUSHLIKE | WS_TABSTOP,16,97,37,14
+     CONTROL         "Accept &Temporarily",IDC_RADIO2,"Button",
+                     BS_AUTORADIOBUTTON | BS_PUSHLIKE | WS_TABSTOP,152,97,93,
+                     14
+     EDITTEXT        IDC_EDITTEXT,7,7,366,85,ES_MULTILINE | ES_AUTOHSCROLL | 
+                     ES_READONLY
+ END
+ 
  
  /////////////////////////////////////////////////////////////////////////////
***************
*** 147,153 ****
          LEFTMARGIN, 7
          RIGHTMARGIN, 251
-         VERTGUIDE, 17
-         VERTGUIDE, 52
-         VERTGUIDE, 172
          TOPMARGIN, 7
          BOTTOMMARGIN, 144
--- 184,187 ----
***************
*** 170,173 ****
--- 204,223 ----
          BOTTOMMARGIN, 176
      END
+ 
+     IDD_DIALOG1, DIALOG
+     BEGIN
+         LEFTMARGIN, 7
+         RIGHTMARGIN, 252
+         TOPMARGIN, 7
+         BOTTOMMARGIN, 86
+     END
+ 
+     IDD_DIALOG2, DIALOG
+     BEGIN
+         LEFTMARGIN, 7
+         RIGHTMARGIN, 436
+         TOPMARGIN, 7
+         BOTTOMMARGIN, 120
+     END
  END
  #endif    // APSTUDIO_INVOKED
***************
*** 180,183 ****
--- 230,235 ----
  
  IDR_CoreXmlFile         REGISTRY                "CoreXmlFile.rgs"
+ IDR_SVNTESTER           REGISTRY                "SvnTester.rgs"
+ IDR_SVNEXEC             REGISTRY                "SvnExec.rgs"
  
  /////////////////////////////////////////////////////////////////////////////

--- NEW FILE: SvnExec.cpp ---
// SvnExec.cpp : Implementation of CSvnExec

#include "stdafx.h"
#include "SvnExec.h"


// CSvnExec
VARIANT_BOOL CSvnExec::b2vb( bool p_val)
{
	return p_val? VARIANT_TRUE: VARIANT_FALSE;
}

bool CSvnExec::vb2b( VARIANT_BOOL p_val)
{
	return p_val == VARIANT_TRUE;
}

STDMETHODIMP CSvnExec::TryLock(BSTR p_path, VARIANT_BOOL* p_ptrSuccess)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());

	std::string ph;
	CopyTo( p_path, ph);
	
	bool succ = m_impl->tryLock( ph);
	if( p_ptrSuccess)
		*p_ptrSuccess = b2vb( succ);

	return S_OK;
}

STDMETHODIMP CSvnExec::UnLock(BSTR p_path, VARIANT_BOOL* p_ptrSuccess)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());

	std::string ph;
	CopyTo( p_path, ph);
	
	bool succ = m_impl->unLock( ph);
	if( p_ptrSuccess)
		*p_ptrSuccess = b2vb( succ);

	return S_OK;
}

STDMETHODIMP CSvnExec::AddLockableProperty(BSTR p_path)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());

	std::string ph;
	CopyTo( p_path, ph);
	
	bool res = m_impl->lockableProp( ph);

	return res? S_OK: E_FAIL;
}

STDMETHODIMP CSvnExec::GetLatest(BSTR p_path)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());

	std::string ph;
	CopyTo( p_path, ph);
	
	bool res = m_impl->getLatest( ph);

	return res? S_OK: E_FAIL;
}

STDMETHODIMP CSvnExec::LightCheckOut(BSTR p_path, BSTR p_localDir)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());

	std::string ph;
	std::string ldir;
	CopyTo( p_path, ph);
	CopyTo( p_localDir, ldir);
	
	bool res = m_impl->lightCheckOut( ph, ldir);

	return res? S_OK: E_FAIL;
}

STDMETHODIMP CSvnExec::Commit(BSTR p_path, VARIANT_BOOL p_keepLocked)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());

	std::string ph;
	CopyTo( p_path, ph);
	
	bool res = m_impl->commitAll( ph, vb2b( p_keepLocked));

	return res? S_OK: E_FAIL;
}

STDMETHODIMP CSvnExec::Add(BSTR p_path, VARIANT_BOOL p_recursive)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());

	std::string ph;
	CopyTo( p_path, ph);
	
	bool res = m_impl->add( ph, vb2b( p_recursive));

	return res? S_OK: E_FAIL;
}

STDMETHODIMP CSvnExec::SrvMkDir(BSTR p_path)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());

	std::string ph;
	CopyTo( p_path, ph);
	
	bool res = m_impl->mkDirOnServer( ph);

	return res? S_OK: E_FAIL;
}

STDMETHODIMP CSvnExec::Resolve(BSTR p_path, VARIANT_BOOL p_recursive)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());

	std::string ph;
	CopyTo( p_path, ph);
	
	bool res = m_impl->resolve( ph, vb2b( p_recursive));

	return res? S_OK: E_FAIL;
}

STDMETHODIMP CSvnExec::CleanUp(BSTR p_path)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());

	std::string ph;
	CopyTo( p_path, ph);
	
	bool res = m_impl->cleanup( ph);

	return res? S_OK: E_FAIL;
}

STDMETHODIMP CSvnExec::Status(BSTR p_path, VARIANT_BOOL p_provideStatusMessage, BSTR* p_ptrStatusMessage)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());

	std::string ph;
	CopyTo( p_path, ph);
	
	std::string status_msg;
	bool res = m_impl->status( ph, vb2b( p_provideStatusMessage), status_msg);
	CopyTo( status_msg, p_ptrStatusMessage);

	return res? S_OK: E_FAIL;
}

STDMETHODIMP CSvnExec::Info(BSTR p_url, VARIANT_BOOL p_recursive, VARIANT_BOOL p_provideInfoMessage, BSTR* p_ptrInfoMsg, BSTR* p_ptrAuthor, BSTR* p_ptrLockOwner)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());

	std::string url;
	CopyTo( p_url, url);
	std::string info_msg, author, lock_owner;

	bool res = m_impl->info( url, vb2b( p_recursive), vb2b( p_provideInfoMessage), info_msg, author, lock_owner);
	CopyTo( info_msg  , p_ptrInfoMsg);
	CopyTo( author    , p_ptrAuthor);
	CopyTo( lock_owner, p_ptrLockOwner);
	
	return res? S_OK: E_FAIL;
}

STDMETHODIMP CSvnExec::IsVersioned(BSTR p_path, VARIANT_BOOL p_isDir, VARIANT_BOOL p_suppressErrorMsg, VARIANT_BOOL* p_ptrIsVersioned)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());

	std::string ph;
	CopyTo( p_path, ph);
	bool versioned = m_impl->isVersioned( ph, vb2b( p_isDir), vb2b( p_suppressErrorMsg));
	if( p_ptrIsVersioned)
		*p_ptrIsVersioned = b2vb( versioned);

	return S_OK;
}

STDMETHODIMP CSvnExec::IsLocked(BSTR p_path, VARIANT_BOOL* p_ptrIsLocked, BSTR* p_ptrLockHolder)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());

	std::string ph, holder;
	CopyTo( p_path, ph);
	bool locked = m_impl->isLockedByUser( ph, holder);// TODO: Add your implementation code here

	if( p_ptrIsLocked)  // valid pointer
		*p_ptrIsLocked = b2vb( locked);

	if( p_ptrLockHolder && locked) // if it is locked, there is a holder
		CopyTo( holder, p_ptrLockHolder);

	return S_OK;
}

STDMETHODIMP CSvnExec::Init(BSTR p_username, BSTR p_password)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());

	std::string un, pw;
	CopyTo( p_username, un);
	CopyTo( p_password, pw);
	m_impl = new HiClient( un, pw);

	return S_OK;
}

STDMETHODIMP CSvnExec::Logging(VARIANT_BOOL p_onoff)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());

	m_impl->setLog( vb2b( p_onoff));

	return S_OK;
}

Index: XmlBackEnd.idl
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/XmlBackEnd/XmlBackEnd.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** XmlBackEnd.idl	14 Sep 2004 15:40:01 -0000	1.1
--- XmlBackEnd.idl	7 Feb 2008 19:46:43 -0000	1.2
***************
*** 9,13 ****
  
  import "Core.idl";
! 	
  	
  [
--- 9,13 ----
  
  import "Core.idl";
! import "svauto.idl";
  	
  [
***************
*** 31,33 ****
--- 31,54 ----
  		interface ISupportErrorInfo;
  	};
+ 
+ 
+ 	[
+ 		uuid(0C398158-C207-406D-8402-8D45274E5F85),
+ 		helpstring("SvnExec Class")
+ 	]
+ 	coclass SvnExec
+ 	{
+ 		[default] interface ISvnExec;
+ 	};
+ 
+ 
+ 	[
+ 		uuid(5CDD4F2C-3CFF-419A-A7C7-B1C9E9962ABC),
+ 		helpstring("SvnTester Class")
+ 	]
+ 	coclass SvnTester
+ 	{
+ 		[default] interface ISvnTester;
+ 	};
+ 
  };

Index: VSSLoginDlg.cpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/XmlBackEnd/VSSLoginDlg.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** VSSLoginDlg.cpp	26 Sep 2007 20:30:31 -0000	1.2
--- VSSLoginDlg.cpp	7 Feb 2008 19:46:43 -0000	1.3
***************
*** 37,40 ****
--- 37,41 ----
  	DDX_Text(pDX, IDC_STATIC_DATABASE, m_database);
  	DDX_Text(pDX, IDC_STATIC_PROJECT, m_project);
+ 	DDX_Text(pDX, IDC_STATIC_WELCOME, m_text);
  	//}}AFX_DATA_MAP
  }
***************
*** 53,56 ****
--- 54,59 ----
  {
  	CDialog::OnInitDialog();
+ 	if( !m_text.IsEmpty())
+ 		SetWindowText("Default credentials to be used");
  
  	// TODO:  Add extra initialization here

--- NEW FILE: SvnTester.cpp ---
// SvnTester.cpp : Implementation of CSvnTester

#include "stdafx.h"
#include "SvnTester.h"
#include "VSSLoginDlg.h"
#include "Svn_Intf_i.c"
#include ".\svntester.h"

// CSvnTester


STDMETHODIMP CSvnTester::info(BSTR p_url, VARIANT_BOOL p_byAPI, VARIANT_BOOL p_recursive, BSTR* p_ptrResultMsg)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());

	m_svnUrl   = "";
	m_username = "";
	m_password = "";

	try {
		if( p_byAPI == VARIANT_TRUE)
		{
			if( getLoginData())
			{
				m_apiSvn = new HiClient( m_username, m_password);
				if( !m_apiSvn) {
					AfxMessageBox( "SVN implementation client object could not be created!");
					throw hresult_exception( E_FAIL);
				}

				CopyTo( p_url, m_svnUrl);

				std::string info_msg;
				std::string author;
				std::string owner;

				m_apiSvn->info( m_svnUrl, p_recursive == VARIANT_TRUE /*rec*/, true /*assemble info*/, info_msg, author, owner);

				CopyTo( info_msg, p_ptrResultMsg);
			}
		}
		else
		{
			m_cmdSvn = new CmdClient( false /*m_svnShowCmdLineWindows*/, true /*m_svnRedirectOutput*/); 
			if( !m_cmdSvn) {
				AfxMessageBox( "SVN implementation client object could not be created!");
				throw hresult_exception( E_FAIL);
			}

			CopyTo( p_url, m_svnUrl);

			std::string info_msg;
			std::string author;
			std::string owner;

			m_cmdSvn->info( m_svnUrl, p_recursive == VARIANT_TRUE /*rec*/, true /*assemble info*/, info_msg, author, owner);

			CopyTo( info_msg, p_ptrResultMsg);
		}
		return S_OK;

	}catch(hresult_exception &e) {
		ASSERT( 0);
		return E_FAIL;
	}

	return S_OK;
}

STDMETHODIMP CSvnTester::status(BSTR p_path, VARIANT_BOOL p_byAPI, BSTR* p_ptrResultMsg)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());

	m_svnUrl   = "";
	m_username = "";
	m_password = "";

	try {
		if( p_byAPI == VARIANT_TRUE)
		{
			if( getLoginData())
			{
				m_apiSvn = new HiClient( m_username, m_password);
				if( !m_apiSvn) {
					AfxMessageBox( "SVN implementation client object could not be created!");
					throw hresult_exception( E_FAIL);
				}

				std::string path;
				std::string stat_msg;

				CopyTo( p_path, path);

				bool sc = m_apiSvn->status( path, true /*assemble info*/, stat_msg);

				CopyTo( stat_msg, p_ptrResultMsg);
			}
		}
		else
		{
			m_cmdSvn = new CmdClient( false /*m_svnShowCmdLineWindows*/, true /*m_svnRedirectOutput*/); 
			if( !m_cmdSvn) {
				AfxMessageBox( "SVN implementation client object could not be created!");
				throw hresult_exception( E_FAIL);
			}

			std::string path;
			std::string stat_msg;
			CopyTo( p_path, path);

			bool sc = m_cmdSvn->status( path, true /*assemble info*/, stat_msg);

			CopyTo( stat_msg, p_ptrResultMsg);
		}
		return S_OK;

	}catch(hresult_exception &e) {
		ASSERT( 0);
		return E_FAIL;
	}

	return S_OK;
}

STDMETHODIMP CSvnTester::cleanup(BSTR p_path, VARIANT_BOOL p_byAPI, BSTR* p_ptrResultMsg)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	try {
		if( p_byAPI == VARIANT_TRUE)
		{
			if( getLoginData())
			{
				m_apiSvn = new HiClient( m_username, m_password);
				if( !m_apiSvn) {
					AfxMessageBox( "SVN implementation client object could not be created!");
					throw hresult_exception( E_FAIL);
				}

				std::string path;
				std::string stat_msg;

				CopyTo( p_path, path);

				m_apiSvn->cleanup( path);
			}
		}
		else
		{
			m_cmdSvn = new CmdClient( false /*m_svnShowCmdLineWindows*/, true /*m_svnRedirectOutput*/); 
			if( !m_cmdSvn) {
				AfxMessageBox( "SVN implementation client object could not be created!");
				throw hresult_exception( E_FAIL);
			}

			std::string path;
			std::string stat_msg;
			CopyTo( p_path, path);

			m_cmdSvn->cleanup( path, true /*assemble info*/, stat_msg);

			CopyTo( stat_msg, p_ptrResultMsg);
		}
		return S_OK;

	}catch(hresult_exception &e) {
		ASSERT( 0);
		return E_FAIL;
	}

	return S_OK;
}

STDMETHODIMP CSvnTester::resolve(BSTR p_path, VARIANT_BOOL p_byAPI, VARIANT_BOOL p_recursive)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	try {
		if( p_byAPI == VARIANT_TRUE)
		{
			if( getLoginData())
			{
				m_apiSvn = new HiClient( m_username, m_password);
				if( !m_apiSvn) {
					AfxMessageBox( "SVN implementation client object could not be created!");
					throw hresult_exception( E_FAIL);
				}

				std::string path;
				CopyTo( p_path, path);

				m_apiSvn->resolve( path, p_recursive == VARIANT_TRUE);
			}
		}
		else
		{
			m_cmdSvn = new CmdClient( false /*m_svnShowCmdLineWindows*/, true /*m_svnRedirectOutput*/); 
			if( !m_cmdSvn) {
				AfxMessageBox( "SVN implementation client object could not be created!");
				throw hresult_exception( E_FAIL);
			}

			std::string path;
			CopyTo( p_path, path);

			m_cmdSvn->resolve( path, p_recursive == VARIANT_TRUE);
		}
		return S_OK;

	}catch(hresult_exception &e) {
		ASSERT( 0);
		return E_FAIL;
	}

	return S_OK;
}

STDMETHODIMP CSvnTester::commit(BSTR p_path, VARIANT_BOOL p_byAPI, VARIANT_BOOL p_recursive)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	try {
		if( p_byAPI == VARIANT_TRUE)
		{
			if( getLoginData())
			{
				m_apiSvn = new HiClient( m_username, m_password);
				if( !m_apiSvn) {
					AfxMessageBox( "SVN implementation client object could not be created!");
					throw hresult_exception( E_FAIL);
				}

				std::string path;
				CopyTo( p_path, path);

				m_apiSvn->commitAll( path, false);
			}
		}
		else
		{
			m_cmdSvn = new CmdClient( false /*m_svnShowCmdLineWindows*/, true /*m_svnRedirectOutput*/); 
			if( !m_cmdSvn) {
				AfxMessageBox( "SVN implementation client object could not be created!");
				throw hresult_exception( E_FAIL);
			}

			std::string path;
			CopyTo( p_path, path);

			m_cmdSvn->commit( path);
		}
		return S_OK;

	}catch(hresult_exception &e) {
		ASSERT( 0);
		return E_FAIL;
	}

	return S_OK;
}

STDMETHODIMP CSvnTester::checkout(BSTR p_url, BSTR p_path, VARIANT_BOOL p_byAPI, VARIANT_BOOL p_recursive)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	try {
		if( p_byAPI == VARIANT_TRUE)
		{
			if( getLoginData())
			{
				m_apiSvn = new HiClient( m_username, m_password);
				if( !m_apiSvn) {
					AfxMessageBox( "SVN implementation client object could not be created!");
					throw hresult_exception( E_FAIL);
				}

				std::string url;
				CopyTo( p_url, url);
				std::string ldir;
				CopyTo( p_path, ldir);

				m_apiSvn->lightCheckOut( url, ldir);
			}
		}
		else
		{
			m_cmdSvn = new CmdClient( false /*m_svnShowCmdLineWindows*/, true /*m_svnRedirectOutput*/); 
			if( !m_cmdSvn) {
				AfxMessageBox( "SVN implementation client object could not be created!");
				throw hresult_exception( E_FAIL);
			}

			std::string url;
			CopyTo( p_url, url);

			std::string ldir;
			CopyTo( p_path, ldir);
			
			m_cmdSvn->lightCheckOut( url, ldir);
		}
		return S_OK;

	}catch(hresult_exception &e) {
		ASSERT( 0);
		return E_FAIL;
	}

	return S_OK;
}

STDMETHODIMP CSvnTester::add(BSTR p_path, VARIANT_BOOL p_byAPI, VARIANT_BOOL p_recursive)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	try {
		if( p_byAPI == VARIANT_TRUE)
		{
			if( getLoginData())
			{
				m_apiSvn = new HiClient( m_username, m_password);
				if( !m_apiSvn) {
					AfxMessageBox( "SVN implementation client object could not be created!");
					throw hresult_exception( E_FAIL);
				}

				std::string path;
				CopyTo( p_path, path);

				m_apiSvn->add( path, p_recursive == VARIANT_TRUE);
			}
		}
		else
		{
			m_cmdSvn = new CmdClient( false /*m_svnShowCmdLineWindows*/, true /*m_svnRedirectOutput*/); 
			if( !m_cmdSvn) {
				AfxMessageBox( "SVN implementation client object could not be created!");
				throw hresult_exception( E_FAIL);
			}

			std::string path;
			CopyTo( p_path, path);
			
			m_cmdSvn->add( path, p_recursive == VARIANT_TRUE);
		}
		return S_OK;

	}catch(hresult_exception &e) {
		ASSERT( 0);
		return E_FAIL;
	}

	return S_OK;
}

STDMETHODIMP CSvnTester::propset(BSTR p_path, BSTR p_propname, BSTR p_propval, VARIANT_BOOL p_byAPI, VARIANT_BOOL p_recursive)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	try {
		if( p_byAPI == VARIANT_TRUE)
		{
			if( getLoginData())
			{
				m_apiSvn = new HiClient( m_username, m_password);
				if( !m_apiSvn) {
					AfxMessageBox( "SVN implementation client object could not be created!");
					throw hresult_exception( E_FAIL);
				}

				std::string path;
				CopyTo( p_path, path);

				m_apiSvn->lockableProp( path);
			}
		}
		else
		{
			m_cmdSvn = new CmdClient( false /*m_svnShowCmdLineWindows*/, true /*m_svnRedirectOutput*/); 
			if( !m_cmdSvn) {
				AfxMessageBox( "SVN implementation client object could not be created!");
				throw hresult_exception( E_FAIL);
			}

			std::string path;
			CopyTo( p_path, path);

			m_cmdSvn->lockableProp( path);
		}
		return S_OK;

	}catch(hresult_exception &e) {
		ASSERT( 0);
		return E_FAIL;
	}

	return S_OK;
}

STDMETHODIMP CSvnTester::lock(BSTR p_path, VARIANT_BOOL p_force, VARIANT_BOOL p_byAPI)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	try {
		if( p_byAPI == VARIANT_TRUE)
		{
			if( getLoginData())
			{
				m_apiSvn = new HiClient( m_username, m_password);
				if( !m_apiSvn) {
					AfxMessageBox( "SVN implementation client object could not be created!");
					throw hresult_exception( E_FAIL);
				}

				std::string path;
				CopyTo( p_path, path);

				m_apiSvn->tryLock( path);
			}
		}
		else
		{
			m_cmdSvn = new CmdClient( false /*m_svnShowCmdLineWindows*/, true /*m_svnRedirectOutput*/); 
			if( !m_cmdSvn) {
				AfxMessageBox( "SVN implementation client object could not be created!");
				throw hresult_exception( E_FAIL);
			}

			std::string path;
			CopyTo( p_path, path);

			m_cmdSvn->tryLock( path);
		}
		return S_OK;

	}catch(hresult_exception &e) {
		ASSERT( 0);
		return E_FAIL;
	}

	return S_OK;
}

STDMETHODIMP CSvnTester::unlock(BSTR p_path, VARIANT_BOOL p_force, VARIANT_BOOL p_byAPI)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	try {
		if( p_byAPI == VARIANT_TRUE)
		{
			if( getLoginData())
			{
				m_apiSvn = new HiClient( m_username, m_password);
				if( !m_apiSvn) {
					AfxMessageBox( "SVN implementation client object could not be created!");
					throw hresult_exception( E_FAIL);
				}

				std::string path;
				CopyTo( p_path, path);

				m_apiSvn->unLock( path);
			}
		}
		else
		{
			m_cmdSvn = new CmdClient( false /*m_svnShowCmdLineWindows*/, true /*m_svnRedirectOutput*/); 
			if( !m_cmdSvn) {
				AfxMessageBox( "SVN implementation client object could not be created!");
				throw hresult_exception( E_FAIL);
			}

			std::string path;
			CopyTo( p_path, path);

			m_cmdSvn->unLock( path);
		}
		return S_OK;

	}catch(hresult_exception &e) {
		ASSERT( 0);
		return E_FAIL;
	}

	return S_OK;
}

bool CSvnTester::getLoginData()
{
	CVSSLoginDlg dlg;
	dlg.m_user     = "";
	dlg.m_password = "";
	dlg.m_text = "Please provide at least your SVN username. Password can be later provided when it is asked by the server.";//You may provide default username/password in case the svn client will face an authentication challenge from the server. In case these are not provided you might be later prompted for the credentials required by the server.";
	dlg.m_database = m_svnUrl.c_str();
	//dlg.m_project  = m_projectFileName.c_str();

	if( dlg.DoModal() == IDOK )
	{
		m_username = dlg.m_user;
		m_password = dlg.m_password;
		return true;
	}

	return false;
}

Index: resource.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/XmlBackEnd/resource.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** resource.h	15 Jun 2007 16:30:02 -0000	1.3
--- resource.h	7 Feb 2008 19:46:43 -0000	1.4
***************
*** 6,11 ****
  #define IDS_COREXMLFILE_DESC            102
  #define IDR_CoreXmlFile                 103
  #define IDC_EDIT_USER                   201
- #define IDD_DIALOG_VSSLOGIN             201
  #define IDC_EDIT_PWD                    202
  #define IDC_STATIC_PROJECT              203
--- 6,12 ----
  #define IDS_COREXMLFILE_DESC            102
  #define IDR_CoreXmlFile                 103
+ #define IDR_SVNTESTER                   104
+ #define IDR_SVNEXEC                     105
  #define IDC_EDIT_USER                   201
  #define IDC_EDIT_PWD                    202
  #define IDC_STATIC_PROJECT              203
***************
*** 14,17 ****
--- 15,30 ----
  #define IDD_DIALOG_FILESUSEDETAILS      206
  #define IDC_LIST                        207
+ #define IDD_DIALOG1                     208
+ #define IDC_STATIC_WELCOME              208
+ #define IDC_MAYBESAVED                  209
+ #define IDC_STATIC1                     210
+ #define IDD_DIALOG2                     211
+ #define IDC_EDITNAME                    212
+ #define IDC_EDITWORD                    213
+ #define IDC_EDITTEXT                    214
+ #define IDC_RADIO1                      215
+ #define IDC_RADIO2                      216
+ #define IDC_RADIO3                      217
+ #define IDD_DIALOG_VSSLOGIN             218
  
  // Next default values for new objects
***************
*** 19,26 ****
  #ifdef APSTUDIO_INVOKED
  #ifndef APSTUDIO_READONLY_SYMBOLS
! #define _APS_NEXT_RESOURCE_VALUE        208
  #define _APS_NEXT_COMMAND_VALUE         32768
! #define _APS_NEXT_CONTROL_VALUE         208
! #define _APS_NEXT_SYMED_VALUE           104
  #endif
  #endif
--- 32,39 ----
  #ifdef APSTUDIO_INVOKED
  #ifndef APSTUDIO_READONLY_SYMBOLS
! #define _APS_NEXT_RESOURCE_VALUE        219
  #define _APS_NEXT_COMMAND_VALUE         32768
! #define _APS_NEXT_CONTROL_VALUE         209
! #define _APS_NEXT_SYMED_VALUE           106
  #endif
  #endif

Index: VSSLoginDlg.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/XmlBackEnd/VSSLoginDlg.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** VSSLoginDlg.h	26 Sep 2007 20:30:31 -0000	1.2
--- VSSLoginDlg.h	7 Feb 2008 19:46:43 -0000	1.3
***************
*** 24,27 ****
--- 24,28 ----
  	CString	m_database;
  	CString	m_project;
+ 	CString m_text;
  	//}}AFX_DATA
  

--- NEW FILE: SvnTester.h ---
// SvnTester.h : Declaration of the CSvnTester

#pragma once
#include "XmlBackEnd.h"
#include "svauto.h"
#include "HiClient.h"
#include "CmdClient.h"
#include "resource.h"       // main symbols
#include <comsvcs.h>

// CSvnTester

class ATL_NO_VTABLE CSvnTester : 
	public CComObjectRootEx<CComSingleThreadModel>,
	public CComCoClass<CSvnTester, &CLSID_SvnTester>,
	public IDispatchImpl<ISvnTester, &IID_ISvnTester, &LIBID_XMLBACKENDLib, /*wMajor =*/ 1, /*wMinor =*/ 0>
{
public:
	CSvnTester()
	{
	}

	DECLARE_PROTECT_FINAL_CONSTRUCT()

	HRESULT FinalConstruct()
	{
		return S_OK;
	}
	
	void FinalRelease() 
	{
	}

DECLARE_REGISTRY_RESOURCEID(IDR_SVNTESTER)

DECLARE_NOT_AGGREGATABLE(CSvnTester)

BEGIN_COM_MAP(CSvnTester)
	COM_INTERFACE_ENTRY(ISvnTester)
	COM_INTERFACE_ENTRY(IDispatch)
END_COM_MAP()


// ISvnTester
public:
	STDMETHOD(info)    (BSTR url, VARIANT_BOOL byApi, VARIANT_BOOL recursive, BSTR* resultMsg);
	STDMETHOD(status)  (BSTR url, VARIANT_BOOL byApi, BSTR* resultMsg);
	STDMETHOD(cleanup) (BSTR path, VARIANT_BOOL byApi, BSTR* resultMsg);
	STDMETHOD(resolve) (BSTR path, VARIANT_BOOL byApi, VARIANT_BOOL recursive);
	STDMETHOD(commit)  (BSTR path, VARIANT_BOOL byApi, VARIANT_BOOL recursive);
	STDMETHOD(checkout)(BSTR url, BSTR path, VARIANT_BOOL byApi, VARIANT_BOOL recursive);
	STDMETHOD(add)     (BSTR path, VARIANT_BOOL byApi, VARIANT_BOOL recursive);
	STDMETHOD(propset) (BSTR path, BSTR propname, BSTR propval, VARIANT_BOOL byApi, VARIANT_BOOL recursive);
	STDMETHOD(lock)    (BSTR path, VARIANT_BOOL force, VARIANT_BOOL byAPI);
	STDMETHOD(unlock)  (BSTR path, VARIANT_BOOL force, VARIANT_BOOL byAPI);
protected:
	bool        getLoginData();

	std::string                 m_svnUrl;
	std::string                 m_username;
	std::string                 m_password;

	HiClient                    *m_apiSvn;
	CmdClient                   *m_cmdSvn;
};

OBJECT_ENTRY_AUTO(__uuidof(SvnTester), CSvnTester)



More information about the GME-commit mailing list