tools/installer/LocalCopyMethod.cpp
branchsourcemod-1.1.0
changeset 2283 03a67e41afbc
parent 1951 c7b4237fff50
child 2287 017a725c9d17
     1.1 --- a/tools/installer/LocalCopyMethod.cpp	Fri Mar 28 06:21:34 2008 +0000
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,158 +0,0 @@
     1.4 -#include "InstallerUtil.h"
     1.5 -#include "LocalCopyMethod.h"
     1.6 -
     1.7 -LocalCopyMethod g_LocalCopier;
     1.8 -
     1.9 -DWORD CALLBACK CopyProgressRoutine(LARGE_INTEGER TotalFileSize,
    1.10 -								   LARGE_INTEGER TotalBytesTransferred,
    1.11 -								   LARGE_INTEGER StreamSize,
    1.12 -								   LARGE_INTEGER StreamBytesTransferred,
    1.13 -								   DWORD dwStreamNumber,
    1.14 -								   DWORD dwCallbackReason,
    1.15 -								   HANDLE hSourceFile,
    1.16 -								   HANDLE hDestinationFile,
    1.17 -								   LPVOID lpData)
    1.18 -{
    1.19 -	ICopyProgress *progress = (ICopyProgress *)lpData;
    1.20 -
    1.21 -	float percent = (float)(TotalBytesTransferred.QuadPart) / (float)(TotalFileSize.QuadPart);
    1.22 -
    1.23 -	progress->UpdateProgress(percent);
    1.24 -
    1.25 -	return PROGRESS_CONTINUE;
    1.26 -}
    1.27 -
    1.28 -LocalCopyMethod::LocalCopyMethod()
    1.29 -{
    1.30 -	m_pProgress = NULL;
    1.31 -}
    1.32 -
    1.33 -void LocalCopyMethod::SetOutputPath(const TCHAR *path)
    1.34 -{
    1.35 -	UTIL_PathFormat(m_OutputPath,
    1.36 -		sizeof(m_OutputPath) / sizeof(TCHAR),
    1.37 -		_T("%s"),
    1.38 -		path);
    1.39 -
    1.40 -	UTIL_PathFormat(m_CurrentPath,
    1.41 -		sizeof(m_CurrentPath) / sizeof(TCHAR),
    1.42 -		_T("%s"),
    1.43 -		path);
    1.44 -}
    1.45 -
    1.46 -void LocalCopyMethod::TrackProgress(ICopyProgress *pProgress)
    1.47 -{
    1.48 -	m_pProgress = pProgress;
    1.49 -}
    1.50 -
    1.51 -bool LocalCopyMethod::CreateFolder(const TCHAR *name, TCHAR *buffer, size_t maxchars)
    1.52 -{
    1.53 -	TCHAR path[MAX_PATH];
    1.54 -
    1.55 -	UTIL_PathFormat(path,
    1.56 -		sizeof(path) / sizeof(TCHAR),
    1.57 -		_T("%s\\%s"),
    1.58 -		m_CurrentPath,
    1.59 -		name);
    1.60 -
    1.61 -	if (CreateDirectory(name, NULL))
    1.62 -	{
    1.63 -		return true;
    1.64 -	}
    1.65 -
    1.66 -	DWORD error = GetLastError();
    1.67 -	if (error == ERROR_ALREADY_EXISTS)
    1.68 -	{
    1.69 -		return true;
    1.70 -	}
    1.71 -
    1.72 -	GenerateErrorMessage(error, buffer, maxchars);
    1.73 -
    1.74 -	return false;
    1.75 -}
    1.76 -
    1.77 -bool LocalCopyMethod::SetCurrentFolder(const TCHAR *path, TCHAR *buffer, size_t maxchars)
    1.78 -{
    1.79 -	if (path == NULL)
    1.80 -	{
    1.81 -		UTIL_PathFormat(m_CurrentPath,
    1.82 -			sizeof(m_CurrentPath) / sizeof(TCHAR),
    1.83 -			_T("%s"),
    1.84 -			m_OutputPath);
    1.85 -	}
    1.86 -	else
    1.87 -	{
    1.88 -		UTIL_PathFormat(m_CurrentPath,
    1.89 -			sizeof(m_CurrentPath) / sizeof(TCHAR),
    1.90 -			_T("%s\\%s"),
    1.91 -			m_OutputPath,
    1.92 -			path);
    1.93 -	}
    1.94 -
    1.95 -	return true;
    1.96 -}
    1.97 -
    1.98 -bool LocalCopyMethod::SendFile(const TCHAR *path, TCHAR *buffer, size_t maxchars)
    1.99 -{
   1.100 -	const TCHAR *filename = GetFileFromPath(path);
   1.101 -
   1.102 -	if (filename == NULL)
   1.103 -	{
   1.104 -		UTIL_Format(buffer, maxchars, _T("Invalid filename"));
   1.105 -		return false;
   1.106 -	}
   1.107 -
   1.108 -	TCHAR new_path[MAX_PATH];
   1.109 -	UTIL_PathFormat(new_path,
   1.110 -		sizeof(new_path) / sizeof(TCHAR),
   1.111 -		_T("%s\\%s"),
   1.112 -		m_CurrentPath,
   1.113 -		filename);
   1.114 -
   1.115 -	m_bCancelStatus = FALSE;
   1.116 -
   1.117 -	if (CopyFileEx(path,
   1.118 -		new_path,
   1.119 -		m_pProgress ? CopyProgressRoutine : NULL,
   1.120 -		m_pProgress,
   1.121 -		&m_bCancelStatus,
   1.122 -		0) == 0)
   1.123 -	{
   1.124 -		/* Delete the file in case it was a partial copy */
   1.125 -		DeleteFile(new_path);
   1.126 -
   1.127 -		GenerateErrorMessage(GetLastError(), buffer, maxchars);
   1.128 -
   1.129 -		return false;
   1.130 -	}
   1.131 -
   1.132 -	return true;
   1.133 -}
   1.134 -
   1.135 -void LocalCopyMethod::CancelCurrentCopy()
   1.136 -{
   1.137 -	m_bCancelStatus = TRUE;
   1.138 -}
   1.139 -
   1.140 -bool LocalCopyMethod::CheckForExistingInstall()
   1.141 -{
   1.142 -	TCHAR path[MAX_PATH];
   1.143 -
   1.144 -	UTIL_PathFormat(path,
   1.145 -		sizeof(path) / sizeof(TCHAR),
   1.146 -		_T("%s\\addons\\sourcemod"),
   1.147 -		m_CurrentPath);
   1.148 -	if (GetFileAttributes(path) == INVALID_FILE_ATTRIBUTES)
   1.149 -	{
   1.150 -		UTIL_PathFormat(path,
   1.151 -			sizeof(path) / sizeof(TCHAR),
   1.152 -			_T("%s\\cfg\\sourcemod"),
   1.153 -			m_CurrentPath);
   1.154 -		if (GetFileAttributes(path) == INVALID_FILE_ATTRIBUTES)
   1.155 -		{
   1.156 -			return false;
   1.157 -		}
   1.158 -	}
   1.159 -
   1.160 -	return true;
   1.161 -}