public TestTool.Onvif.GetCapabilitiesResponse GetCapabilities(TestTool.Onvif.GetCapabilitiesRequest request) { BeginMethod("GetCapabilities"); List <CapabilityCategory> categories = new List <CapabilityCategory>(request.Category); CapabilityCategory singleCategory = CapabilityCategory.All; bool allCapabilitiesQueried = false; bool singleCategoryRequested = false; if (categories.Count == 0) { allCapabilitiesQueried = true; } else { if (categories.Count == 1) { singleCategory = categories[0]; singleCategoryRequested = singleCategory != CapabilityCategory.All; } allCapabilitiesQueried = categories.Contains(CapabilityCategory.All); } if (categories.Contains(CapabilityCategory.Media) || categories.Contains(CapabilityCategory.Analytics) || categories.Contains(CapabilityCategory.Imaging) || categories.Contains(CapabilityCategory.PTZ)) { string[] faultCodes = new string[] { "Receiver", "ActionNotSupported", "NoSuchService" }; Transport.CommonUtils.ReturnFault(faultCodes); } SimulatorConfiguration.ServicesConfiguration.CreateOldStyleCapabilities(); Capabilities capabilities = SimulatorConfiguration.ServicesConfiguration.Capabilities; if (singleCategoryRequested) { if (singleCategory == CapabilityCategory.Device) { capabilities.Events = null; } else { capabilities.Device = null; } } if (capabilities.Device != null) { capabilities.Device.XAddr = _host + Definitions.LocalAddress.DEVICE; } if (capabilities.Events != null) { capabilities.Events.XAddr = _host + Definitions.LocalAddress.EVENTS; } EndMethod(); return(new GetCapabilitiesResponse(capabilities)); }
public static string GetServiceAddress(this DeviceClient device, CapabilityCategory category, Func <Capabilities, string> addressSelector) { string address = string.Empty; Capabilities capabilities = device.GetCapabilities(new CapabilityCategory[] { category }); return(addressSelector(capabilities)); }
public static string GetServiceAddress(this DeviceClient device, IEnumerable <Feature> features, CapabilityCategory category, Func <Capabilities, string> addressSelector, string serviceNs) { string address = string.Empty; if (features.Contains(Definitions.Enums.Feature.GetServices)) { address = device.GetServiceAddress(serviceNs); } else { address = device.GetServiceAddress(category, addressSelector); } return(address); }
public static void MuestraInfo(string uri) { System.DateTime UTCTime = System.DateTime.UtcNow; Console.Write(string.Format("Client UTC Time: {0}", UTCTime.ToString("HH:mm:ss"))); HttpTransportBindingElement httpTransport = new HttpTransportBindingElement(); var httpTransportBinding = new HttpTransportBindingElement { AuthenticationScheme = AuthenticationSchemes.Digest }; var textMessageEncodingBinding = new TextMessageEncodingBindingElement { MessageVersion = MessageVersion.CreateVersion(EnvelopeVersion.Soap12, AddressingVersion.None) }; var customBinding = new CustomBinding(textMessageEncodingBinding, httpTransportBinding); EndpointAddress serviceAddress = new EndpointAddress(uri); var passwordDigestBehavior = new PasswordDigestBehavior("julian", "julian"); var deviceClient = new DeviceClient(customBinding, serviceAddress); deviceClient.Endpoint.Behaviors.Add(passwordDigestBehavior); Console.Write(" GetHostname: " + deviceClient.GetHostname().Name); var unitTime = deviceClient.GetSystemDateAndTime(); Console.Write((string.Format(" Camera UTC Time: {0}:{1}:{2}", unitTime.UTCDateTime.Time.Hour, unitTime.UTCDateTime.Time.Minute, unitTime.UTCDateTime.Time.Second))); CapabilityCategory[] cc = new CapabilityCategory[100]; deviceClient.GetCapabilities(cc); Console.Write(" GetHostname: " + deviceClient.GetHostname().Name); Console.Write(" GetWsdlUrl: " + deviceClient.GetWsdlUrl()); string model, firmwareVersion, serialNumber, hardwareId; deviceClient.GetDeviceInformation(out model, out firmwareVersion, out serialNumber, out hardwareId); Console.Write(" Model: " + model); Console.Write(" firmwareVersion: " + firmwareVersion); Console.Write(" serialNumber: " + serialNumber); Console.WriteLine("hardwareId: " + hardwareId + "\n\n"); }