From 407bf8847c2ed391833909233c95faf66cda195b Mon Sep 17 00:00:00 2001
From: wangzhengquan <wangzhengquan85@126.com>
Date: 星期五, 12 六月 2020 10:01:26 +0800
Subject: [PATCH] add factory

---
 service/request_handler.c |   15 +++++++--------
 1 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/service/request_handler.c b/service/request_handler.c
index 27f2132..592bcd7 100644
--- a/service/request_handler.c
+++ b/service/request_handler.c
@@ -1,4 +1,5 @@
 #include "request_handler.h"
+#include "netdisk_factory.h"
 
 extern SafeQueue<Netdisk_DownloadRequest> task_queue;
 
@@ -34,10 +35,10 @@
   if( userDeviceIter != userDeviceMap.end() ) {
      netdisk = userDeviceIter->second;
   }
+
   if (netdisk == NULL) {
-    if(loginInfo.deviceType == "HC") {
-      // std::cout << "new HCNetdisk" << std::endl;
-      netdisk = new HCNetdisk();
+    netdisk = NetdiskFacotory::create(loginInfo.deviceType);
+    if(netdisk != NULL) {
       userDeviceMap.insert({loginInfo.loginUUID, netdisk});
     } else {
       err_msg(0, "鏃犳硶璇嗗埆鐨勮澶囩被鍨嬶細 %s", loginInfo.deviceType.c_str());
@@ -47,7 +48,7 @@
   code = netdisk->login(loginInfo);
   if (code == 0) {
     loginStore.saveLoginInfo(loginInfo);
-    std::cout << "璧峰閫氶亾:" << netdisk->getStartChannel() << ", 鏈�澶ч�氶亾鍙凤細" << netdisk->getMaxChannels() << std::endl;
+    std::cout << "璧峰閫氶亾:" << netdisk->getDeviceInfo().startChannel << ", 鏈�澶ч�氶亾鍙凤細" << netdisk->getDeviceInfo().maxChannels << std::endl;
   }
  
 
@@ -150,13 +151,11 @@
   Netdisk_LoginInfo loginInfo = loginStore.getLoginInfo(drequest.loginUUID);
   if (netdisk == NULL) {
    
-    if(loginInfo.deviceType == "HC") {
-      // std::cout << "new HCNetdisk" << std::endl;
-      netdisk = new HCNetdisk();
+    netdisk = NetdiskFacotory::create(loginInfo.deviceType);
+    if(netdisk != NULL) {
       userDeviceMap.insert({loginInfo.loginUUID, netdisk});
     } else {
       err_msg(0, "鏃犳硶璇嗗埆鐨勮澶囩被鍨嬶細 %s", loginInfo.deviceType.c_str());
-
     }
   }
 

--
Gitblit v1.8.0