public RepoInfo GetRepoInfo()
{
// TODO: workaround
var localPath = LocalPath.TrimEnd(Path.DirectorySeparatorChar);
RepoInfo repoInfo = new RepoInfo(DisplayName, ConfigManager.CurrentConfig.ConfigPath);
repoInfo.User = UserName;
repoInfo.Password = new Password();
repoInfo.Password.ObfuscatedPassword = ObfuscatedPassword;
repoInfo.Address = RemoteUrl;
repoInfo.RepoID = RepositoryId;
repoInfo.RemotePath = RemotePath;
repoInfo.TargetDirectory = localPath;
repoInfo.MaxUploadRetries = uploadRetries;
repoInfo.MaxDownloadRetries = downloadRetries;
repoInfo.MaxDeletionRetries = deletionRetries;
if (PollInterval < 1) PollInterval = Config.DEFAULT_POLL_INTERVAL;
repoInfo.PollInterval = PollInterval;
repoInfo.IsSuspended = IsSuspended;
repoInfo.SyncAtStartup = SyncAtStartup;
foreach (IgnoredFolder ignoredFolder in IgnoredFolders)
{
repoInfo.addIgnorePath(ignoredFolder.Path);
}
if(SupportedFeatures != null && SupportedFeatures.ChunkedSupport != null && SupportedFeatures.ChunkedSupport == true)
{
repoInfo.ChunkSize = ChunkSize;
repoInfo.DownloadChunkSize = ChunkSize;
}
else
{
repoInfo.ChunkSize = 0;
repoInfo.DownloadChunkSize = 0;
}
if(SupportedFeatures != null && SupportedFeatures.ChunkedDownloadSupport!=null && SupportedFeatures.ChunkedDownloadSupport == true)
repoInfo.DownloadChunkSize = ChunkSize;
return repoInfo;
}
}