Ejemplo n.º 1
0
        private DapSource FindDeviceSource(IDevice device)
        {
            foreach (TypeExtensionNode node in supported_dap_types)
            {
                try {
                    DapSource source = (DapSource)node.CreateInstance();
                    source.DeviceInitialize(device, false);
                    source.LoadDeviceContents();
                    source.AddinId = node.Addin.Id;
                    return(source);
                } catch (InvalidDeviceStateException) {
                    Log.WarningFormat(
                        "Dap.DapService: invalid state, mapping potential source for {0}",
                        device.Name
                        );
                    DapSource source = new PotentialSource(this, node, device);
                    return(source);
                } catch (InvalidDeviceException) {
                } catch (InvalidCastException e) {
                    Log.Warning("Extension is not a DapSource as required", e);
                } catch (Exception e) {
                    Log.Error(e);
                }
            }

            return(null);
        }
Ejemplo n.º 2
0
        private bool TryDeviceInitialize (bool force, out DapSource source)
        {
            lock (lock_object) {
                source = null;

                if (initialized) {
                    return false;
                }

                SetStatus (
                    Catalog.GetString ("Trying to claim your device..."),
                    false,
                    true,
                    "dialog-information"
                );

                Log.Debug ("PotentialSource: Creating Instance");
                try {
                    DapSource src = (DapSource) Claimant.CreateInstance ();
                    Log.Debug ("PotentialSource: Initializing Device");
                    src.DeviceInitialize (Device, force);
                    Log.Debug ("PotentialSource: Loading Contents");
                    src.LoadDeviceContents ();

                    Log.DebugFormat ("PotentialSource: Success, new Source {0}", src.Name);
                    src.AddinId = Claimant.Addin.Id;
                    source = src;
                    initialized = true;
                } catch (InvalidDeviceStateException e) {
                    Log.Warning (e);
                } catch (InvalidDeviceException e) {
                    Log.Warning (e);
                } catch (Exception e) {
                    Log.Error (e);
                }

                bool success = (source != null);

                SetStatus (
                    success ? Catalog.GetString ("Connection successful. Please wait...")
                            : Catalog.GetString ("Connection failed"),
                    !success,
                    success,
                    success ? "dialog-information"
                            : "dialog-warning"
                );

                return success;
            }
        }
Ejemplo n.º 3
0
        private DapSource FindDeviceSource(IDevice device)
        {
            foreach (TypeExtensionNode node in supported_dap_types)
            {
                try {
                    DapSource source = (DapSource)node.CreateInstance();
                    source.DeviceInitialize(device);
                    source.LoadDeviceContents();
                    source.AddinId = node.Addin.Id;
                    return(source);
                } catch (InvalidDeviceException) {
                } catch (InvalidCastException e) {
                    Log.Exception("Extension is not a DapSource as required", e);
                } catch (Exception e) {
                    Log.Exception(e);
                }
            }

            return(null);
        }