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