Доброго времени.
Нужно объединить в одном классе дескрипторы устройства так, чтобы они "нормально" работали в разных ОС.
Например для Windows типом дескриптора является тип
HANDLE, в Linux тип
int.
Я нашел в Qt описание типа Qt::HANDLE
typedef Qt::HANDLE
Platform-specific handle type for system objects. This is equivalent to void * on Windows and Mac OS X, and embedded Linux, and to unsigned long on X11.
вроде все-бы ничего, но смущает это:
and to unsigned long on X11
т.е. как я понял типом данных в Linux в этом случае будет
unsigned long, а мне нужен
int !
Боюсь, как бы не случилось "страшное" !
Т.е. класс должен выглядеть как-то так:
class MyClass : public QObject
{
O_OBJECT
public:
MyClass(Qt::HANDLE descriptor, QObject *parent = 0);
...
}
т.е. нужно чтобы переменная
descriptor "правильно" скармливалась в разных осях. Это возможно?