Enjoy OO in driver instead of the same old boring ifdefery.
This commit is contained in:
parent
8c80050dbe
commit
96a47a4af9
|
@ -46,7 +46,6 @@ public:
|
||||||
~BaseDriver();
|
~BaseDriver();
|
||||||
|
|
||||||
#ifdef EXPERIMENTAL_WIFI_COMM
|
#ifdef EXPERIMENTAL_WIFI_COMM
|
||||||
#ifdef _WINDOWS
|
|
||||||
virtual bool WIFI_SocketsAvailable() { return true; }
|
virtual bool WIFI_SocketsAvailable() { return true; }
|
||||||
virtual bool WIFI_PCapAvailable() { return false; }
|
virtual bool WIFI_PCapAvailable() { return false; }
|
||||||
|
|
||||||
|
@ -59,33 +58,7 @@ public:
|
||||||
virtual int PCAP_setnonblock(pcap_t* dev, int nonblock, char* errbuf) { return -1; }
|
virtual int PCAP_setnonblock(pcap_t* dev, int nonblock, char* errbuf) { return -1; }
|
||||||
virtual int PCAP_sendpacket(pcap_t* dev, const u_char* data, int len) { return -1; }
|
virtual int PCAP_sendpacket(pcap_t* dev, const u_char* data, int len) { return -1; }
|
||||||
virtual int PCAP_dispatch(pcap_t* dev, int num, pcap_handler callback, u_char* userdata) { return -1; }
|
virtual int PCAP_dispatch(pcap_t* dev, int num, pcap_handler callback, u_char* userdata) { return -1; }
|
||||||
#else
|
#endif
|
||||||
virtual bool WIFI_SocketsAvailable() { return true; }
|
|
||||||
virtual bool WIFI_PCapAvailable() { return true; }
|
|
||||||
virtual bool WIFI_WFCWarning() { return false; }
|
|
||||||
|
|
||||||
virtual int PCAP_findalldevs(pcap_if_t** alldevs, char* errbuf) {
|
|
||||||
return pcap_findalldevs(alldevs, errbuf); }
|
|
||||||
|
|
||||||
virtual void PCAP_freealldevs(pcap_if_t* alldevs) {
|
|
||||||
pcap_freealldevs(alldevs); }
|
|
||||||
|
|
||||||
virtual pcap_t* PCAP_open(const char* source, int snaplen, int flags, int readtimeout, char* errbuf) {
|
|
||||||
return pcap_open_live(source, snaplen, flags, readtimeout, errbuf); }
|
|
||||||
|
|
||||||
virtual void PCAP_close(pcap_t* dev) {
|
|
||||||
pcap_close(dev); }
|
|
||||||
|
|
||||||
virtual int PCAP_setnonblock(pcap_t* dev, int nonblock, char* errbuf) {
|
|
||||||
return pcap_setnonblock(dev, nonblock, errbuf); }
|
|
||||||
|
|
||||||
virtual int PCAP_sendpacket(pcap_t* dev, const u_char* data, int len) {
|
|
||||||
return pcap_sendpacket(dev, data, len); }
|
|
||||||
|
|
||||||
virtual int PCAP_dispatch(pcap_t* dev, int num, pcap_handler callback, u_char* userdata) {
|
|
||||||
return pcap_dispatch(dev, num, callback, userdata); }
|
|
||||||
#endif /* WINDOWS */
|
|
||||||
#endif /* EXPERIMENTAL_WIFI_COMM */
|
|
||||||
|
|
||||||
virtual void AVI_SoundUpdate(void* soundData, int soundLen) {}
|
virtual void AVI_SoundUpdate(void* soundData, int soundLen) {}
|
||||||
virtual bool AVI_IsRecording() { return FALSE; }
|
virtual bool AVI_IsRecording() { return FALSE; }
|
||||||
|
@ -122,4 +95,36 @@ public:
|
||||||
};
|
};
|
||||||
extern BaseDriver* driver;
|
extern BaseDriver* driver;
|
||||||
|
|
||||||
|
#ifndef _WINDOWS
|
||||||
|
class UnixDriver : public BaseDriver
|
||||||
|
{
|
||||||
|
#ifdef EXPERIMENTAL_WIFI_COMM
|
||||||
|
virtual bool WIFI_SocketsAvailable() { return true; }
|
||||||
|
virtual bool WIFI_PCapAvailable() { return true; }
|
||||||
|
virtual bool WIFI_WFCWarning() { return true; }
|
||||||
|
|
||||||
|
virtual int PCAP_findalldevs(pcap_if_t** alldevs, char* errbuf) {
|
||||||
|
return pcap_findalldevs(alldevs, errbuf); }
|
||||||
|
|
||||||
|
virtual void PCAP_freealldevs(pcap_if_t* alldevs) {
|
||||||
|
pcap_freealldevs(alldevs); }
|
||||||
|
|
||||||
|
virtual pcap_t* PCAP_open(const char* source, int snaplen, int flags, int readtimeout, char* errbuf) {
|
||||||
|
return pcap_open_live(source, snaplen, flags, readtimeout, errbuf); }
|
||||||
|
|
||||||
|
virtual void PCAP_close(pcap_t* dev) {
|
||||||
|
pcap_close(dev); }
|
||||||
|
|
||||||
|
virtual int PCAP_setnonblock(pcap_t* dev, int nonblock, char* errbuf) {
|
||||||
|
return pcap_setnonblock(dev, nonblock, errbuf); }
|
||||||
|
|
||||||
|
virtual int PCAP_sendpacket(pcap_t* dev, const u_char* data, int len) {
|
||||||
|
return pcap_sendpacket(dev, data, len); }
|
||||||
|
|
||||||
|
virtual int PCAP_dispatch(pcap_t* dev, int num, pcap_handler callback, u_char* userdata) {
|
||||||
|
return pcap_dispatch(dev, num, callback, userdata); }
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif //_DRIVER_H_
|
#endif //_DRIVER_H_
|
||||||
|
|
|
@ -1693,7 +1693,7 @@ static inline void _updateDTools()
|
||||||
|
|
||||||
/////////////////////////////// MAIN EMULATOR LOOP ///////////////////////////////
|
/////////////////////////////// MAIN EMULATOR LOOP ///////////////////////////////
|
||||||
|
|
||||||
class GtkDriver : public BaseDriver
|
class GtkDriver : public UnixDriver
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual void EMU_DebugIdleUpdate()
|
virtual void EMU_DebugIdleUpdate()
|
||||||
|
|
Loading…
Reference in New Issue