1 /*
2  * Copyright 2009-2017 Alibaba Cloud All rights reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef ALIBABACLOUD_OCR_MODEL_RECOGNIZEACCOUNTPAGERESULT_H_
18 #define ALIBABACLOUD_OCR_MODEL_RECOGNIZEACCOUNTPAGERESULT_H_
19 
20 #include <string>
21 #include <vector>
22 #include <utility>
23 #include <alibabacloud/core/ServiceResult.h>
24 #include <alibabacloud/ocr/OcrExport.h>
25 
26 namespace AlibabaCloud
27 {
28 	namespace Ocr
29 	{
30 		namespace Model
31 		{
32 			class ALIBABACLOUD_OCR_EXPORT RecognizeAccountPageResult : public ServiceResult
33 			{
34 			public:
35 				struct Data
36 				{
37 					struct TitleArea
38 					{
39 						int left;
40 						int top;
41 						int height;
42 						int width;
43 					};
44 					struct InvalidStampArea
45 					{
46 						int left;
47 						int top;
48 						int height;
49 						int width;
50 					};
51 					struct UndertakeStampArea
52 					{
53 						int left;
54 						int top;
55 						int height;
56 						int width;
57 					};
58 					struct RegisterStampArea
59 					{
60 						int left;
61 						int top;
62 						int height;
63 						int width;
64 					};
65 					struct OtherStampArea
66 					{
67 						int left;
68 						int top;
69 						int height;
70 						int width;
71 					};
72 					std::string nativePlace;
73 					std::vector<OtherStampArea> otherStampAreas;
74 					std::string birthPlace;
75 					std::vector<RegisterStampArea> registerStampAreas;
76 					std::string gender;
77 					std::vector<InvalidStampArea> invalidStampAreas;
78 					std::string nationality;
79 					std::string name;
80 					std::vector<UndertakeStampArea> undertakeStampAreas;
81 					std::string relation;
82 					float angle;
83 					TitleArea titleArea;
84 					std::string birthDate;
85 					std::string iDNumber;
86 				};
87 
88 
89 				RecognizeAccountPageResult();
90 				explicit RecognizeAccountPageResult(const std::string &payload);
91 				~RecognizeAccountPageResult();
92 				Data getData()const;
93 
94 			protected:
95 				void parse(const std::string &payload);
96 			private:
97 				Data data_;
98 
99 			};
100 		}
101 	}
102 }
103 #endif // !ALIBABACLOUD_OCR_MODEL_RECOGNIZEACCOUNTPAGERESULT_H_