Esempio n. 1
0
        private ApplicationProxy(IBackendProvider provider, StasisEndpoint endpoint, string appName, ILogger logger)
        {
            _provider = provider;
            _endpoint = endpoint;
            AppName   = appName;
            Created   = DateTime.Now;
            Logger    = logger;

            // Init
            _dialogues = new ConcurrentDictionary <string, IDialogue>();
            _client    = new AriClient(_endpoint, AppName)
            {
                EventDispatchingStrategy = EventDispatchingStrategy.DedicatedThread
            };

            _restClient = new RestClient(_endpoint.AriEndPoint)
            {
                Authenticator = new HttpBasicAuthenticator(_endpoint.Username, _endpoint.Password)
            };
            ActiveDialogues = new List <IDialogue>();
            // Register this app name with the backend provider
            _provider.RegisterApplication(AppName);

            // Init event handler
            _client.OnUnhandledEvent         += _client_OnUnhandledEvent;
            _client.OnConnectionStateChanged += _client_OnConnectionStateChanged;
        }
Esempio n. 2
0
        public static ApplicationProxy Create(IBackendProvider provider, StasisEndpoint endpoint, string appName, ILogger logger)
        {
            logger.LogInformation("Starting Application Proxy for {0}", appName);

            var rtn = new ApplicationProxy(provider, endpoint, appName, logger);

            Instances.Add(rtn);
            rtn.Start();

            return(rtn);
        }
 public BackendApiController(IBackendProvider backendProvider)
 {
     BackendProvider = backendProvider;
 }