added cleaner frame for cross-platform hdid implementation
This commit is contained in:
		
							parent
							
								
									7b73150053
								
							
						
					
					
						commit
						9ba9987d1f
					
				@ -30,7 +30,7 @@ SOURCES += main.cpp\
 | 
				
			|||||||
    encryption_functions.cpp \
 | 
					    encryption_functions.cpp \
 | 
				
			||||||
    courtroom.cpp \
 | 
					    courtroom.cpp \
 | 
				
			||||||
    aocharbutton.cpp \
 | 
					    aocharbutton.cpp \
 | 
				
			||||||
    win32_functions.cpp
 | 
					    hardware_functions.cpp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
HEADERS  += lobby.h \
 | 
					HEADERS  += lobby.h \
 | 
				
			||||||
    text_file_functions.h \
 | 
					    text_file_functions.h \
 | 
				
			||||||
@ -48,4 +48,4 @@ HEADERS  += lobby.h \
 | 
				
			|||||||
    encryption_functions.h \
 | 
					    encryption_functions.h \
 | 
				
			||||||
    courtroom.h \
 | 
					    courtroom.h \
 | 
				
			||||||
    aocharbutton.h \
 | 
					    aocharbutton.h \
 | 
				
			||||||
    win32_functions.h
 | 
					    hardware_functions.h
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										34
									
								
								hardware_functions.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								hardware_functions.cpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,34 @@
 | 
				
			|||||||
 | 
					#include "hardware_functions.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if (defined (_WIN32) || defined (_WIN64))
 | 
				
			||||||
 | 
					DWORD dwVolSerial;
 | 
				
			||||||
 | 
					BOOL bIsRetrieved;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					QString get_hdid()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    bIsRetrieved = GetVolumeInformation(TEXT("C:\\"), NULL, NULL, &dwVolSerial, NULL, NULL, NULL, NULL);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (bIsRetrieved)
 | 
				
			||||||
 | 
					        return QString::number(dwVolSerial, 16);
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        return "invalid_windows_hd"; //what could possibly go wrong
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#elif (defined (LINUX) || defined (__linux__))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					QString get_hdid()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  //T0D0: add linux implementation
 | 
				
			||||||
 | 
					  return "linux_os_hdid";
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					QString get_hdid()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  //T0D0: find a sane way to handle this
 | 
				
			||||||
 | 
					  return "unknown_os_hdid";
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
@ -3,7 +3,10 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include <QString>
 | 
					#include <QString>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef Q_OS_WIN32
 | 
				
			||||||
#include <windows.h>
 | 
					#include <windows.h>
 | 
				
			||||||
 | 
					#endif // Q_OS_WIN32
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <stdio.h>
 | 
					#include <stdio.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
QString get_hdid();
 | 
					QString get_hdid();
 | 
				
			||||||
@ -3,7 +3,7 @@
 | 
				
			|||||||
#include "lobby.h"
 | 
					#include "lobby.h"
 | 
				
			||||||
#include "networkmanager.h"
 | 
					#include "networkmanager.h"
 | 
				
			||||||
#include "encryption_functions.h"
 | 
					#include "encryption_functions.h"
 | 
				
			||||||
#include "win32_functions.h"
 | 
					#include "hardware_functions.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <QDebug>
 | 
					#include <QDebug>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -87,11 +87,7 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
 | 
				
			|||||||
    s_decryptor = fanta_decrypt(f_contents.at(0), 322).toUInt();
 | 
					    s_decryptor = fanta_decrypt(f_contents.at(0), 322).toUInt();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    QString f_hdid;
 | 
					    QString f_hdid;
 | 
				
			||||||
#ifdef Q_OS_WIN32
 | 
					 | 
				
			||||||
    f_hdid = get_hdid();
 | 
					    f_hdid = get_hdid();
 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
    f_hdid = "ao2testinginprogress";
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    AOPacket *hi_packet = new AOPacket("HI#" + f_hdid + "#%");
 | 
					    AOPacket *hi_packet = new AOPacket("HI#" + f_hdid + "#%");
 | 
				
			||||||
    send_server_packet(hi_packet);
 | 
					    send_server_packet(hi_packet);
 | 
				
			||||||
 | 
				
			|||||||
@ -1,15 +0,0 @@
 | 
				
			|||||||
#include "win32_functions.h"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
DWORD dwVolSerial;
 | 
					 | 
				
			||||||
BOOL bIsRetrieved;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
QString get_hdid()
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    bIsRetrieved = GetVolumeInformation(TEXT("C:\\"), NULL, NULL, &dwVolSerial, NULL, NULL, NULL, NULL);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (bIsRetrieved)
 | 
					 | 
				
			||||||
        return QString::number(dwVolSerial, 16);
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
        return "invalidhd"; //what could possibly go wrong
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user