Ejemplo n.º 1
0
    def _getInterfaceInfos(self):
        """
        Gets interface info of all available interfaces.

        :returns: list -- interface info for available interfaces.
        """
        if self._interfaceInfos is None:
            # args
            dummyInterfaceInfo = structs.VimbaInterfaceInfo()
            numFound = c_uint32(-1)

            # call once just to get the number of interfaces
            # Vimba DLL will return an error code
            errorCode = VimbaDLL.interfacesList(byref(dummyInterfaceInfo), 0,
                                                byref(numFound),
                                                sizeof(dummyInterfaceInfo))
            if errorCode != 0:
                print errorCode
                raise VimbaException(errorCode)

            numInterfaces = numFound.value

            # args
            interfaceInfoArray = (structs.VimbaInterfaceInfo * numInterfaces)()

            # call again to get the features
            # Vimba DLL will return an error code
            errorCode = VimbaDLL.interfacesList(interfaceInfoArray,
                                                numInterfaces, byref(numFound),
                                                sizeof(dummyInterfaceInfo))
            if errorCode != 0:
                raise VimbaException(errorCode)
            self._interfaceInfos = list(
                interfaceInfo for interfaceInfo in interfaceInfoArray)
        return self._interfaceInfos
Ejemplo n.º 2
0
    def _getInterfaceInfos(self):
        """
        Gets interface info of all available interfaces.

        :returns: list -- interface info for available interfaces.
        """
        if self._interfaceInfos is None:
            # args
            dummyInterfaceInfo = structs.VimbaInterfaceInfo()
            numFound = c_uint32(-1)

            # call once just to get the number of interfaces
            # Vimba DLL will return an error code
            errorCode = VimbaDLL.interfacesList(byref(dummyInterfaceInfo),
                                                0,
                                                byref(numFound),
                                                sizeof(dummyInterfaceInfo))
            if errorCode != 0:
                print errorCode
                raise VimbaException(errorCode)

            numInterfaces = numFound.value

            # args
            interfaceInfoArray = (structs.VimbaInterfaceInfo * numInterfaces)()

            # call again to get the features
            # Vimba DLL will return an error code
            errorCode = VimbaDLL.interfacesList(interfaceInfoArray,
                                                numInterfaces,
                                                byref(numFound),
                                                sizeof(dummyInterfaceInfo))
            if errorCode != 0:
                raise VimbaException(errorCode)
            self._interfaceInfos = list(
                interfaceInfo for interfaceInfo in interfaceInfoArray)
        return self._interfaceInfos