76 lines
1.6 KiB
C++
76 lines
1.6 KiB
C++
/****************************************************************************
|
|
RCDB 로 부터 전달받은 content 정보 조회를 담당하는 class
|
|
-----------------------------------------
|
|
|
|
begin : 2021/03/15
|
|
copyright : (C) 2005 Solbox Inc.
|
|
author : huibong
|
|
email : huibong@solbox.com
|
|
version : 3.5
|
|
|
|
CopyRight(C) 2005 Solbox Inc. All Rights reserved.
|
|
Redistribution and use in source and binary forms, with or with out
|
|
modification, are not permitted in outside of Solbox Inc.
|
|
*****************************************************************************/
|
|
|
|
|
|
#ifndef __CONTENT_SELECT_H__
|
|
#define __CONTENT_SELECT_H__
|
|
|
|
|
|
#include "Database.h"
|
|
#include "RcdbInfo.h"
|
|
|
|
|
|
#include <vector>
|
|
|
|
|
|
// host, size, filename_hash 정보 저장을 위한 구조체
|
|
struct HostSizeFilenameInfo {
|
|
|
|
std::string szHost;
|
|
unsigned long long uContentLength;
|
|
std::string szFilename;
|
|
|
|
};
|
|
|
|
// RCDB 에서 Content 정보 조회 처리를 담당하는 class.
|
|
class CContentSelect
|
|
{
|
|
public:
|
|
|
|
CContentSelect();
|
|
|
|
~CContentSelect();
|
|
|
|
// 초기화 처리
|
|
bool Start();
|
|
|
|
// 최종 정리시 호출
|
|
void Exit();
|
|
|
|
|
|
private:
|
|
|
|
// RCDB 연결 정보 관리 객체
|
|
CRcdbInfo m_rcdbInfo;
|
|
|
|
// RCDB 연결 객체
|
|
DataBase m_rcdb;
|
|
|
|
// log 기록시 사용할 thread id 정보
|
|
long m_lThreadId;
|
|
|
|
|
|
public:
|
|
|
|
// RCDB 로 부터 uri 에 해당하는 hostname, content_length, filename_hash 정보를 반환.
|
|
bool GetHostSizeFilename( const std::string & szServiceSeq, const bool & bUriIgnoreCase, const std::string & szUri
|
|
, std::string& szErrorMessage, std::vector<struct HostSizeFilenameInfo> & vecResult );
|
|
|
|
|
|
};
|
|
|
|
#endif /* __CONTENT_SELECT_H__ */
|
|
|