Files
IM/MS/mmm/mapping.cpp
2023-05-03 19:09:14 +08:00

39 lines
1.1 KiB
C++

//
// Created by dongl on 23-4-23.
//
#include "mapping.h"
#include "SimpleIni.h"
#include "EnumMapping.h"
#include <fstream>
std::map<mp::MP_TYPE, handler*> mapping::map;
mapping::mapping() {
if (map.empty()) {
// CSimpleIniA ini;
// ini.SetUnicode();
// ini.LoadFile("/home/dongl/code/网络编程/IMS/config/db.ini");
// auto key_value = ini.GetSection("server-mapping");
auto userController = new UserController();
map.insert( std::pair<mp::MP_TYPE, handler*>(mp::MP_REQUEST_LOGIN, userController));
map.insert( std::pair<mp::MP_TYPE, handler*>(mp::MP_REQUEST_REGISTER, userController));
map.insert( std::pair<mp::MP_TYPE, handler*>(mp::MP_REQUEST_LOGOUT, userController));
}
}
void mapping::run(const mp::MP_TYPE mpTYpe, std::shared_ptr<agreement_request>& request, std::shared_ptr<agreement_response>& response) {
mapping();
printf("%s\n", myenumToString(mpTYpe));
// 取出需要的执行对象
auto fun = map.find(mpTYpe)->second;
// 开始执行 请求
fun->run(request, response);
// 发送 响应
handler::resp(request, response);
}