libcurl을 사용한 카메라 통신 헤더 파일 더 자세히 ...
#include <curl/curl.h>
#include <iostream>
#include <string>
#include "json.hpp"
#include "db_management.hpp"
#include "config_manager.hpp"
타입정의 | |
using | json = nlohmann::json |
함수 | |
struct curl_slist * | setup_common_headers (CURL *curl_handle) |
공통 헤더를 설정하는 함수 | |
size_t | WriteCallback (void *contents, size_t size, size_t nmemb, void *userp) |
libcurl의 응답 데이터를 저장하는 콜백 함수 | |
string | getLines () |
라인 크로싱 설정 정보를 GET 요청으로 받아옵니다. | |
string | putLines (CrossLine crossLine) |
라인 크로싱 설정 정보를 PUT 요청으로 서버에 전송합니다. | |
string | deleteLines (int index) |
지정한 인덱스의 라인 크로싱 설정을 DELETE 요청으로 삭제합니다. | |
libcurl을 사용한 카메라 통신 헤더 파일
이 파일은 카메라와의 HTTP 통신을 처리하기 위한 함수와 구조체의 선언을 포함합니다.
string deleteLines | ( | int | index | ) |
지정한 인덱스의 라인 크로싱 설정을 DELETE 요청으로 삭제합니다.
index | 삭제할 라인 인덱스 |
string getLines | ( | ) |
라인 크로싱 설정 정보를 GET 요청으로 받아옵니다.
string putLines | ( | CrossLine | crossLine | ) |
라인 크로싱 설정 정보를 PUT 요청으로 서버에 전송합니다.
crossLine | 전송할 라인 정보 구조체 |
struct curl_slist * setup_common_headers | ( | CURL * | curl_handle | ) |
공통 헤더를 설정하는 함수
이 함수는 libcurl 요청에 필요한 공통 헤더를 설정합니다.
curl_handle | libcurl 핸들 |
size_t WriteCallback | ( | void * | contents, |
size_t | size, | ||
size_t | nmemb, | ||
void * | userp | ||
) |
libcurl의 응답 데이터를 저장하는 콜백 함수
contents | 수신 데이터 포인터 |
size | 데이터 단위 크기 |
nmemb | 데이터 단위 개수 |
userp | 사용자 정의 포인터 (std::string*) |
libcurl은 데이터를 작은 청크로 나눠서 이 함수를 여러 번 호출합니다. userp 인자는 CURLOPT_WRITEDATA로 설정한 포인터를 받습니다.
contents | 수신 데이터 포인터 |
size | 데이터 단위 크기 |
nmemb | 데이터 단위 개수 |
userp | 사용자 정의 포인터 (std::string*) |