#pragma once
#include<string>;

#ifdef STARFLEETTOOLBOX_EXPORTS
#define USBSINFORMATION __declspec(dllexport)
#else
#define USBSINFORMATION __declspec(dllimport)
#endif

using namespace std;
/// <summary>
/// The USB information encapsulation
/// </summary>
class USBSINFORMATION UsbInformation
{
public:
	unsigned int GetBusNumber();
	void SetBusNumber(unsigned int pBusNumber);

	unsigned int GetDeviceAddress();
	void SetDeviceAddress(unsigned int pDeviceAddress);

	unsigned int GetVendorId();
	void SetVendorId(unsigned int pVendorId);

	unsigned int GetProductId();
	void SetProductId(unsigned int pProductId);

	string GetSpeed();
	void SetSpeed(string pSeed);

	string GetManufacturer();
	void SetManufacturer(string pManufacturer);

	string GetProductDescription();
	void SetProductDescription(string pProductDescription);

	string GetSerialNumber();
	void SetSerialNumber(string pSerialNumber);

private:
	unsigned int _busNumber;
	unsigned int _deviceAddress;
	unsigned int _vendorId;
	unsigned int _productId;
	string _speed;
	string _manufacturer;
	string _productDescription;
	string _serialNumber;
};

