/****************************************************************************
				rc_apid header 
				-----------------------------------------

	begin      : 2021/03/14
	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 __SERVICE_INFO_H__
#define __SERVICE_INFO_H__


#include <pthread.h>

#include <string>


//  Service 정보를 cache 해 놓는 class
// - RCDB 에서 service 정보를 주기적으로 가져와 저장해 놓기 위한 class
// - 당장 사용 빈도가 높지 않아... 이스트소프트는 하드코딩 해 놓음.
// - 향후 확장 대비하여 클래스 사전 분리.
class CServiceInfo
{

	public:

		// 생성자.
		CServiceInfo();

		// 소멸자
		~CServiceInfo();


		// 내부 job thread 기동
		bool Start( void );


		// 서비스 정보 전달
		// - [IN ] szService : service id
		// - [OUT] szServiceSeq : Service sequence number
		// - [OUT] bUriIgnoreCase : 대소문자 무시 여부, true: 대소문자 무시, false: 대소문자 구분
		bool GetServiceInfo( const std::string & szService, std::string & szServiceSeq, bool & bUriIgnoreCase );


	private:

		// thread handle
		pthread_t m_threadHandle;

};

#endif /* __SERVICE_INFO_H__ */

