예제 #1
0
        public App()
        {
            Client = new SdpClient();
            Client.Manager.Error += (string id, Error e) => DisplayError(e.Message, e.Detail, e.Fatal);

            worker = new BackgroundWorker
            {
                WorkerSupportsCancellation = true
            };
            worker.DoWork += Worker_DoWork;
        }
예제 #2
0
        //private IDictionary<string, NetworkSetting> cache;
        //private ISettingsElement element;

        public VoipProviderSettingsWindow(SdpClient client, VoipProviders provider)
        {
            this.client   = client;
            this.provider = provider;

            //client.UpdateSettings += Client_UpdateSettings;

            InitializeComponent();

            //client.Send(new RequestSettings() { Category = providerNames[provider] });
        }
예제 #3
0
        public LoginWindow(SdpClient client)
        {
            Client = client;
            Client.Manager.InitializeClient += InitializeClient;
            Client.Manager.Error            += Client_Error;

            InitializeComponent();

            Title = "Sift " + App.Version + " - Login";

            LoginAs.ItemsSource   = possibleRoles;
            LoginAs.SelectedIndex = 0;
        }
예제 #4
0
        public MainWindow(SdpClient client, VoipProviders provider, int lines, Role role)
        {
            this.provider = provider;
            Role          = role;
            Client        = client;

            InitializeComponent();

            Lines = new List <Line>();
            for (byte i = 0; i < lines; i++)
            {
                Lines.Add(new Line(i));
            }

            if (Role == Role.Screener)
            {
                Screener = new ScreenerElement(Client);
                Grid.SetRow(Screener, 0);
                Grid.SetColumn(Screener, 0);
                ScreenerFrame.Content = Screener;
            }

            if (Lines.Count > 0)
            {
                SelectLine(Lines[0]);
            }

            ConstructLineGrid(LineGrid, Lines, out elements);

            Client.Manager.InitializeLine   += Client_InitializeLine;
            Client.Manager.LineMetadata     += Client_LineMetadata;
            Client.Manager.LineStateChanged += Client_LineStateChanged;
            Client.Manager.Settings         += Client_Settings;

            /*Client.Send(new Settings()
             * {
             *  Key = "asterisk_hybrid_extensions",
             *  Category = "asterisk",
             * });*/

            HasConnection = true;
        }
        public AsteriskSettingsElement(SdpClient client)
        {
            this.client = client;

            InitializeComponent();
        }
예제 #6
0
        public ScreenerElement(SdpClient client)
        {
            InitializeComponent();

            this.client = client;
        }