private void but_onvif_Click(object sender, EventArgs e) { if (onvifthreadrun) { onvifthreadrun = false; return; } var ip = "127.0.0.1"; var port = 80; var ipport = txt_onvifip.Text; var user = txt_onvifuser.Text; var password = txt_onvifpassword.Text; Settings.Instance["Dowding_onvifipport"] = ipport; Settings.Instance["Dowding_onvifusername"] = user; Settings.Instance["Dowding_onvifpassword"] = password; Settings.Instance.Save(); if (ipport.Contains(":")) { ip = ipport.Split(':')[0]; port = int.Parse(ipport.Split(':')[1]); } else { ip = ipport; } Task.Run(async() => { try { device = await new OnvifDevice(ip, port, user, password).Setup().ConfigureAwait(false); onvifthreadrun = true; DowdingPlugin.UpdateOutput += OnvifUpdate; while (onvifthreadrun) { Thread.Sleep(1000); } } catch (Exception ex) { CustomMessageBox.Show("Failed to connect/send to tracker " + ex.Message, Strings.ERROR); return; } finally { DowdingPlugin.UpdateOutput -= OnvifUpdate; } }); }
public async Task SendRequests() { try { //create a pipeline topology and live pipeline var pipelineTopology = BuildPipelineTopology(); var livePipeline = BuildLivePipeline(pipelineTopology.Name); //set topology without using helper function #region Snippet:Azure_VideoAnalyzerSamples_InvokeDirectMethod var setPipelineTopRequest = new PipelineTopologySetRequest(pipelineTopology); var directMethod = new CloudToDeviceMethod(setPipelineTopRequest.MethodName); directMethod.SetPayloadJson(setPipelineTopRequest.GetPayloadAsJson()); var setPipelineTopResponse = await _serviceClient.InvokeDeviceMethodAsync(_deviceId, _moduleId, directMethod); #endregion Snippet:Azure_VideoAnalyzerSamples_InvokeDirectMethod // get a topology using helper function var getPipelineTopRequest = await InvokeDirectMethodHelper(new PipelineTopologyGetRequest(pipelineTopology.Name)); var getPipelineTopResponse = PipelineTopology.Deserialize(getPipelineTopRequest.GetPayloadAsJson()); // list all topologies var listPipelineTopRequest = await InvokeDirectMethodHelper(new PipelineTopologyListRequest()); var listPipelineTopResponse = PipelineTopologyCollection.Deserialize(listPipelineTopRequest.GetPayloadAsJson()); //set live pipeline var setLivePipelineRequest = await InvokeDirectMethodHelper(new LivePipelineSetRequest(livePipeline)); //activate live pipeline var activateLivePipelineRequest = await InvokeDirectMethodHelper(new LivePipelineActivateRequest(livePipeline.Name)); //get live pipeline var getLivePipelineRequest = await InvokeDirectMethodHelper(new LivePipelineGetRequest(livePipeline.Name)); var getLivePipelineResponse = LivePipeline.Deserialize(getLivePipelineRequest.GetPayloadAsJson()); // list all live pipeline var listLivePipelineRequest = await InvokeDirectMethodHelper(new LivePipelineListRequest()); var listLivePipelineResponse = LivePipelineCollection.Deserialize(listLivePipelineRequest.GetPayloadAsJson()); //getlive pipeline var deactiveLivePipeline = await InvokeDirectMethodHelper(new LivePipelineDeactivateRequest(livePipeline.Name)); var deleteLivePipeline = await InvokeDirectMethodHelper(new LivePipelineDeleteRequest(livePipeline.Name)); //delete live pipeline var deletePipelineTopology = await InvokeDirectMethodHelper(new PipelineTopologyDeleteRequest(pipelineTopology.Name)); //get an onvif device var onvifDeviceGetRequest = await InvokeDirectMethodHelper(new OnvifDeviceGetRequest(new UnsecuredEndpoint("rtsp://camerasimulator:8554"))); var onvifDeviceGetResponse = OnvifDevice.Deserialize(onvifDeviceGetRequest.GetPayloadAsJson()); //get all onvif devices on the network var onvifDiscoverRequest = await InvokeDirectMethodHelper(new OnvifDeviceDiscoverRequest()); var onvifDiscoverResponse = DiscoveredOnvifDeviceCollection.Deserialize(onvifDiscoverRequest.GetPayloadAsJson()); // create a remote device adapter and send a set request for it var iotDeviceName = "iotDeviceSample"; var remoteDeviceName = "remoteDeviceSample"; var iotDevice = await GetOrAddIoTDeviceAsync(iotDeviceName); var remoteDeviceAdapter = CreateRemoteDeviceAdapter(remoteDeviceName, iotDeviceName, iotDevice.Authentication.SymmetricKey.PrimaryKey); var remoteDeviceAdapterSetRequest = await InvokeDirectMethodHelper(new RemoteDeviceAdapterSetRequest(remoteDeviceAdapter)); var remoteDeviceAdapterSetResponse = RemoteDeviceAdapter.Deserialize(remoteDeviceAdapterSetRequest.GetPayloadAsJson()); //get a remote device adapter var remoteDeviceAdapterGetRequest = await InvokeDirectMethodHelper(new RemoteDeviceAdapterGetRequest(remoteDeviceName)); var remoteDeviceAdapterGetResponse = RemoteDeviceAdapter.Deserialize(remoteDeviceAdapterGetRequest.GetPayloadAsJson()); //list all remote device adapters var remoteDeviceAdapterListRequest = await InvokeDirectMethodHelper(new RemoteDeviceAdapterListRequest()); var remoteDeviceAdapterListResponse = RemoteDeviceAdapterCollection.Deserialize(remoteDeviceAdapterListRequest.GetPayloadAsJson()); //delete a remote device adapater var remoteDeviceAdapterDeleteRequest = await InvokeDirectMethodHelper(new RemoteDeviceAdapterDeleteRequest(remoteDeviceName)); } catch (Exception ex) { Console.WriteLine(ex.ToString()); Assert.Fail(); } }