4.37 beta

This commit is contained in:
Igor Pavlov
2006-03-19 00:00:00 +00:00
committed by Kornel Lesiński
parent 8304895f29
commit cb9eea7264
44 changed files with 691 additions and 170 deletions

View File

@@ -36,25 +36,21 @@ STDMETHODIMP CAgent::SetFolder(IFolderFolder *folder)
_archiveNamePrefix.Empty();
if (folder == NULL)
{
_archiveFolderItem = NULL;
_agentFolder = NULL;
return S_OK;
// folder = m_RootFolder;
}
else
{
CMyComPtr<IFolderFolder> archiveFolder = folder;
CMyComPtr<IArchiveFolderInternal> archiveFolderInternal;
RINOK(archiveFolder.QueryInterface(
IID_IArchiveFolderInternal, &archiveFolderInternal));
CAgentFolder *agentFolder;
RINOK(archiveFolderInternal->GetAgentFolder(&agentFolder));
_archiveFolderItem = agentFolder->_proxyFolderItem;
RINOK(archiveFolder.QueryInterface(IID_IArchiveFolderInternal, &archiveFolderInternal));
RINOK(archiveFolderInternal->GetAgentFolder(&_agentFolder));
}
UStringVector pathParts;
pathParts.Clear();
CMyComPtr<IFolderFolder> folderItem = folder;
if (_archiveFolderItem != NULL)
if (folderItem != NULL)
while (true)
{
CMyComPtr<IFolderFolder> newFolder;
@@ -353,7 +349,7 @@ STDMETHODIMP CAgent::DeleteItems(
CMyComPtr<IArchiveUpdateCallback> updateCallback(updateCallbackSpec);
CUIntVector realIndices;
_archiveFolderItem->GetRealIndices(indices, numItems, realIndices);
_agentFolder->GetRealIndices(indices, numItems, realIndices);
CObjectVector<CUpdatePair2> updatePairs;
int curIndex = 0;
UInt32 numItemsInArchive;
@@ -420,7 +416,7 @@ HRESULT CAgent::CreateFolder(
dirItem.Attributes = FILE_ATTRIBUTE_DIRECTORY;
dirItem.Size = 0;
dirItem.Name = _archiveFolderItem->GetFullPathPrefix() + folderName;
dirItem.Name = _agentFolder->_proxyFolderItem->GetFullPathPrefix() + folderName;
SYSTEMTIME systemTime;
FILETIME fileTime;
@@ -455,11 +451,10 @@ HRESULT CAgent::RenameItem(
CMyComPtr<IArchiveUpdateCallback> updateCallback(updateCallbackSpec);
CUIntVector realIndices;
_archiveFolderItem->GetRealIndices(indices, numItems, realIndices);
_agentFolder->GetRealIndices(indices, numItems, realIndices);
UString fullPrefix = _archiveFolderItem->GetFullPathPrefix();
UString oldItemPath = fullPrefix +
_archiveFolderItem->GetItemName(indices[0]);
UString fullPrefix = _agentFolder->GetFullPathPrefixPlusPrefix(indices[0]);
UString oldItemPath = fullPrefix + _agentFolder->GetName(indices[0]);
UString newItemPath = fullPrefix + newItemName;
CObjectVector<CUpdatePair2> updatePairs;