UVC.h 653 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /*
  2. * TI Voxel Lib component.
  3. *
  4. * Copyright (c) 2014 Texas Instruments Inc.
  5. */
  6. #ifndef VOXEL_UVC_H
  7. #define VOXEL_UVC_H
  8. #include "Device.h"
  9. namespace Voxel
  10. {
  11. /**
  12. * \addtogroup IO
  13. * @{
  14. */
  15. class VOXEL_EXPORT UVCRawData
  16. {
  17. public:
  18. Ptr<ByteType> data;
  19. std::size_t size;
  20. };
  21. class VOXEL_NO_EXPORT UVCPrivate;
  22. class VOXEL_EXPORT UVC
  23. {
  24. protected:
  25. DevicePtr _usb;
  26. Ptr<UVCPrivate> _uvcPrivate;
  27. public:
  28. UVC(DevicePtr usb);
  29. virtual bool isInitialized();
  30. inline UVCPrivate &getUVCPrivate() { return *_uvcPrivate; }
  31. bool read(uint8_t *buffer, std::size_t size);
  32. virtual ~UVC();
  33. };
  34. /**
  35. * @}
  36. */
  37. }
  38. #endif // UVC_H