클라이언트 요청 처리 헤더 파일 더 자세히 ...
#include <string>
#include <atomic>
#include <thread>
#include "json.hpp"
#include "ssl.hpp"
#include "db_management.hpp"
타입정의 | |
using | json = nlohmann::json |
함수 | |
void | handle_detection_request (SSL *ssl, const json &received_json, SQLite::Database &db, std::mutex &db_mutex) |
감지 데이터 조회 요청을 처리합니다. (request_id == 1) | |
void | handle_line_insert_request (SSL *ssl, const json &received_json, SQLite::Database &db, std::mutex &db_mutex) |
감지선 좌표값 삽입 요청을 처리합니다. (request_id == 2) | |
void | handle_line_select_all_request (SSL *ssl, const json &received_json, SQLite::Database &db, std::mutex &db_mutex) |
감지선 전체 조회 요청을 처리합니다. (request_id == 3) | |
void | handle_line_delete_all_request (SSL *ssl, const json &received_json, SQLite::Database &db, std::mutex &db_mutex) |
감지선, 기준선, 수직선 전체 삭제 요청을 처리합니다. (request_id == 4) | |
void | handle_baseline_insert_request (SSL *ssl, const json &received_json, SQLite::Database &db, std::mutex &db_mutex) |
도로 기준선 삽입 요청을 처리합니다. (request_id == 5) | |
void | handle_vertical_line_insert_request (SSL *ssl, const json &received_json, SQLite::Database &db, std::mutex &db_mutex) |
감지선의 수직선 방정식 삽입 요청을 처리합니다. (request_id == 6) | |
void | handle_baseline_select_all_request (SSL *ssl, const json &received_json, SQLite::Database &db, std::mutex &db_mutex) |
도로 기준선 전체 조회 요청을 처리합니다. (request_id == 7) | |
void | handle_login_step1_request (SSL *ssl, const json &received_json, SQLite::Database &db, std::mutex &db_mutex) |
1단계 로그인 요청(ID/PW 검증)을 처리합니다. (request_id == 8) | |
void | handle_login_step2_request (SSL *ssl, const json &received_json, SQLite::Database &db, std::mutex &db_mutex) |
2단계 로그인 요청(OTP/복구코드 검증)을 처리합니다. (request_id == 22) | |
void | handle_signup_request (SSL *ssl, const json &received_json, SQLite::Database &db, std::mutex &db_mutex) |
회원가입 요청을 처리합니다. (request_id == 9) | |
void | handle_bbox_start_request (SSL *ssl, std::atomic< bool > &bbox_push_enabled, std::thread &push_thread, std::thread &metadata_thread) |
BBox push 시작 요청을 처리합니다. (request_id == 31) | |
void | handle_bbox_stop_request (SSL *ssl, std::atomic< bool > &bbox_push_enabled, std::thread &push_thread, std::thread &metadata_thread) |
BBox push 중지 요청을 처리합니다. (request_id == 32) | |
void | send_json_response (SSL *ssl, const json &response) |
JSON 객체를 직렬화하여 SSL을 통해 클라이언트로 전송합니다. | |
클라이언트 요청 처리 헤더 파일
이 파일은 클라이언트 요청을 처리하는 함수들의 선언을 포함합니다. 데이터베이스 접근, JSON 응답 생성, SSL 통신 등을 지원합니다.
void handle_baseline_insert_request | ( | SSL * | ssl, |
const json & | received_json, | ||
SQLite::Database & | db, | ||
std::mutex & | db_mutex | ||
) |
도로 기준선 삽입 요청을 처리합니다. (request_id == 5)
ssl | OpenSSL SSL 포인터 |
received_json | 수신된 JSON 요청 |
db | SQLite 데이터베이스 참조 |
db_mutex | DB 접근 뮤텍스 |
void handle_baseline_select_all_request | ( | SSL * | ssl, |
const json & | received_json, | ||
SQLite::Database & | db, | ||
std::mutex & | db_mutex | ||
) |
도로 기준선 전체 조회 요청을 처리합니다. (request_id == 7)
ssl | OpenSSL SSL 포인터 |
received_json | 수신된 JSON 요청 |
db | SQLite 데이터베이스 참조 |
db_mutex | DB 접근 뮤텍스 |
void handle_bbox_start_request | ( | SSL * | ssl, |
std::atomic< bool > & | bbox_push_enabled, | ||
std::thread & | push_thread, | ||
std::thread & | metadata_thread | ||
) |
BBox push 시작 요청을 처리합니다. (request_id == 31)
ssl | OpenSSL SSL 포인터 |
bbox_push_enabled | BBox push 활성화 플래그 |
push_thread | BBox push 스레드 참조 |
metadata_thread | 메타데이터 파싱 스레드 참조 |
void handle_bbox_stop_request | ( | SSL * | ssl, |
std::atomic< bool > & | bbox_push_enabled, | ||
std::thread & | push_thread, | ||
std::thread & | metadata_thread | ||
) |
BBox push 중지 요청을 처리합니다. (request_id == 32)
ssl | OpenSSL SSL 포인터 |
bbox_push_enabled | BBox push 활성화 플래그 |
push_thread | BBox push 스레드 참조 |
metadata_thread | 메타데이터 파싱 스레드 참조 |
void handle_detection_request | ( | SSL * | ssl, |
const json & | received_json, | ||
SQLite::Database & | db, | ||
std::mutex & | db_mutex | ||
) |
감지 데이터 조회 요청을 처리합니다. (request_id == 1)
ssl | OpenSSL SSL 포인터 |
received_json | 수신된 JSON 요청 |
db | SQLite 데이터베이스 참조 |
db_mutex | DB 접근 뮤텍스 |
void handle_line_delete_all_request | ( | SSL * | ssl, |
const json & | received_json, | ||
SQLite::Database & | db, | ||
std::mutex & | db_mutex | ||
) |
감지선, 기준선, 수직선 전체 삭제 요청을 처리합니다. (request_id == 4)
ssl | OpenSSL SSL 포인터 |
received_json | 수신된 JSON 요청 |
db | SQLite 데이터베이스 참조 |
db_mutex | DB 접근 뮤텍스 |
void handle_line_insert_request | ( | SSL * | ssl, |
const json & | received_json, | ||
SQLite::Database & | db, | ||
std::mutex & | db_mutex | ||
) |
감지선 좌표값 삽입 요청을 처리합니다. (request_id == 2)
ssl | OpenSSL SSL 포인터 |
received_json | 수신된 JSON 요청 |
db | SQLite 데이터베이스 참조 |
db_mutex | DB 접근 뮤텍스 |
void handle_line_select_all_request | ( | SSL * | ssl, |
const json & | received_json, | ||
SQLite::Database & | db, | ||
std::mutex & | db_mutex | ||
) |
감지선 전체 조회 요청을 처리합니다. (request_id == 3)
ssl | OpenSSL SSL 포인터 |
received_json | 수신된 JSON 요청 |
db | SQLite 데이터베이스 참조 |
db_mutex | DB 접근 뮤텍스 |
void handle_login_step1_request | ( | SSL * | ssl, |
const json & | received_json, | ||
SQLite::Database & | db, | ||
std::mutex & | db_mutex | ||
) |
1단계 로그인 요청(ID/PW 검증)을 처리합니다. (request_id == 8)
ssl | OpenSSL SSL 포인터 |
received_json | 수신된 JSON 요청 |
db | SQLite 데이터베이스 참조 |
db_mutex | DB 접근 뮤텍스 |
void handle_login_step2_request | ( | SSL * | ssl, |
const json & | received_json, | ||
SQLite::Database & | db, | ||
std::mutex & | db_mutex | ||
) |
2단계 로그인 요청(OTP/복구코드 검증)을 처리합니다. (request_id == 22)
ssl | OpenSSL SSL 포인터 |
received_json | 수신된 JSON 요청 |
db | SQLite 데이터베이스 참조 |
db_mutex | DB 접근 뮤텍스 |
void handle_signup_request | ( | SSL * | ssl, |
const json & | received_json, | ||
SQLite::Database & | db, | ||
std::mutex & | db_mutex | ||
) |
회원가입 요청을 처리합니다. (request_id == 9)
ssl | OpenSSL SSL 포인터 |
received_json | 수신된 JSON 요청 |
db | SQLite 데이터베이스 참조 |
db_mutex | DB 접근 뮤텍스 |
void handle_vertical_line_insert_request | ( | SSL * | ssl, |
const json & | received_json, | ||
SQLite::Database & | db, | ||
std::mutex & | db_mutex | ||
) |
감지선의 수직선 방정식 삽입 요청을 처리합니다. (request_id == 6)
ssl | OpenSSL SSL 포인터 |
received_json | 수신된 JSON 요청 |
db | SQLite 데이터베이스 참조 |
db_mutex | DB 접근 뮤텍스 |
void send_json_response | ( | SSL * | ssl, |
const json & | response | ||
) |
JSON 객체를 직렬화하여 SSL을 통해 클라이언트로 전송합니다.
ssl | OpenSSL SSL 포인터 |
response | 전송할 JSON 객체 |
이 함수는 JSON 객체를 문자열로 변환한 후, SSL을 통해 클라이언트로 전송합니다.
ssl | OpenSSL SSL 포인터 |
response | 전송할 JSON 객체 |