Manages desktop integration via AccessPoints, grouping them into categories.
To prevent race-conditions there may only be one desktop integration class instance active at any given time. This class acquires a mutex upon calling its constructor and releases it upon calling IDisposable.Dispose.
Inheritance: IntegrationManager, ICategoryIntegrationManager
Example #1
0
 /// <inheritdoc/>
 public override ExitCode Execute()
 {
     try
     {
         var interfaceUri = GetCanonicalUri(AdditionalArgs[0]);
         using (var integrationManager = new CategoryIntegrationManager(Handler, MachineWide))
             return ExecuteHelper(integrationManager, interfaceUri);
     }
     finally
     {
         SelfUpdateCheck();
     }
 }
 private void ApplyIntegration(Requirements requirements)
 {
     Log.Info("Applying desktop integration");
     var feed = FeedManager.GetFeed(requirements.InterfaceUri);
     using (var integrationManager = new CategoryIntegrationManager(Handler, _machineWide))
     {
         var appEntry = integrationManager.AddApp(new FeedTarget(requirements.InterfaceUri, feed));
         integrationManager.AddAccessPointCategories(appEntry, feed, CategoryIntegrationManager.StandardCategories);
     }
 }
Example #3
0
 private void ApplyIntegration(Requirements requirements)
 {
     Log.Info(Resources.DesktopIntegrationApply);
     var feed = FeedManager[requirements.InterfaceUri];
     using (var integrationManager = new CategoryIntegrationManager(Handler, MachineWide))
     {
         var appEntry = integrationManager.AddApp(new FeedTarget(requirements.InterfaceUri, feed));
         integrationManager.AddAccessPointCategories(appEntry, feed, CategoryIntegrationManager.StandardCategories);
     }
 }