From 0d14f74e3651ed2ae5e7dd73c674d493417a0331 Mon Sep 17 00:00:00 2001 From: Helmsys Date: Sun, 24 Dec 2023 19:00:00 +0300 Subject: [PATCH] v0.0.7.7 --- GUI/src/funcs/sync_dll_service.py | 22 +++++++++++++--------- GUI/src/funcs/sync_workers.py | 22 +++++++++++++++++++--- GUI/src/pages/sync_server_page.py | 17 +++++++++++++++++ GUI/src/service/src/sync_service.cpp | 11 ++++++++++- GUI/src/service/src/sync_service.hpp | 3 ++- GUI/sync_service.dll | Bin 328571 -> 329317 bytes 6 files changed, 61 insertions(+), 14 deletions(-) diff --git a/GUI/src/funcs/sync_dll_service.py b/GUI/src/funcs/sync_dll_service.py index a4b51b3..6e2190d 100644 --- a/GUI/src/funcs/sync_dll_service.py +++ b/GUI/src/funcs/sync_dll_service.py @@ -12,7 +12,7 @@ def __init__(self) -> None: self.__magnetDll:ctypes.CDLL = None def LoadMagnetDll(self) -> bool: - """ Dll dosyasının varlığını kontrol et """ + """ Check for exist of dll file""" if os.path.exists(self._dllPath): return True @@ -20,7 +20,7 @@ def LoadMagnetDll(self) -> bool: return False def ManageDllStarted(self): - """ Server'i Başlat """ + """ Start to server""" try: self.__magnetDll = ctypes.CDLL(name=self._dllPath) except FileNotFoundError: @@ -30,10 +30,11 @@ def ManageDllStarted(self): self.__magnetDll.StartServer() def ManageDllFinished(self): + "Stop to server" self.__magnetDll.CloseServer() def SelectSendDllFilePath(self, sendListWidget: SyncListWidget): - """ DOSYALARI GÖNDER """ + """ Files send """ file_info_list = [] for i in range(sendListWidget.count()): @@ -56,18 +57,17 @@ def HandleFileTransfer(cls): return cls.__magnetDll.HandleFileTransfer() def GetCurrentDownloadFileSize(self) -> int: - """ şuan indirilen dosyanin boyutu (byte)""" + """ Size of the currently downloaded file (bytes)""" return self.__magnetDll.GetCurrentDownloadFileSize() def GetCurrentTotalDownloadFileSize(self) -> int: - """ şuan indirilecek dosyanin toplam boyutu (byte)""" + """ Total size the file to will download now (byte)""" return self.__magnetDll.GetCurrentTotalDownloadFileSize() def GetIsLoadFile(self): - """ şuan dosya indiriliyorsa True indirilmiyorsa False """ - + """ True if the file is downloading now, if not downloading file is False""" return self.__magnetDll.GetIsLoadFile() def GetIsDownloadCompletedFile(self) -> bool: @@ -75,7 +75,7 @@ def GetIsDownloadCompletedFile(self) -> bool: return self.__magnetDll.GetIsDownloadCompletedFile() def CanGetDeviceState(self) -> bool: - """dosya gönderiliyor mu gönderiliyorsa True gönderilmiyorsa False""" + """is the file sending,True if file sending if not send file is false.""" return self.__magnetDll.CanGetDeviceState() def GetDeviceBatteryStatus(self): @@ -86,9 +86,13 @@ def SetCanDeviceState(self,state: bool): def SetTransferMode(self,mode: bool): self.__magnetDll.SetTransferMode(mode) + + def GetonDisconnectDevice(self) -> bool: + "Is connection closed?" + return self.__magnetDll.GetonDisconnectDevice() def formatSize(self,byte) -> str: - """ Dosya boyutu birim dönüşümü """ + """ file size conversion""" if byte < 1024: return f"{byte} B" diff --git a/GUI/src/funcs/sync_workers.py b/GUI/src/funcs/sync_workers.py index 0f38417..fe2bfc0 100644 --- a/GUI/src/funcs/sync_workers.py +++ b/GUI/src/funcs/sync_workers.py @@ -45,7 +45,6 @@ def start(self) -> None: device_battery = int(device.attrib["device_battery"]) self.connectGetClientInfo.emit({"device_name":device_name,"device_battery":device_battery}) __DLL_SERVICE__.GetDeviceBatteryStatus() - except Exception as E: print("SyncClientInfoWorker ERROR: ",E) pass @@ -53,7 +52,6 @@ def start(self) -> None: finally: # print("SyncClientInfoWorker START") sleep(0.6) - sleep(0.6) # ##### ===> SyncClientInfoWorker # ##### ===> SyncFileSenderWorker @@ -189,4 +187,22 @@ def checkStart(self): self.checkNet.emit(False) finally: sleep(0.1) -# #### ====> SyncCheckNetWorker \ No newline at end of file +# #### ====> SyncCheckNetWorker + +# #### ====> SyncOnClientDisconnectWorker +class SyncOnClientDisconnectWorker(QObject): + onDisconnect = pyqtSignal(bool) + def __init__(self) -> None: + super().__init__() + self.__run = True + + def setRunState(self,newRunState: bool): + self.__run = newRunState + + def disconnectListen(self): + while self.__run: + state = __DLL_SERVICE__.GetonDisconnectDevice() + print("GetonDisconnectDevice -> ",state) + self.onDisconnect.emit(state) + sleep(0.6) +# #### ====> SyncOnClientDisconnectWorker \ No newline at end of file diff --git a/GUI/src/pages/sync_server_page.py b/GUI/src/pages/sync_server_page.py index 60bdeac..964f1a7 100644 --- a/GUI/src/pages/sync_server_page.py +++ b/GUI/src/pages/sync_server_page.py @@ -12,6 +12,7 @@ from src.funcs.sync_workers import SyncProcessRunWorker from src.funcs.sync_workers import SyncFileDownloadWorker from src.funcs.sync_workers import SyncLoadFileListener +from src.funcs.sync_workers import SyncOnClientDisconnectWorker from src.pages.sync_load_page import LoadWindow from src.widgets import SyncListWidget from src.widgets import SyncTableWidget @@ -936,6 +937,19 @@ def connectedButtons(self): self.getInfoWorker.connectGetClientInfo.connect(self.getClientInfo) self.frame_top_btns.mouseDoubleClickEvent = self.doubleClickMaximizeRestore + self.getOnClientDisconnectWorker = SyncOnClientDisconnectWorker() + self.getOnClientDisconnectThread = QThread(self) + self.getOnClientDisconnectWorker.moveToThread(self.getOnClientDisconnectThread) + self.getOnClientDisconnectThread.started.connect(self.getOnClientDisconnectWorker.disconnectListen) + self.getOnClientDisconnectThread.start() + self.getOnClientDisconnectWorker.onDisconnect.connect(self.onClientDisconnect) + + @pyqtSlot(bool) + def onClientDisconnect(self,state:bool): + if state: + print("closed to mobile") + self.closeApplication() + @pyqtSlot(bool) def onAppIsBackground(self, isBackground: bool): if isBackground: @@ -960,6 +974,9 @@ def closeApplication(self): self.getInfoWorker.setRunState(False) self.getInfoThread.quit() self.getInfoThread.wait() + self.getOnClientDisconnectWorker.setRunState(False) + self.getOnClientDisconnectThread.quit() + self.getOnClientDisconnectThread.wait() if getattr(self,"downloadFileWorker",None): self.downloadFileWorker.setRunState(False) self.downloadFileThread.quit() diff --git a/GUI/src/service/src/sync_service.cpp b/GUI/src/service/src/sync_service.cpp index b29f37c..919eb77 100644 --- a/GUI/src/service/src/sync_service.cpp +++ b/GUI/src/service/src/sync_service.cpp @@ -159,6 +159,8 @@ __SYNCPRIVATE void GetClientDevice(char* buffer) { } }catch(const std::exception& e){ std::cerr << "GetClientDevice -> " << e.what() << '\n'; + onDisconnect = true; + } } @@ -376,7 +378,13 @@ __SYNCPUBLIC void GetDeviceBatteryStatusPerSecond(){ __SYNCPUBLIC void CloseServer() { Sleep(100); - if(!mobileAppDisconnect) send(ClientSocket, DISCONNECT, strlen(DISCONNECT), 0); + if(!mobileAppDisconnect){ + send(ClientSocket, DISCONNECT, strlen(DISCONNECT), 0); + std::cout << "masaustunden kapandi" << std::endl; + }else{ + std::cout << "mobilden kapandi" << std::endl; + } + closesocket(ClientSocket); closesocket(ServerSocket); WSACleanup(); @@ -385,3 +393,4 @@ __SYNCPUBLIC void CloseServer() { onDisconnect = true; exit(0); } + diff --git a/GUI/src/service/src/sync_service.hpp b/GUI/src/service/src/sync_service.hpp index 230ccf4..6b5093d 100644 --- a/GUI/src/service/src/sync_service.hpp +++ b/GUI/src/service/src/sync_service.hpp @@ -10,7 +10,7 @@ #include #include -#define __SYNCPUBLIC extern "C" __declspec(dllexport) +#define __SYNCPUBLIC extern "C" __declspec(dllexport) #define __SYNCPRIVATE #define SINGLE "SINGLE" #define DECLINE "DECLINE" @@ -73,5 +73,6 @@ __SYNCPUBLIC inline bool GetSendFinishedState() { return sendFinished; } __SYNCPUBLIC inline bool GetIsLoadFile() { return isLoadFile; } __SYNCPUBLIC inline bool GetIsDownloadCompletedFile() { return isDownloadCompleted; } __SYNCPUBLIC inline bool CanGetDeviceState() { return isCanGetDeviceState; } +__SYNCPUBLIC inline bool GetonDisconnectDevice() { return onDisconnect; } #endif \ No newline at end of file diff --git a/GUI/sync_service.dll b/GUI/sync_service.dll index 4a7ef6830b00f5db4a38c070203030d993bd14b8..ae6e4faf9e69c706986b13fffb8949ae77b292ff 100644 GIT binary patch delta 50786 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πbT@k*GR}QC0i7+t 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 delta 50554 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