public Extension(IAppExtension extension, IAppServiceConnectionFactory connectionFactory) { _connectionFactory = connectionFactory; AppExtension = extension; UniqueId = extension.GetUniqueId(); _state = ExtensionState.Uninitialized; }
/// <summary> /// Creates a new ExtensionManager that will monitor and notify changes to extensions using the specified contract name. /// Note: The ExtensionManager must also be initialized before use. /// </summary> /// <param name="contractName">The name used to monitor the extension catalog. Only extensions that specify the same name will be found</param> /// <param name="allowedPackageSignatureKinds">List of accepted package signature kinds that extension apps must have in order to be loaded</param> public ExtensionManager(string contractName, IEnumerable <SignatureKind> allowedPackageSignatureKinds, IAppExtensionCatalog catalog, IAppServiceConnectionFactory connectionFactory) { _allowedPackageSignatureKinds = allowedPackageSignatureKinds; ContractName = contractName; Extensions = new ObservableCollection <Extension <TMessage, TResponse> >(); _catalog = catalog; _connectionFactory = connectionFactory; _catalog.Open(contractName); _dispatcher = null; }