Ejemplo n.º 1
0
        //
        // OnBrowseReply
        //
        // This call is invoked by the DNSService core.  It is
        // executed in the context of a worker thread, not the
        // main (GUI) thread.  We create a BrowseData object
        // and invoked the appropriate method in the GUI thread
        // so we can update the UI
        //
        private void OnBrowseReply
        (
            ServiceRef sdRef,
            ServiceFlags flags,
            int interfaceIndex,
            ErrorCode errorCode,
            String name,
            String type,
            String domain
        )
        {
            if (errorCode == ErrorCode.NoError)
            {
                BrowseData data = new BrowseData();

                data.InterfaceIndex = interfaceIndex;
                data.Name           = name;
                data.Type           = type;
                data.Domain         = domain;

                if ((flags & ServiceFlags.Add) != 0)
                {
                    Invoke(addServiceCallback, new Object[] { data });
                }
                else if ((flags == 0) || ((flags & ServiceFlags.MoreComing) != 0))
                {
                    Invoke(removeServiceCallback, new Object[] { data });
                }
            }
            else
            {
                MessageBox.Show("OnBrowseReply returned an error code: " + errorCode, "Error");
            }
        }
Ejemplo n.º 2
0
        Populate(BrowseData browseData, ResolveData resolveData)
        {
            nameField.Text   = browseData.Name;
            typeField.Text   = browseData.Type;
            domainField.Text = browseData.Domain;
            hostField.Text   = resolveData.HostName;
            portField.Text   = resolveData.Port.ToString();

            serviceTextField.Items.Clear();

            if (resolveData.TxtRecord != null)
            {
                for (int idx = 0; idx < TextRecord.GetCount(resolveData.TxtRecord); idx++)
                {
                    String key;
                    Byte[] bytes;

                    bytes = TextRecord.GetItemAtIndex(resolveData.TxtRecord, idx, out key);

                    if (key.Length > 0)
                    {
                        String val = "";

                        if (bytes != null)
                        {
                            val = Encoding.ASCII.GetString(bytes, 0, bytes.Length);
                        }

                        serviceTextField.Items.Add(key + "=" + val);
                    }
                }
            }
        }
Ejemplo n.º 3
0
        public void ServiceLost
        (
            DNSSDService sref,
            DNSSDFlags flags,
            uint ifIndex,
            String serviceName,
            String regType,
            String domain
        )
        {
            int index = browseList.Items.IndexOf(serviceName);

            //
            // See above comment in ServiceFound about reference counting
            //
            if (index != -1)
            {
                BrowseData data = (BrowseData)browseList.Items[index];

                data.Refs--;

                if (data.Refs == 0)
                {
                    browseList.Items.Remove(data);
                    browseList.Invalidate();
                }
            }
        }
        private void MenuColumnUsage_Clicked(object sender, RoutedEventArgs e)
        {
            try
            {
                if (this.SelectedColumn == null)
                {
                    MessageBox.Show("Invalid Column Selection");

                    return;
                }

                ReverseEngineer reverse = new ReverseEngineer(this.Dispatcher);

                Connections.Instance.SetConnection((MenuItem)sender, false);

                string column = this.SelectedColumn.ColumnName;

                BrowseData browse = new BrowseData(SQLQueries.DatabaseQueries.DatabaseColumnUsageQuery(column), $"Column Usage for: {column}");

                browse.Show();
            }
            catch (Exception err)
            {
                MessageBox.Show(err.InnerExceptionMessage());
            }
        }
Ejemplo n.º 5
0
        private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            if (resolver != null)
            {
                resolver.Stop();
                resolver = null;
            }

            if (browseList.SelectedItem != null)
            {
                try
                {
                    BrowseData data = (BrowseData)browseList.SelectedItem;

                    //
                    // Clicking on a service instance results in starting a resolve operation
                    // that will call us back with information about the service
                    //
                    resolver = service.Resolve(0, data.InterfaceIndex, data.Name, data.Type, data.Domain, eventManager);
                }
                catch
                {
                    MessageBox.Show("Resolve Failed", "Error");
                    Application.Exit();
                }
            }
        }
Ejemplo n.º 6
0
 //
 // OnAddService
 //
 // This method is "Invoked" by OnBrowseReply.  This call
 // executes in the context of the main thread
 //
 private void OnAddService
 (
     BrowseData data
 )
 {
     browseList.Items.Add(data);
     browseList.Invalidate();
 }
Ejemplo n.º 7
0
 //
 // OnRemoveService
 //
 // This method is "Invoked" by OnBrowseReply.  This call
 // executes in the context of the main thread
 //
 private void OnRemoveService
 (
     BrowseData data
 )
 {
     browseList.Items.Remove(data);
     browseList.Invalidate();
 }
Ejemplo n.º 8
0
 public EntityForm(Type FormType)
 {
     _Dp              = BaseFramework.GetDefaultDp(FormType.Assembly);
     this.FormType    = FormType;
     DoBrowseData     = ShowTabular;
     this.ModuleName  = BaseWinFramework.GetModuleName(FormType);
     this._DataFilter = string.Empty;
 }
Ejemplo n.º 9
0
        public EntityForm(Type FormType, Type FilterFormType, string DataFilter)
        {
            Type tp = FormType ?? FilterFormType;

            _Dp             = BaseFramework.GetDefaultDp(tp.Assembly);
            this.FormType   = FormType;
            DoBrowseData    = ShowTabular;
            this.ModuleName = BaseWinFramework.GetModuleName(
                FormType ?? FilterFormType);
            this._DataFilter    = DataFilter;
            this.FilterFormType = FilterFormType;
        }
        private void ViewData_Clicked(object sender, RoutedEventArgs e)
        {
            try
            {
                BrowseData browse = new BrowseData(this.Table, (MenuItem)sender);

                browse.Show();
            }
            catch (Exception err)
            {
                MessageBox.Show(err.GetFullExceptionMessage());
            }
        }
Ejemplo n.º 11
0
        public void ServiceLost
        (
            DNSSDService sref,
            DNSSDFlags flags,
            uint ifIndex,
            String serviceName,
            String regType,
            String domain
        )
        {
            BrowseData data = new BrowseData();

            data.InterfaceIndex = ifIndex;
            data.Name           = serviceName;
            data.Type           = regType;
            data.Domain         = domain;

            browseList.Items.Remove(data);
            browseList.Invalidate();
        }
Ejemplo n.º 12
0
            Equals(object other)
            {
                bool result = false;

                if (other != null)
                {
                    if ((object)this == other)
                    {
                        result = true;
                    }
                    else if (other is BrowseData)
                    {
                        BrowseData otherBrowseData = (BrowseData)other;

                        result = (this.Name == otherBrowseData.Name);
                    }
                }

                return(result);
            }
Ejemplo n.º 13
0
        private void Callback_Browse(object obj)
        {
            BrowseData         data             = (BrowseData)obj;
            SerializedProperty propFilePath     = data.propPath.FindPropertyRelative("_path");
            SerializedProperty propFilePathType = data.propPath.FindPropertyRelative("_pathType");
            string             startFolder      = EditorHelper.GetBrowsableFolder(propFilePath.stringValue, (MediaPathType)propFilePathType.enumValueIndex);
            string             videoPath        = propFilePath.stringValue;
            string             fullPath         = string.Empty;
            MediaPath          mediaPath        = new MediaPath();

            if (EditorHelper.OpenMediaFileDialog(startFolder, ref mediaPath, ref fullPath, data.extensions))
            {
                // Assign to properties
                propFilePath.stringValue        = mediaPath.Path.Replace("\\", "/");
                propFilePathType.enumValueIndex = (int)mediaPath.PathType;
                if (data.propMediaSource != null)
                {
                    data.propMediaSource.enumValueIndex = (int)MediaSource.Path;
                }

                // Mark as modified
                data.propPath.serializedObject.ApplyModifiedProperties();
                foreach (Object o in data.propPath.serializedObject.targetObjects)
                {
                    EditorUtility.SetDirty(o);
                }

                if (data.autoLoadMedia)
                {
                    MediaPlayer mediaPlayer = (MediaPlayer)data.propPath.serializedObject.targetObject;
                    if (mediaPlayer != null)
                    {
                        mediaPlayer.OpenMedia(mediaPlayer.MediaPath, autoPlay: true);
                    }
                }

                RecentItems.Add(fullPath);
            }
        }
Ejemplo n.º 14
0
        private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            if (resolver != null)
            {
                resolver.Dispose();
            }

            if (browseList.SelectedItem != null)
            {
                try
                {
                    BrowseData data = (BrowseData)browseList.SelectedItem;

                    resolver = DNSService.Resolve(0, 0, data.Name, data.Type, data.Domain, new DNSService.ResolveReply(OnResolveReply));
                }
                catch
                {
                    MessageBox.Show("Resolve Failed", "Error");
                    Application.Exit();
                }
            }
        }
Ejemplo n.º 15
0
        Populate(BrowseData browseData, ResolveData resolveData)
        {
            nameField.Text   = browseData.Name;
            typeField.Text   = browseData.Type;
            domainField.Text = browseData.Domain;
            hostField.Text   = resolveData.HostName;
            portField.Text   = resolveData.Port.ToString();

            serviceTextField.Items.Clear();

            //
            // When we print the text record, we're going to assume that every value
            // is a string.
            //
            if (resolveData.TxtRecord != null)
            {
                for (uint idx = 0; idx < resolveData.TxtRecord.GetCount(); idx++)
                {
                    String key;
                    Byte[] bytes;

                    key   = resolveData.TxtRecord.GetKeyAtIndex(idx);
                    bytes = (Byte[])resolveData.TxtRecord.GetValueAtIndex(idx);

                    if (key.Length > 0)
                    {
                        String val = "";

                        if (bytes != null)
                        {
                            val = Encoding.ASCII.GetString(bytes, 0, bytes.Length);
                        }

                        serviceTextField.Items.Add(key + "=" + val);
                    }
                }
            }
        }
Ejemplo n.º 16
0
        private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            if (resolver != null)
            {
                resolver.Stop();
                resolver = null;
            }

            if (browseList.SelectedItem != null)
            {
                try
                {
                    BrowseData data = (BrowseData)browseList.SelectedItem;

                    resolver = service.Resolve(0, data.InterfaceIndex, data.Name, data.Type, data.Domain, eventManager);
                }
                catch
                {
                    MessageBox.Show("Resolve Failed", "Error");
                    Application.Exit();
                }
            }
        }
Ejemplo n.º 17
0
        //
        // ServiceFound
        //
        // This call is invoked by the DNSService core.  We create
        // a BrowseData object and invoked the appropriate method
        // in the GUI thread so we can update the UI
        //
        public void ServiceFound
        (
            DNSSDService sref,
            DNSSDFlags flags,
            uint ifIndex,
            String serviceName,
            String regType,
            String domain
        )
        {
            int index = browseList.Items.IndexOf(serviceName);

            //
            // Check to see if we've seen this service before. If the machine has multiple
            // interfaces, we could potentially get called back multiple times for the
            // same service. Implementing a simple reference counting scheme will address
            // the problem of the same service showing up more than once in the browse list.
            //
            if (index == -1)
            {
                BrowseData data = new BrowseData();

                data.InterfaceIndex = ifIndex;
                data.Name           = serviceName;
                data.Type           = regType;
                data.Domain         = domain;
                data.Refs           = 1;

                browseList.Items.Add(data);
                browseList.Invalidate();
            }
            else
            {
                BrowseData data = (BrowseData)browseList.Items[index];
                data.Refs++;
            }
        }
        public void ServiceLost(
                        DNSSDService    sref,
                        DNSSDFlags      flags,
                        uint            ifIndex,
                        String          serviceName,
                        String          regType,
                        String          domain
                        )
        {
            BrowseData data = new BrowseData();

            data.InterfaceIndex = ifIndex;
            data.Name           = serviceName;
            data.Type           = regType;
            data.Domain         = domain;

            browseList.Items.Remove(data);
            browseList.Invalidate();
        }
Ejemplo n.º 19
0
        //
        // Populate()
        //
        // Populate this form with data associated with a
        // DNSService.Resolve() call
        //
        public void Populate(BrowseData browseData, ResolveData resolveData)
        {
            nameField.Text	= browseData.Name;
            typeField.Text	= browseData.Type;
            domainField.Text	= browseData.Domain;
            hostField.Text	= resolveData.HostName;
            portField.Text	= resolveData.Port.ToString();

            serviceTextField.Items.Clear();

            if (resolveData.TxtRecord != null)
            {
                for (int idx = 0; idx < TextRecord.GetCount(resolveData.TxtRecord); idx++)
                {
                    String	key;
                    Byte[]	bytes;

                    bytes	= TextRecord.GetItemAtIndex(resolveData.TxtRecord, idx, out key);

                    if (key.Length > 0)
                    {
                        String	val = "";

                        if (bytes != null)
                        {
                            val = Encoding.ASCII.GetString(bytes, 0, bytes.Length);
                        }

                        serviceTextField.Items.Add(key + "=" + val);
                    }
                }
            }
        }
Ejemplo n.º 20
0
        //
        // OnAddService
        //
        // This method is "Invoked" by OnBrowseReply.  This call
        // executes in the context of the main thread
        //
        private void OnAddService(
								BrowseData	data
								)
        {
            browseList.Items.Add(data);
            browseList.Invalidate();
        }
Ejemplo n.º 21
0
        //
        // OnBrowseReply
        //
        // This call is invoked by the DNSService core.  It is
        // executed in the context of a worker thread, not the
        // main (GUI) thread.  We create a BrowseData object
        // and invoked the appropriate method in the GUI thread
        // so we can update the UI
        //
        private void OnBrowseReply(
								ServiceRef		sdRef,
								ServiceFlags	flags,
								int				interfaceIndex,
								ErrorCode		errorCode,
								String			name,
								String			type,
								String			domain
								)
        {
            if (errorCode == ErrorCode.NoError)
            {
                BrowseData data = new BrowseData();

                data.InterfaceIndex = interfaceIndex;
                data.Name = name;
                data.Type = type;
                data.Domain = domain;

                if ((flags & ServiceFlags.Add) != 0)
                {
                    Invoke(addServiceCallback, new Object[]{data});

                }
                else if ((flags == 0) || ((flags & ServiceFlags.MoreComing) != 0))
                {
                    Invoke(removeServiceCallback, new Object[]{data});
                }
            }
            else
            {
                MessageBox.Show("OnBrowseReply returned an error code: " + errorCode, "Error");
            }
        }
        //
        // ServiceFound
        //
        // This call is invoked by the DNSService core.  We create
        // a BrowseData object and invoked the appropriate method
        // in the GUI thread so we can update the UI
        //
        public void ServiceFound(
                        DNSSDService sref,
                        DNSSDFlags flags,
                        uint ifIndex,
                        String serviceName,
                        String regType,
                        String domain
                        )
        {
            int index = browseList.Items.IndexOf(serviceName);

            //
            // Check to see if we've seen this service before. If the machine has multiple
            // interfaces, we could potentially get called back multiple times for the
            // same service. Implementing a simple reference counting scheme will address
            // the problem of the same service showing up more than once in the browse list.
            //
            if (index == -1)
            {
                BrowseData data = new BrowseData();

                data.InterfaceIndex = ifIndex;
                data.Name = serviceName;
                data.Type = regType;
                data.Domain = domain;
                data.Refs = 1;

                browseList.Items.Add(data);
                browseList.Invalidate();
            }
            else
            {
                BrowseData data = (BrowseData) browseList.Items[index];
                data.Refs++;
            }
        }
        //
        // Populate()
        //
        // Populate this form with data associated with a
        // DNSService.Resolve() call
        //
        public void Populate(BrowseData browseData, ResolveData resolveData)
        {
            nameField.Text	= browseData.Name;
            typeField.Text	= browseData.Type;
            domainField.Text	= browseData.Domain;
            hostField.Text	= resolveData.HostName;
            portField.Text	= resolveData.Port.ToString();

            serviceTextField.Items.Clear();

            //
            // When we print the text record, we're going to assume that every value
            // is a string.
            //
            if (resolveData.TxtRecord != null)
            {
                for (uint idx = 0; idx < resolveData.TxtRecord.GetCount(); idx++)
                {
                    String key;
                    Byte[] bytes;

                    key = resolveData.TxtRecord.GetKeyAtIndex(idx);
                    bytes = (Byte[])resolveData.TxtRecord.GetValueAtIndex(idx);

                    if (key.Length > 0)
                    {
                        String val = "";

                        if (bytes != null)
                        {
                            val = Encoding.ASCII.GetString(bytes, 0, bytes.Length);
                        }

                        serviceTextField.Items.Add(key + "=" + val);
                    }
                }
            }
        }
Ejemplo n.º 24
0
 private EntityForm(string ModuleName, string DataFilter)
 {
     DoBrowseData     = ShowTabular;
     this.ModuleName  = ModuleName;
     this._DataFilter = DataFilter;
 }
Ejemplo n.º 25
0
 private EntityForm(string ModuleName)
 {
     DoBrowseData     = ShowTabular;
     this.ModuleName  = ModuleName;
     this._DataFilter = string.Empty;
 }
Ejemplo n.º 26
0
        //
        // OnRemoveService
        //
        // This method is "Invoked" by OnBrowseReply.  This call
        // executes in the context of the main thread
        //
        private void OnRemoveService(
								BrowseData	data
								)
        {
            browseList.Items.Remove(data);
            browseList.Invalidate();
        }