Skip to content

Commit 5ffac30

Browse files
committed
add extensions
1 parent a5e1346 commit 5ffac30

3 files changed

Lines changed: 38 additions & 1 deletion

File tree

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*.user
99
*.userosscache
1010
*.sln.docstates
11-
#*appsettings.Development.json
11+
*appsettings.Development.json
1212

1313
# User-specific files (MonoDevelop/Xamarin Studio)
1414
*.userprefs

img/logo64x64.png

16.6 KB
Loading
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
using CometD.NetCore.Salesforce;
2+
using CometD.NetCore.Salesforce.ForceClient;
3+
using Microsoft.Extensions.Configuration;
4+
using Microsoft.Extensions.DependencyInjection;
5+
6+
namespace Microsoft.Extensions.DependencyInjection
7+
{
8+
/// <summary>
9+
/// An extension method for <see cref="CometD.NetCore.Salesforce"/>.
10+
/// </summary>
11+
public static class StreamingClientExtensions
12+
{
13+
/// <summary>
14+
/// An Extension method to add <see cref="StreamingClient"/> dependencies.
15+
/// </summary>
16+
/// <param name="services"></param>
17+
/// <returns></returns>
18+
public static IServiceCollection AddStreamingClient(this IServiceCollection services)
19+
{
20+
services.AddSingleton(sp =>
21+
{
22+
var salesforceConfig = new SalesforceConfiguration();
23+
var config = sp.GetRequiredService<IConfiguration>();
24+
25+
config.Bind("Salesforce", salesforceConfig);
26+
27+
return salesforceConfig;
28+
});
29+
30+
services.AddSingleton<IAuthenticationClientProxy, AuthenticationClientProxy>();
31+
services.AddSingleton<IForceClientProxy, ForceClientProxy>();
32+
services.AddSingleton<IStreamingClient, StreamingClient>();
33+
34+
return services;
35+
}
36+
}
37+
}

0 commit comments

Comments
 (0)