/**
 *  Auto created by ApiCreator Tool.
 *  SVN Rev: 103366, Author: 32725, Date: 2018-07-18 10:43:06 +0800 
 *  SHOULD NOT MODIFY!
 */
 
#ifndef _LC_OPENAPI_CLIENT_ShareDeviceList_H_
#define _LC_OPENAPI_CLIENT_ShareDeviceList_H_

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

/** DESCRIPTION: 
�桁���篋���莅上���茵�

 */

namespace Dahua{
namespace LCOpenApi{
	using namespace std;
	class ShareDeviceListRequest : public LCOpenApiRequest
	{
	public:
		class ShareDeviceListRequestData
		{
		public:
			ShareDeviceListRequestData();
			~ShareDeviceListRequestData();
			
		public:
			/** 膃����≦�亥�����,�医����取���岩減鐚�[1,N](N筝堺③�贋�逸�筝�����鐚�����),��罨≧�ヨ�筝���100 */
			string queryRange;
		public:
			/** [cstr]shareDeviceList */
			#define _STATIC_ShareDeviceListRequestData_method "shareDeviceList"
			string method;
		public:
			/** ����token(userToken��accessToken) */
			string token;

		};
	public:
		ShareDeviceListRequest();
		~ShareDeviceListRequest();
	public:
		virtual int build();
	public:
		ShareDeviceListRequestData data;
	};

	
	typedef typename ShareDeviceListRequest::ShareDeviceListRequestData ShareDeviceListRequestData;


	class ShareDeviceListResponse : public LCOpenApiResponse
	{
	public:
		class ShareDeviceListResponseData
		{
		public:
			ShareDeviceListResponseData();
			~ShareDeviceListResponseData();
			
		public:
			/** [int]綵����桁���莅上��紙�� */
			int count;
		public:
			/** define a list with struct of ShareDeviceListResponseData_DevicesElement */
			class ShareDeviceListResponseData_DevicesElement : public LCOpenApiBase
			{
			public:
				ShareDeviceListResponseData_DevicesElement();
				~ShareDeviceListResponseData_DevicesElement();
			public:
				/** 莅上�����篆≧���lechange-箙�罘�莅上�鐚�general-�����紊� */
				string brand;
			public:
				/** 莅上��榊鎖膠糸��鐚�莚�����緇��莅上��顒� */
				string baseline;
			public:
				/** define a list with struct of ShareDeviceListResponseData_DevicesElement_ChannelsElement */
				class ShareDeviceListResponseData_DevicesElement_ChannelsElement : public LCOpenApiBase
				{
				public:
					ShareDeviceListResponseData_DevicesElement_ChannelsElement();
					~ShareDeviceListResponseData_DevicesElement_ChannelsElement();
				public:
					/** 膽��ュ��URL */
					string channelPicUrl;
				public:
					/** [int]����ID */
					int channelId;
				public:
					/** [bool]������鎖 */
					bool channelOnline;
				public:
					/** ������腱� */
					string channelName;
				};
			public:
				LCOpenApiVector<ShareDeviceListResponseData_DevicesElement_ChannelsElement> channels;
			public:
				/** [O]莅上����� */
				string deviceModel;
			public:
				/** [int]��絲�罔≦� */
				int encryptMode;
			public:
				/** [bool]�������亥�����札��膾� */
				bool canBeUpgrade;
			public:
				/** 莅上�ID */
				string deviceId;
			public:
				/** [O]莅上��遵��蕁刻����潔��綣�鐚�絋�AlarmMD,AudioTalk,AlarmPIR,WLAN,VVP2P鐚�莚��箙�罘�綣��上抗�域�紊��顒� */
				string ability;
			public:
				/** [int]p2p��羌�腴�� */
				int streamPort;
			public:
				/** 顒上��脂�����桁�� */
				string devLoginName;
			public:
				/** 莅上���腱� */
				string name;
			public:
				/** [int]綵����倶��鐚�0-胼紫鎖鐚�1-��鎖鐚�3-��膾т賢 */
				int status;
			public:
				/** 莅上��脂��絲��� */
				string devLoginPassword;
			public:
				/** 莅上���膠誌�NVR/DVR/HCVR/IPC/SD/IHG/ARC) */
				string deviceCatalog;
			public:
				/** 莅上�莉�散����� */
				string version;
			};
		public:
			LCOpenApiVector<ShareDeviceListResponseData_DevicesElement> devices;

		};
	public:
		ShareDeviceListResponse();
		~ShareDeviceListResponse();
	public:
		virtual int parse();
	public:
		ShareDeviceListResponseData data;
	};

	
	typedef typename ShareDeviceListResponse::ShareDeviceListResponseData ShareDeviceListResponseData;
	typedef typename ShareDeviceListResponse::ShareDeviceListResponseData::ShareDeviceListResponseData_DevicesElement ShareDeviceListResponseData_DevicesElement;
	typedef typename ShareDeviceListResponse::ShareDeviceListResponseData::ShareDeviceListResponseData_DevicesElement::ShareDeviceListResponseData_DevicesElement_ChannelsElement ShareDeviceListResponseData_DevicesElement_ChannelsElement;

}
}

#endif