Public Member Functions | List of all members
Pylon::IGigETransportLayer Interface Referenceabstract

Extends the ITransportLayer interface by GigE Vision specific functionality. More...

#include <pylon/gige/GigETransportLayer.h>

Inheritance diagram for Pylon::IGigETransportLayer:
Inheritance graph
[legend]

Public Member Functions

virtual int EnumerateAllDevices (DeviceInfoList_t &, bool addToList=false)=0
 brief Enumerates all available GigE Vision devices More...
 
virtual void ForceIp (const String_t &MacAddress, const String_t &IpAddress, const String_t &SubnetMask, const String_t &DefaultGateway)=0
 "Force" a static IP address configuration in a device identified by its MAC Addrss More...
 
virtual void RestartIpConfiguration (const String_t &MacAddress)=0
 Let a device restart the IP configuration cycle. More...
 
virtual bool AnnounceRemoteDevice (const String_t &IpAddress, CDeviceInfo *pInfo=NULL)=0
 Announce that a remote device is going to be used. More...
 
virtual bool RenounceRemoteDevice (const String_t &IpAddress)=0
 Stop using remote device. More...
 
virtual bool BroadcastIpConfiguration (const String_t &MacAddress, bool EnablePersistentIp, bool EnableDhcp, const String_t &IpAddress, const String_t &SubnetMask, const String_t &DefaultGateway, const String_t &UserdefinedName)=0
 Broadcast a new IP configuration. More...
 
virtual CDeviceInfo CreateDeviceInfo ()=0
 Creates and returns an 'empty' Device Info object appropriate for the transport layer. More...
 
virtual GenApi::INodeMapGetNodeMap ()=0
 Returns the GenApi node map used for accessing parameters provided by the transport layer. More...
 
virtual int EnumerateInterfaces (InterfaceInfoList_t &list, bool addToList=false)=0
 Retrieves a list of available interfaces. More...
 
virtual int EnumerateDevices (DeviceInfoList_t &list, bool addToList=false)=0
 Retrieves a list of available devices. More...
 
virtual int EnumerateDevices (DeviceInfoList_t &list, const DeviceInfoList_t &filter, bool addToList=false)=0
 Retrieves a list of available devices filtered by given properties, usable for looking for specific devices. More...
 
virtual IPylonDeviceCreateDevice (const CDeviceInfo &di)=0
 Creates a camera object from a device info object. More...
 
virtual IPylonDeviceCreateDevice (const CDeviceInfo &di, const StringList_t &InjectedXmlStrings)=0
 
virtual IPylonDeviceCreateDevice (const String_t &)=0
 
virtual IPylonDeviceCreateFirstDevice (const CDeviceInfo &di=CDeviceInfo())=0
 
virtual IPylonDeviceCreateFirstDevice (const CDeviceInfo &di, const StringList_t &InjectedXmlStrings)=0
 
virtual void DestroyDevice (IPylonDevice *)=0
 Destroys a device. More...
 
virtual bool IsDeviceAccessible (const CDeviceInfo &deviceInfo, AccessModeSet mode=Control, EDeviceAccessiblityInfo *pAccessibilityInfo=NULL)=0
 This method can be used to check if a camera device can be created and opened. More...
 

Detailed Description

Extends the ITransportLayer interface by GigE Vision specific functionality.

Member Function Documentation

virtual bool Pylon::IGigETransportLayer::AnnounceRemoteDevice ( const String_t IpAddress,
CDeviceInfo pInfo = NULL 
)
pure virtual

Announce that a remote device is going to be used.

Note
This device must be reachable, a route is configured.
Parameters
IpAddressaddress of device in "dot notation"
pInfoThis optional parameter holds the full device info iff found
virtual bool Pylon::IGigETransportLayer::BroadcastIpConfiguration ( const String_t MacAddress,
bool  EnablePersistentIp,
bool  EnableDhcp,
const String_t IpAddress,
const String_t SubnetMask,
const String_t DefaultGateway,
const String_t UserdefinedName 
)
pure virtual

Broadcast a new IP configuration.

Parameters
MacAddressMAC address as a string, no delimiters are used. e.g., 003053061a58
EnablePersistentIpIf true, a persistent Ip address will be set
EnableDhcpIf true, DHCP is enabled
IpAddressDevice's new IP address, "dot notation", e.g., 192.168.1.2
SubnetMaskDevice's new SubnetMask, "dot notation", e.g. 255.255.255.0
DefaultGatewayDevice's new DefaultGateway, "dot notation", e.g., 192.168.1.1
UserdefinedNameDevice's new UserdefinedName, maximal 16 character
Returns
true if configuration was successfully written
virtual IPylonDevice* Pylon::IDeviceFactory::CreateDevice ( const CDeviceInfo di)
pure virtualinherited

Creates a camera object from a device info object.

This method accepts either a device info object from a device enumeration or a user-provided device info object. User-provided device info objects can be preset with properties required for a device, e.g. the user-provided name or the serial number. The implementation tries to find a matching camera by using device enumeration. When the device class property is set, the search is limited to the required transport layer.

If the device creation fails, a GenApi::GenericException will be thrown.

Parameters
diDevice info object containing all information needed to identify exactly one device.

Implemented in Pylon::CTlFactory.

virtual IPylonDevice* Pylon::IDeviceFactory::CreateDevice ( const CDeviceInfo di,
const StringList_t InjectedXmlStrings 
)
pure virtualinherited

Creates a camera object from a device info object, injecting additional GenICam XML definition strings. Currently only one injected xml string is supported.

Implemented in Pylon::CTlFactory.

virtual IPylonDevice* Pylon::IDeviceFactory::CreateDevice ( const String_t )
pure virtualinherited

This method is deprecated. Use CreateDevice receiving a CDeviceInfo object that contains the full name as property. Example: IPylonDevice* device = TlFactory.CreateDevice( CDeviceInfo().SetFullName( fullname)); Creates a device by its unique name (i.e. fullname as returned by CDeviceInfo::GetFullName ).

Implemented in Pylon::CTlFactory.

virtual CDeviceInfo Pylon::ITransportLayer::CreateDeviceInfo ( )
pure virtualinherited

Creates and returns an 'empty' Device Info object appropriate for the transport layer.

Device Info objects returned by the CreateDeviceInfo() method are used to create devices from device info objects that are not the result of a device enumeration process but are provided by the user. The user is responsible for filling in the fields of the Device Info object that are needed to identify and create a device.

Example: To open a GigE device for which the IP address is known, the user lets the Transport Layer object create a Device Info object, specifies the IP address and passes the device info object to the CreateDevice() method.

virtual IPylonDevice* Pylon::IDeviceFactory::CreateFirstDevice ( const CDeviceInfo di = CDeviceInfo())
pure virtualinherited

If multiple devices match the provided properties, the first device found is created. The order in which the devices are found can vary from call to call.

Implemented in Pylon::CTlFactory.

virtual IPylonDevice* Pylon::IDeviceFactory::CreateFirstDevice ( const CDeviceInfo di,
const StringList_t InjectedXmlStrings 
)
pure virtualinherited

Creates the first found camera device matching the provided properties, injecting additional GenICam XML definition strings. Currently only one injected xml string is supported.

Implemented in Pylon::CTlFactory.

virtual void Pylon::IDeviceFactory::DestroyDevice ( IPylonDevice )
pure virtualinherited

Destroys a device.

Note
: Never try to delete a pointer to a camera device by calling free or delete. Always use the DestroyDevice method.

Implemented in Pylon::CTlFactory.

virtual int Pylon::IGigETransportLayer::EnumerateAllDevices ( DeviceInfoList_t ,
bool  addToList = false 
)
pure virtual

brief Enumerates all available GigE Vision devices

In contrast to the ITransportLayer::EnumerateDevices method, devices having a subnet configured that is different from the subnet of the application will be listed.

virtual int Pylon::IDeviceFactory::EnumerateDevices ( DeviceInfoList_t list,
bool  addToList = false 
)
pure virtualinherited

Retrieves a list of available devices.

The list contains Pylon::CDeviceInfo objects used for the device creation.

By default, the list passed in will be cleared before the device discovery is started.

Parameters
listList to be filled with device info objects.
addToListIf true, the found devices will be added to the list instead of deleting the list.
Returns
Number of devices found.

Implemented in Pylon::CTlFactory.

virtual int Pylon::IDeviceFactory::EnumerateDevices ( DeviceInfoList_t list,
const DeviceInfoList_t filter,
bool  addToList = false 
)
pure virtualinherited

Retrieves a list of available devices filtered by given properties, usable for looking for specific devices.

The list contains Pylon::CDeviceInfo objects used for the device creation. By default, the list passed in will be cleared before the device discovery is started. The filter list can contain a list of device info objects containing properties a device must have, e.g. the user-provided name or the serial number. A device is returned, if it matches the properties of any of the device info objects in the filter list. When the device class property is set in the filter device info objects, the search is limited to the required transport layers.

Parameters
listList to be filled with device info objects.
filterA list of device info objects with user-provided properties that a device can match.
addToListIf true, found devices will be added to the list instead of deleting the list.
Returns
Number of devices found.

Implemented in Pylon::CTlFactory.

virtual int Pylon::ITransportLayer::EnumerateInterfaces ( InterfaceInfoList_t list,
bool  addToList = false 
)
pure virtualinherited

Retrieves a list of available interfaces.

The concept of interfaces is not supported by all transport layers. Depending on the transport layer, an interface may represent a frame grabber board, a network card, etc.

By default, the list passed in will be cleared.

If the transport layer doesn't support the interface concept, EnumerateInterfaces() always returns 0.

Parameters
listThe list to be filled with interface info objects
addToListIf true, found devices will be added to the list instead of deleting the list
Returns
Number of interfaces provided by the transport layer.
virtual void Pylon::IGigETransportLayer::ForceIp ( const String_t MacAddress,
const String_t IpAddress,
const String_t SubnetMask,
const String_t DefaultGateway 
)
pure virtual

"Force" a static IP address configuration in a device identified by its MAC Addrss

Note
When calling this function, there must be no opened camera object for the device to reconfigure!
Parameters
MacAddressMAC address as a string, no delimiters are used. e.g., 003053061a58
IpAddressTemporary IP address, "dot notation", e.g., 192.168.1.2
SubnetMaskTemporary SubnetMask, "dot notation", eg. 255.255.255.0
DefaultGatewayTemporary DefaultGateway, "dot notation", e.g., 192.168.1.1
virtual GenApi::INodeMap* Pylon::ITransportLayer::GetNodeMap ( )
pure virtualinherited

Returns the GenApi node map used for accessing parameters provided by the transport layer.

Returns
NULL, if the transport layer doesn't provide parameters, a pointer to the parameter node map otherwise.
virtual bool Pylon::IDeviceFactory::IsDeviceAccessible ( const CDeviceInfo deviceInfo,
AccessModeSet  mode = Control,
EDeviceAccessiblityInfo pAccessibilityInfo = NULL 
)
pure virtualinherited

This method can be used to check if a camera device can be created and opened.

This method accepts either a device info object from a device enumeration or a user-provided device info object. User-provided device info objects can be preset with properties required for a device, e.g. the user-provided name or the serial number. The implementation tries to find a matching camera by using device enumeration. When the device class property is set, the search is limited to the required transport layer.

Parameters
[in]deviceInfoProperties of the camera device.
[in]modeUsed for defining how a device is accessed. The use of the mode information is transport layer-specific. For IIDC 1394 devices the mode information is ignored. For GigE devices the Exclusive and Control flags are used for defining how a device is accessed.
[in]pAccessibilityInfoOptionally provides more information about why a device is not accessible.
Returns
True if device can be opened with provided access mode.
Precondition
The deviceInfo object properties specify exactly one device. This is the case when the device info object has been obtained using device enumeration.
Error Safety:
Throws a C++ exception, if the preconditions are not met.

Implemented in Pylon::CTlFactory.

virtual bool Pylon::IGigETransportLayer::RenounceRemoteDevice ( const String_t IpAddress)
pure virtual

Stop using remote device.

Parameters
IpAddressaddress of device in "dot notation"
virtual void Pylon::IGigETransportLayer::RestartIpConfiguration ( const String_t MacAddress)
pure virtual

Let a device restart the IP configuration cycle.

Note
This function fails when the device is open, i.e., a control channel is established
Parameters
MacAddressMAC address as a string, no delimeters are used, e.g., 003053061a58

The documentation for this interface was generated from the following file:

© 2006-2014 Basler (Tue Jul 22 2014 11:41:24)