Changes to support Vodafone K4606
Fork of USBHostWANDongle by
Diff: USB3GModule/WANDongleInitializer.h
- Revision:
- 18:7d5242aa7b95
- Parent:
- 10:08bce4cd973a
- Child:
- 25:3184f71557bf
--- a/USB3GModule/WANDongleInitializer.h Thu Feb 21 09:28:14 2013 +0000 +++ b/USB3GModule/WANDongleInitializer.h Mon Feb 25 11:48:26 2013 +0000 @@ -31,6 +31,7 @@ WAN_DONGLE_TYPE_UNKNOWN = -1, WAN_DONGLE_TYPE_VODAFONEK3770 = 0, WAN_DONGLE_TYPE_VODAFONEK3772Z = 1, + WAN_DONGLE_TYPE_VODAFONEK3772 = 2, }; class WANDongleInitializer : public IUSBEnumerator @@ -95,6 +96,39 @@ int m_endpointsToFetch; }; +class VodafoneK3772Initializer : public WANDongleInitializer +{ +public: + VodafoneK3772Initializer(USBHost* pHost); + + virtual uint16_t getMSDVid(); + virtual uint16_t getMSDPid(); + + virtual uint16_t getSerialVid(); + virtual uint16_t getSerialPid(); + + virtual bool switchMode(USBDeviceConnected* pDev); + + virtual USBEndpoint* getEp(USBDeviceConnected* pDev, int serialPortNumber, bool tx); + + virtual int getSerialPortCount(); + + virtual void setVidPid(uint16_t vid, uint16_t pid); + + virtual bool parseInterface(uint8_t intf_nb, uint8_t intf_class, uint8_t intf_subclass, uint8_t intf_protocol); //Must return true if the interface should be parsed + + virtual bool useEndpoint(uint8_t intf_nb, ENDPOINT_TYPE type, ENDPOINT_DIRECTION dir); //Must return true if the endpoint will be used + + virtual WAN_DONGLE_TYPE getType(); + +private: + + bool m_hasSwitched; + int m_currentSerialIntf; + int m_endpointsToFetch; +}; + + class VodafoneK3772ZInitializer : public WANDongleInitializer { public: