Skip to content

Commit 4b7e4af

Browse files
committed
v4.2.12691.0-Beta2
1 parent 0da32b8 commit 4b7e4af

File tree

59 files changed

+661
-88
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+661
-88
lines changed

Common/Common.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@
99
<RootNamespace>ITHit.FileSystem.Samples.Common</RootNamespace>
1010
</PropertyGroup>
1111
<ItemGroup>
12-
<PackageReference Include="ITHit.FileSystem" Version="4.1.12172.0-Beta2" />
12+
<PackageReference Include="ITHit.FileSystem" Version="4.2.12691.0-Beta2" />
1313
</ItemGroup>
1414
</Project>

Common/Settings.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,5 +58,10 @@ public class Settings
5858
/// Communication channel name is used by RPC to establish connection over named pipes.
5959
/// </summary>
6060
public string RpcCommunicationChannelName { get; set; }
61+
62+
/// <summary>
63+
/// Gets or sets the maximum number of concurrent tasks
64+
/// </summary>
65+
public int MaxDegreeOfParallelism { get; set; }
6166
}
6267
}

Windows/Common/Core/Common.Windows.Core.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="5.0.0" />
1515
</ItemGroup>
1616
<ItemGroup>
17-
<PackageReference Include="ITHit.FileSystem.Windows" Version="4.1.12172.0-Beta2" />
17+
<PackageReference Include="ITHit.FileSystem.Windows" Version="4.2.12691.0-Beta2" />
1818
<ProjectReference Include="..\..\..\Common\Common.csproj" />
1919
</ItemGroup>
2020
</Project>

Windows/Common/ShellExtension/Common.Windows.ShellExtension.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<PackageReference Include="System.Drawing.Common" Version="5.0.2" />
2121
</ItemGroup>
2222
<ItemGroup>
23-
<PackageReference Include="ITHit.FileSystem.Windows" Version="4.1.12172.0-Beta2" />
23+
<PackageReference Include="ITHit.FileSystem.Windows" Version="4.2.12691.0-Beta2" />
2424
<ProjectReference Include="..\..\..\Common\Common.csproj" />
2525
<ProjectReference Include="..\Rpc.Proto\Common.Windows.Rpc.Proto.csproj" />
2626
<ProjectReference Include="..\Rpc\Common.Windows.Rpc.csproj" />

Windows/Common/VirtualDrive/Common.Windows.VirtualDrive.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
<Compile Remove="ETagManager.cs" />
1414
<Compile Remove="ExternalDataManager.cs" />
1515
<Compile Remove="FilteredDocsMonitor.cs" />
16+
<Compile Remove="FullSync\ClientToServerSync.cs" />
1617
<Compile Remove="FullSync\ServerToClientSync.cs" />
1718
<Compile Remove="IMapping.cs" />
1819
<Compile Remove="LockManager.cs" />
@@ -22,7 +23,7 @@
2223
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="5.0.0" />
2324
</ItemGroup>
2425
<ItemGroup>
25-
<PackageReference Include="ITHit.FileSystem.Windows" Version="4.1.12172.0-Beta2" />
26+
<PackageReference Include="ITHit.FileSystem.Windows" Version="4.2.12691.0-Beta2" />
2627
<ProjectReference Include="..\..\..\Common\Common.csproj" />
2728
<ProjectReference Include="..\Core\Common.Windows.Core.csproj" />
2829
<ProjectReference Include="..\Rpc.Proto\Common.Windows.Rpc.Proto.csproj" />

Windows/Common/VirtualDrive/FullSync/FullSyncService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ private async void Timer_ElapsedAsync(object sender, System.Timers.ElapsedEventA
117117
InvokeSyncEvent(SynchronizationState.Synchronizing);
118118

119119
// UFS -> RS. Recursivery synchronize all updated/created file and folders present in the user file system.
120-
await new ClientToServerSync(engine, Log).SyncronizeFolderAsync(userFileSystemRootPath);
120+
//await new ClientToServerSync(engine, Log).SyncronizeFolderAsync(userFileSystemRootPath);
121121

122122
// UFS <- RS. Recursivery synchronize all updated/created/deleted file and folders present in the user file system.
123123
//await new ServerToClientSync(engine, Log).SyncronizeFolderAsync(userFileSystemRootPath);

Windows/Common/VirtualDrive/Rpc/GprcServerServiceImpl.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public override async Task<EmptyMessage> SetLockStatus(ItemsStatusList request,
4040
string filePath = pair.Key;
4141
bool fileStatus = pair.Value;
4242

43-
IClientNotificationsWindows clientNotifications = engine.ClientNotifications(filePath);
43+
IClientNotifications clientNotifications = engine.ClientNotifications(filePath);
4444
if (fileStatus)
4545
await clientNotifications.LockAsync();
4646
else
@@ -71,7 +71,7 @@ public override async Task<ItemsStatusList> GetLockStatus(ItemsPathList request,
7171

7272
foreach (string filePath in request.Files)
7373
{
74-
IClientNotificationsWindows clientNotifications = engine.ClientNotifications(filePath);
74+
IClientNotifications clientNotifications = engine.ClientNotifications(filePath);
7575
LockMode lockMode = await clientNotifications.GetLockModeAsync();
7676
bool lockStatus = lockMode != LockMode.None;
7777

Windows/Common/VirtualDrive/VirtualEngineBase.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ public abstract class VirtualEngineBase : EngineWindows
5353
/// <param name="iconsFolderPath">Path to the icons folder.</param>
5454
/// <param name="rpcCommunicationChannelName">Channel name to communicate with Windows Explorer context menu and other components on this machine.</param>
5555
/// <param name="syncIntervalMs">Full synchronization interval in milliseconds.</param>
56+
/// <param name="maxDegreeOfParallelism">A maximum number of concurrent tasks.</param>
5657
/// <param name="log4net">Log4net logger.</param>
5758
public VirtualEngineBase(
5859
string license,
@@ -61,8 +62,9 @@ public VirtualEngineBase(
6162
string iconsFolderPath,
6263
string rpcCommunicationChannelName,
6364
double syncIntervalMs,
65+
int maxDegreeOfParallelism,
6466
ILog log4net)
65-
: base(license, userFileSystemRootPath)
67+
: base(license, userFileSystemRootPath, maxDegreeOfParallelism)
6668
{
6769
logger = new Logger("File System Engine", log4net) ?? throw new NullReferenceException(nameof(log4net));
6870
this.iconsFolderPath = iconsFolderPath ?? throw new NullReferenceException(nameof(iconsFolderPath));
@@ -120,9 +122,9 @@ public override async Task<bool> FilterAsync(OperationType operationType, string
120122
}
121123

122124
/// <inheritdoc/>
123-
public override async Task StartAsync()
125+
public override async Task StartAsync(bool processModified = true)
124126
{
125-
await base.StartAsync();
127+
await base.StartAsync(processModified);
126128
//RemoteStorageMonitor.Start();
127129
//await SyncService.StartAsync();
128130
grpcServer.Start();

Windows/Common/WinRT.ShellExtension.Rpc/CustomStateProviderProxy.cs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,14 @@ namespace CommonShellExtensionRpc
1313
{
1414
public sealed class CustomStateProviderProxy
1515
{
16-
public ItemProperty[] GetItemProperties(string itemPath)
16+
public ItemProperty[] GetItemProperties(string itemPath, bool virtualDrivePlatform)
1717
{
18-
GrpcClient grpcClient = new GrpcClient("VirtualDrive.RPC");
18+
string channelName = virtualDrivePlatform ? "VirtualDrive.RPC" : "WebDAVDrive.RPC";
19+
20+
GrpcClient grpcClient = new GrpcClient(channelName);
1921

2022
try
2123
{
22-
2324
ItemPropertyRequest request = new()
2425
{
2526
Path = itemPath
@@ -29,7 +30,7 @@ public ItemProperty[] GetItemProperties(string itemPath)
2930

3031
return itemPropertyResult
3132
.Properties
32-
.Select(i => new ItemProperty(i.Id, i.Value, i.IconResource))
33+
.Select(i => new ItemProperty(i.Id, ValueValidator(i.Value), i.IconResource))
3334
.ToArray();
3435

3536
}
@@ -46,5 +47,10 @@ public ItemProperty[] GetItemProperties(string itemPath)
4647
return new ItemProperty[] { };
4748
}
4849
}
50+
51+
private string ValueValidator(string val)
52+
{
53+
return string.IsNullOrWhiteSpace(val) ? "n/a" : val;
54+
}
4955
}
5056
}

0 commit comments

Comments
 (0)