#ifndef _JSONBUILDER_H_
#define _JSONBUILDER_H_

#include <rapidjson/document.h>
#include "jsonCommon.h"

namespace YA
{
	class jsonBuilder
	{
	private:
		/**
		* @brief
		加上版本信息函数。

		* @param  [out] rapidjson::Value& root  根jason对象\n
		* @param  [out] rapidjson::Document::AllocatorType& allocator  分配器\n

		* @return 无\n

		* @note

		* @warning

		* @bug

		*/
        void __AddVersion( rapidjson::Value& root, rapidjson::Document::AllocatorType& allocator );
	public:
		jsonBuilder();
		virtual ~jsonBuilder();
		/**
		* @brief
		生成登录jason函数。

		* @param  [in] const _JS_LOGIN_& Login  登录参数\n

		* @return 如果成功返回生成的json字符串,否则返回空字符串\n

		* @note

		* @warning

		* @bug

		*/
		std::string BuildLogin( const _JS_LOGIN_& Login );
		/**
		* @brief
		解析呼叫结构体函数。

		* @param  [in] const _JS_LOGIN_& Login  登录参数\n

		* @return 如果成功返回生成的jason字符串,否则返回空字符串\n

		* @note

		* @warning

		* @bug

		*/
		bool ParseCall_Card_Req( const std::string& JasonText, _JS_CALL_CARD_REQ_& CallCardReq, std::string& Error );
	};
}

#endif /* _JSONBUILDER_H_ */
