adding discovery menu
This commit is contained in:
74
MainForm.cs
74
MainForm.cs
@@ -15,6 +15,8 @@ namespace robospot_camera_finder
|
||||
public static string cam_username = "admin";
|
||||
public static string cam_password = "RoboSpot10";
|
||||
|
||||
private static string browse_scope = "_rtsp._tcp";
|
||||
|
||||
public class Camera
|
||||
{
|
||||
private IPAddress ip;
|
||||
@@ -93,8 +95,6 @@ namespace robospot_camera_finder
|
||||
}
|
||||
}
|
||||
|
||||
browser.StartBrowse("_rtsp._tcp");
|
||||
|
||||
lbMain.DataSource = all_cameras;
|
||||
lbMain.DisplayMember = "camera_name";
|
||||
lbMain.ValueMember = "camera_ip";
|
||||
@@ -111,8 +111,34 @@ namespace robospot_camera_finder
|
||||
|
||||
browser.ServiceRemoved += (sender, args) =>
|
||||
{
|
||||
ServiceRemoved(sender, args);
|
||||
if (browser.IsBrowsing)
|
||||
{
|
||||
ServiceRemoved(sender, args);
|
||||
}
|
||||
};
|
||||
|
||||
browse(true);
|
||||
}
|
||||
|
||||
private void browse(bool browse_needed)
|
||||
{
|
||||
if (browse_needed)
|
||||
{
|
||||
if (!browser.IsBrowsing)
|
||||
{
|
||||
browser.StartBrowse(browse_scope);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (browser.IsBrowsing)
|
||||
{
|
||||
browser.StopBrowse();
|
||||
}
|
||||
}
|
||||
|
||||
startToolStripMenuItem.Enabled = !browser.IsBrowsing;
|
||||
stopToolStripMenuItem.Enabled = browser.IsBrowsing;
|
||||
}
|
||||
|
||||
private void ServiceAdded(object sender, ServiceAnnouncementEventArgs args)
|
||||
@@ -140,8 +166,25 @@ namespace robospot_camera_finder
|
||||
serial = serial_line.Substring("SerialNumber=".Length).Trim();
|
||||
}
|
||||
|
||||
Camera camera = new Camera("Camera " + cam_addr.ToString() + " - " + location + " - " + serial, cam_addr, location, serial);
|
||||
all_cameras.Add(camera);
|
||||
Camera new_camera = new Camera("Camera " + cam_addr.ToString() + " - " + location + " - " + serial, cam_addr, location, serial);
|
||||
|
||||
if (all_cameras.Count == 0)
|
||||
{
|
||||
all_cameras.Add(new_camera);
|
||||
} else
|
||||
{
|
||||
for (int i = 0; i < all_cameras.Count; i++)
|
||||
{
|
||||
if (all_cameras[i].camera_serial == new_camera.camera_serial)
|
||||
{
|
||||
all_cameras[i] = new_camera;
|
||||
}
|
||||
else
|
||||
{
|
||||
all_cameras.Add(new_camera);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -180,5 +223,26 @@ namespace robospot_camera_finder
|
||||
toolStripStatusLabel.Text = "";
|
||||
}
|
||||
}
|
||||
|
||||
private void startToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
browse(true);
|
||||
}
|
||||
|
||||
private void stopToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
browse(false);
|
||||
}
|
||||
|
||||
private void forceReloadToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
DialogResult result = MessageBox.Show("Are you sure you want to clear discovered cameras and restart the discovery process ?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
|
||||
if (result == DialogResult.Yes)
|
||||
{
|
||||
browse(false);
|
||||
all_cameras.Clear();
|
||||
browse(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user