Beispiel #1
0
        public MediaFile DiscoverFile(string file, bool takeScreenshot = true)
        {
            IDiscoverer discoverer = GetDiscoverer();
            MediaFile   mfile      = discoverer.DiscoverFile(file, takeScreenshot);

            discoverer.Dispose();
            return(mfile);
        }
Beispiel #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="extractor">Extractor instance</param>
 /// <param name="discoverer">Discoverer instance</param>
 /// <param name="authorization">Authorization instance</param>
 /// <param name="route">Route selector instance</param>
 /// <param name="parser">Parser instance</param>
 /// <param name="serializer">Serializer instance</param>
 /// <param name="settings">Settings instance</param>
 public Orchestrator(IExtractor extractor = null, IDiscoverer discoverer = null, IAuthorization authorization = null, IRouteSelector route = null, IParser parser = null, ISerializer serializer = null, ISettings settings = null)
 {
     Settings      = settings ?? new Settings();
     Extractor     = extractor ?? new Extractor();
     Discoverer    = discoverer ?? new Discoverer(Extractor, Settings);
     Authorization = authorization;
     RouteSelector = route;
     Parser        = parser ?? new Parser(Authorization, RouteSelector);
     Serializer    = serializer ?? new JsonOutputSerializer(Settings);
 }
        public ForwarderDevice(IZeroMQServerEndpoint endpoint, IDiscoverer <IZeroMQClientEndpoint> backendDiscoverer)
            : base()
        {
            this.frontendEndpoint  = endpoint;
            this.backendDiscoverer = backendDiscoverer;

            this.identity = Guid.NewGuid().ToString().Replace("-", "").ToLowerInvariant();

            this.backendEndpointIds = new ConcurrentQueue <string>();
            this.backendEndpoints   = new ConcurrentDictionary <string, RegisteredBackend>();
        }
        public ServiceFabricConfigProvider(
            ILogger <ServiceFabricConfigProvider> logger,
            IClock clock,
            IDiscoverer discoverer,
            IOptionsMonitor <ServiceFabricDiscoveryOptions> optionsMonitor)
        {
            _logger         = logger ?? throw new ArgumentNullException(nameof(logger));
            _clock          = clock ?? throw new ArgumentNullException(nameof(clock));
            _discoverer     = discoverer ?? throw new ArgumentNullException(nameof(discoverer));
            _optionsMonitor = optionsMonitor ?? throw new ArgumentNullException(nameof(optionsMonitor));

            _backgroundCts  = new CancellationTokenSource();
            _backgroundTask = ServiceFabricDiscoveryLoop();
        }
Beispiel #5
0
 /// <summary>
 /// Creates a new instance of WOPI URL generator class.
 /// </summary>
 /// <param name="discoverer">Provider of WOPI discovery data.</param>
 /// <param name="urlSettings">Additional settings influencing behavior of the WOPI client.</param>
 public WopiUrlBuilder(IDiscoverer discoverer, WopiUrlSettings urlSettings = null)
 {
     _wopiDiscoverer = discoverer;
     UrlSettings     = urlSettings;
 }
Beispiel #6
0
 public WopiUrlGeneratorTests()
 {
     _discoverer = A.Fake <IDiscoverer>();
     A.CallTo(() => _discoverer.GetUrlTemplateAsync("xlsx", WopiActionEnum.Edit)).ReturnsLazily(() => "http://owaserver/x/_layouts/xlviewerinternal.aspx?edit=1&<ui=UI_LLCC&><rs=DC_LLCC&>");
     A.CallTo(() => _discoverer.GetUrlTemplateAsync("docx", WopiActionEnum.View)).ReturnsLazily(() => "http://owaserver/wv/wordviewerframe.aspx?<ui=UI_LLCC&><rs=DC_LLCC&><showpagestats=PERFSTATS&>");
 }
        //Mutex appModelMutex;

        private AppModel(Env container)
        {
            //container.Logger.Error("Test Log");
            var cfg = Env.Instance.Config;

            Devices       = new HashSet <Device>();
            Conversations = new Dictionary <string, Conversation>();
            LocalDevice   = cfg.LocalDevice;
            var sm = Env.Instance.SecurityManager;
            var localConnectCode = sm.LoadString(SecurityManager.LOCAL_CONNECT_CODE);

            if (localConnectCode == null)
            {
                localConnectCode = StringHelper.NewRandomPassword();
                sm.SaveString(SecurityManager.LOCAL_CONNECT_CODE, localConnectCode);
            }
            LocalDevice.ConnectCode = localConnectCode;
            LocalDevice.DeviceType  = container.DeviceType;
            container.InitLocalDeviceIPAdress(LocalDevice);



            ChannelManager = new ChannelManager(ChannelPort);
            ChannelManager.ChannelCreated += (channel) =>
            {
                Action <Packet> packetReceiver = null;
                packetReceiver = (Packet packet) =>
                {
                    Message        message = Message.FromPacket(packet);
                    ConnectMessage cm      = message as ConnectMessage;
                    //一个新连接的socket,在发送ConnectMessage之前发送其它Message,是不会理会的。
                    if (cm != null)
                    {
                        channel.PacketReceived -= packetReceiver;
                        var device = AddOrUpdateDevice(cm.Device);
                        if (device != null)
                        {
                            if (PacketHeader.DefaultVersion == packet.Header.version)
                            {
                                device.OnConnectMessageReceived(channel, cm);
                            }
                            else
                            {
                                device.CallPacketProtocolVersionError(PacketHeader.DefaultVersion > packet.Header.version);
                            }
                        }
                    }
                    ;
                };
                channel.PacketReceived += packetReceiver;
            };
            ChannelManager.PortOccupiedError += (int port) =>
            {
                Error error = new Error(Error.PortOccupied);
                error.AddError("port", port);
                ErrorHappened?.Invoke(error);
            };

            Discoverer = new LANDiscoverer(LocalDevice, DiscoverPort);
            container.NetworkChanged += (ips) =>
            {
                if (!string.IsNullOrEmpty(ips))
                {
                    container.InitLocalDeviceIPAdress(LocalDevice);
                    Discoverer.StartBroadcast();
                }
            };
        }
Beispiel #8
0
 public HomeController(IOptionsSnapshot <WopiOptions> wopiOptions, IWopiStorageProvider storageProvider, IDiscoverer discoverer)
 {
     WopiOptions     = wopiOptions;
     StorageProvider = storageProvider;
     Discoverer      = discoverer;
 }
 public SidecarBackendDiscoverer(string name, IDiscoverer <IZeroMQClientEndpoint> discoverer)
 {
     this.Name       = name;
     this.Discoverer = discoverer;
 }
Beispiel #10
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="extractor">Extractor instance</param>
 /// <param name="discoverer">Discoverer instance</param>
 /// <param name="serializer">Serializer instance</param>
 /// <param name="settings">Settings instance</param>
 public Orchestrator(IExtractor extractor, IDiscoverer discoverer, ISerializer serializer, ISettings settings)
     : this(extractor, discoverer, null, null, null, serializer, settings)
 {
 }