/***************************************************************************
                SMS Sender Class
                -----------------------------------------
    begin      : 2010/05/19
    copyright  : (C) 2005 SolutionBox Inc.
    author     : Service 1 Team
    email      : svc1@solbox.com
    version    : 1.0

    CopyRight(C) 2005 SolutionBox Inc. All Rights reserved.
    Redistribution and use in source and binary forms, with or with out
    modification, are not permitted in outside of SolutionBox Inc.
***************************************************************************/

#ifndef __SMS_SENDER__
#define __SMS_SENDER__

#include <pthread.h>
#include <string>
#include "Logger.h"
#include "BaseSocket.h"

using namespace std;

/// @brief CSmsSender 
/// SmsSender는 지정된 포멧에 따라 php 웹 페이지를 호출한다.
/// 
class CSmsSender : public CBaseSocket
{
	public:
		/// @brief 생성자
		/// @param [in] szHost SMS 전송 장비 호스트
		/// @param [in] nPort  SMS 전송 장비 접근 Port
		/// @param [in] szPath SMS 전송 기능이 구현된 PHP 파일명.
		CSmsSender(const string& szHost, const int nPort, const string& szPath);

		~CSmsSender();

		/// @brief Init 함수 클래스 환경이 정상적인지를 검사한다.
		/// @return 성공: true, 실패: false
		bool Init();

		/// @brief PHP Web페이지를 통해 SMS발송 요청을 수행한다.
		/// @return 성공: true, 실패: false
		bool CallWebPage();
		bool SendToWebServ(const string& pszHost, const string& pszTime, const string& pszMsg);

	private:
		// 로깅 파일
		string PostDataEncode(const char *pszCommand, size_t length);
		string RemoveBlankSpace(const char* pszData, size_t nLength);

		string m_szHost;
		int  m_nPort;
		string m_szPath;
		string m_szMessage;
		string m_szGroupId;
};
#endif // __SMS_SENDER__
