Discovering devices using Third Party GenTL Producers can be done using the Cvb::DeviceFactory::Discover.
Depending on the implementation and configuration of the third party GenTL producer, what it reports to the CVB SDK can vary. In some cases, it may appear in a similar manner to the CVB USBTL and GEVTL producers and may even show the same devices as shown by the CVB producers (e.g. if a device uses the Gig-E Vision (GEV) standard, it may be detected by both the CVB GEVTL and a third party producer that also supports GEV).
In the case that multiple devices are connected, or a device can be used via multiple GenTL producers, after discovery, the Cvb::DiscoveryProperties in the Cvb::DiscoveryInformation should be accessed to determine the transport layer used and filter appropriately.
Note: Error handling has been omitted from the above example.
Cvb::DiscoverFlags::IgnoreVins flag, the legacy VIN drivers are excluded.Filter the found discovery information to use the first that uses the custom GenTL producer.
Common options are:
Mixed - Several supported technologiesCustom - Custom technologiesGEV - GigE Vision technologyCL - Camera Link technologyIIDC - IIDC 1394 technologyUVC - USB video class devicesCXP - CoaXPressCLHS - Camera Link HSUSB3 - USB3 Vision StandardEthernet - Ethernet devicesPCI - PCI/PCIe devicesCvb::GenICamDevice using Cvb::AcquisitionStack::PreferGenTL. When using GenTL, these flags are mandatory to ensure that all GenICam features are enabled.