/**
 *  Auto created by ApiCreator Tool.
 *  SVN Rev: 79835, Author: 32725, Date: 2017-11-10 11:03:30 +0800 
 *  SHOULD NOT MODIFY!
 */
 
#ifndef _LC_OPENAPI_CLIENT_RoleList_H_
#define _LC_OPENAPI_CLIENT_RoleList_H_

#include "LCOpenApiDefine.h"
#include "LCOpenApiRequest.h"
#include "LCOpenApiResponse.h"

/** DESCRIPTION: 
�桁�茹��峨��茵�
 */

namespace Dahua{
namespace LCOpenApi{
	using namespace std;
	class RoleListRequest : public LCOpenApiRequest
	{
	public:
		class RoleListRequestData
		{
		public:
			RoleListRequestData();
			~RoleListRequestData();
			
		public:
			/** [int]��荀��ョ����紊ф�≧�逸�筝�紊т�50 */
			int count;
		public:
			/** [long]筝�筝�筝����id,�ヨ�篁����医�紮��ワ�紂�-1 */
			int64 nextRoleId;
		public:
			/** ����token(userToken��accessToken) */
			string token;
		public:
			/** [cstr]roleList */
			#define _STATIC_RoleListRequestData_method "roleList"
			string method;

		};
	public:
		RoleListRequest();
		~RoleListRequest();
	public:
		virtual int build();
	public:
		RoleListRequestData data;
	};

	
	typedef typename RoleListRequest::RoleListRequestData RoleListRequestData;


	class RoleListResponse : public LCOpenApiResponse
	{
	public:
		class RoleListResponseData
		{
		public:
			RoleListResponseData();
			~RoleListResponseData();
			
		public:
			/** define a list with struct of RoleListResponseData_RolesElement */
			class RoleListResponseData_RolesElement : public LCOpenApiBase
			{
			public:
				RoleListResponseData_RolesElement();
				~RoleListResponseData_RolesElement();
			public:
				/** [int]����減藥�莅よ��駕�0 - ����茹��駕�1 - 藥�莅よ��� */
				int isDefault;
			public:
				/** [long]茹���Id */
				int64 roleId;
			public:
				/** 茹��峨��腱� */
				string roleName;
			public:
				/** ������茵� */
				string authFunctions;
			};
		public:
			LCOpenApiVector<RoleListResponseData_RolesElement> roles;
		public:
			/** [long]筝�筝�筝����ID */
			int64 nextRoleId;

		};
	public:
		RoleListResponse();
		~RoleListResponse();
	public:
		virtual int parse();
	public:
		RoleListResponseData data;
	};

	
	typedef typename RoleListResponse::RoleListResponseData RoleListResponseData;
	typedef typename RoleListResponse::RoleListResponseData::RoleListResponseData_RolesElement RoleListResponseData_RolesElement;

}
}

#endif