Changes in HAD source files as result of adding support for multiple state files in transferers ----------------------------------------------------------------------------------------------- * BaseReplicaTransferer.h - ~ substitute 'm_stateFilePath' with 'm_stateFilePathsList' of StringList class ~ substitute 'getStateFilePath' inspector with 'getStateFilePathsList' ~ substitute 'pStateFilePath' in ctor with 'pStateFilePathsList' of StringList class ~ create a function DownloadReplicaTransferer::safeUnlinkStateAndVersionFiles, unlinking all temporary copies of state files and version file temporary copy as well * BaseReplicaTransferer.C - ~ ctor substitute 'm_stateFilePath' with 'm_stateFilePathsList' and 'pStateFilePath' with 'pStateFilePathsList' initialization list and add copying from one 'StringList' to another ~ implement the 'safeUnlinkStateAndVersionFiles' member function * DownloadReplicaTransferer.h - ~ substitute 'pStateFilePath' in ctor with 'pStateFilePathsList' of StringList class * DownloadReplicaTransferer.C - ~ make a loop instead of downloading one single file inside DownloadReplicaTransferer::download and swap 'safeUnlinkFile' with 'safeUnlinkStateAndVersionFiles' * UploadReplicaTransferer.h - ~ substitute 'pStateFilePath' in ctor with 'pStateFilePathsList' of StringList class * UploadReplicaTransferer.C - ~ comment out 'UploadReplicaTransferer::safeUnlinkStateAndVersionFiles' ~ make a loop instead of copying one single state file inside 'UploadReplicaTransferer::upload' ~ make a loop instead of uploading one single state file inside UploadReplicaTransferer::upload ~ swap 'safeUnlinkFile' with 'safeUnlinkStateAndVersionFiles' inside 'UploadReplicaTransferer::upload' * Transferer.C - ~ different arguments to DownloadReplicaTransferer and UploadReplicaTransferer. argv[4] - number of state files, argv[5], argv[6] ... argv[5 + argv[4] - 1] - state files ~ StringList stateFilePathsList; for( int stateFileIndex = 0; stateFileIndex < stateFilesNumber; stateFileIndex ++ ) { stateFilePathsList.append( argv[5 + stateFileIndex] ); } replicaTransferer = new DownloadReplicaTransferer( argv[2], argv[3], stateFilesList); replicaTransferer = new UploadReplicaTransferer( argv[2], argv[3], stateFilesList); * AbstractReplicatorStateMachine.C - ~ insert '1' in process arguments between version and state files paths in 'AbstractReplicatorStateMachine::download' and 'AbstractReplicatorStateMachine::upload'