Commit dd731eff3115a6b3875c53e674cb84b9dfb88762

Authored by Zou XiKun
1 parent e0b055a2

增加†产品id 授权

src/left_over/RegionSurveillanceProcess.h
@@ -54,8 +54,10 @@ public: @@ -54,8 +54,10 @@ public:
54 double scale; 54 double scale;
55 //int long_side; 55 //int long_side;
56 //int short_side; 56 //int short_side;
  57 + rs_auth_type type;
57 std::atomic<bool> thrd_run; 58 std::atomic<bool> thrd_run;
58 - //boost::thread thrd; 59 + int licence_status = -1;
  60 + int thrd_status = -1;
59 long frame_num = 0; 61 long frame_num = 0;
60 bool init_flag = false; 62 bool init_flag = false;
61 sy_rect rect[MAXVERTEXNUM]; //ÓÐÐ§ÇøÓò 63 sy_rect rect[MAXVERTEXNUM]; //ÓÐÐ§ÇøÓò
src/left_over/ms_region_surveilance.cpp
@@ -6,9 +6,44 @@ @@ -6,9 +6,44 @@
6 #include <chrono> 6 #include <chrono>
7 #include "sy_errorinfo.h" 7 #include "sy_errorinfo.h"
8 #include <opencv2/opencv.hpp> 8 #include <opencv2/opencv.hpp>
  9 +#include "authority.h"
9 //#define productSN "D92CBC0CFBA54BD3846DEBD4A9D36FC1" 10 //#define productSN "D92CBC0CFBA54BD3846DEBD4A9D36FC1"
10 #define productSN "B5895C36B5304C9A9FE665A372BFFDA2" 11 #define productSN "B5895C36B5304C9A9FE665A372BFFDA2"
11 12
  13 +
  14 +//void check_thread(RegionSurveillanceProcess* &handle, char* productsn)
  15 +//{
  16 +// int res = -1;
  17 +//#ifndef _MSC_VER
  18 +// char wtime[15];
  19 +// memset(wtime, 0, 15);
  20 +// char * time = wtime;
  21 +//#endif
  22 +// while (1)
  23 +// {
  24 +// //printf("xxx check status on process...\n");
  25 +//#ifdef _MSC_VER
  26 +// res = sy_licence(productsn);
  27 +//#else
  28 +// res = sy_licence(productsn, &time);
  29 +// //printf("--------------wtime in thread: %s, status: %d\n", wtime, licence_status);
  30 +//#endif
  31 +// if (res < 0)
  32 +// {
  33 +// handle->licence_status = handle->licence_status - 1;
  34 +// }
  35 +// else
  36 +// {
  37 +// if (handle->licence_status < 0)
  38 +// {
  39 +// handle->licence_status = 0;
  40 +// }
  41 +// }
  42 +// boost::this_thread::sleep(boost::posix_time::seconds(300)); //5min
  43 +// }
  44 +//}
  45 +
  46 +
12 //void check_thread(RegionSurveillanceProcess* handle) 47 //void check_thread(RegionSurveillanceProcess* handle)
13 //{ 48 //{
14 // int res = -1; 49 // int res = -1;
@@ -82,32 +117,42 @@ inline bool timecheck() @@ -82,32 +117,42 @@ inline bool timecheck()
82 117
83 int rs_init(void **handle, rs_param param) 118 int rs_init(void **handle, rs_param param)
84 { 119 {
85 - int ret = SUCCESS; 120 +
86 RegionSurveillanceProcess* regin = new IRegionSurveillanceCpu; 121 RegionSurveillanceProcess* regin = new IRegionSurveillanceCpu;
  122 + regin->type = param.type;
  123 + int ret = SUCCESS;
87 bool auth_type = false; 124 bool auth_type = false;
88 - if (param.type == TIME)  
89 - {  
90 - auth_type = timecheck();  
91 - }  
92 - else 125 + if(param.type == PRODUCT_ID)
93 { 126 {
94 char uuid[36] = {}; 127 char uuid[36] = {};
95 FILE *Uuid = fopen("/proc/sys/kernel/random/uuid", "r"); 128 FILE *Uuid = fopen("/proc/sys/kernel/random/uuid", "r");
96 fgets(uuid, 36, Uuid); 129 fgets(uuid, 36, Uuid);
97 - //strcpy(uuid,"059bebb1-fca2-42e6-8cbd-6b3195641819");  
98 fclose(Uuid); 130 fclose(Uuid);
99 regin->auth = new CheckAuthor; 131 regin->auth = new CheckAuthor;
100 regin->auth->Init(param.auth.url, param.auth.port, uuid, productSN, 1); 132 regin->auth->Init(param.auth.url, param.auth.port, uuid, productSN, 1);
101 auth_type = regin->auth->GetAuthorStatus(); 133 auth_type = regin->auth->GetAuthorStatus();
102 } 134 }
  135 + if (param.type == TIME)
  136 + {
  137 +
  138 +#ifdef _MSC_VER
  139 + ret = sy_licence(productSN);
  140 +#else
  141 + char wtime[15];
  142 + memset(wtime, 0, 15);
  143 + char * time = wtime;
  144 + ret = sy_licence(productSN, &time)
  145 +#endif
  146 + if (ret == SUCCESS)
  147 + auth_type = true;
  148 + else
  149 + auth_type = false;
  150 +
  151 + }
103 if (auth_type) 152 if (auth_type)
104 { 153 {
105 regin->frame_num = param.frame_num; 154 regin->frame_num = param.frame_num;
106 - if (!regin)  
107 - {  
108 - printf("model initial failed \n");  
109 - return -1;  
110 - } 155 +
111 156
112 regin->scale = param.scale; 157 regin->scale = param.scale;
113 regin->rect_num = param.rect_num; //ÓÐÐ§ÇøÓòÊýÁ¿ 158 regin->rect_num = param.rect_num; //ÓÐÐ§ÇøÓòÊýÁ¿
@@ -186,18 +231,17 @@ int rs_init(void **handle, rs_param param) @@ -186,18 +231,17 @@ int rs_init(void **handle, rs_param param)
186 231
187 int rs_process(void *handle, sy_img img_data, rs_result *result) 232 int rs_process(void *handle, sy_img img_data, rs_result *result)
188 { 233 {
189 - RegionSurveillanceProcess* regin = (RegionSurveillanceProcess*)handle;  
190 - if (!regin) 234 + if (!handle)
191 { 235 {
192 printf("handle is NULL \n"); 236 printf("handle is NULL \n");
193 return -1; 237 return -1;
194 } 238 }
195 - if (regin->auth && 0 == regin->auth->GetAuthorStatus()) 239 + RegionSurveillanceProcess* regin = (RegionSurveillanceProcess*)handle;
  240 + if (regin->type == PRODUCT_ID && (regin->auth && 0 == regin->auth->GetAuthorStatus()))
196 { 241 {
197 printf("auth error \n"); 242 printf("auth error \n");
198 return -1; 243 return -1;
199 } 244 }
200 -  
201 region_info pRegionInfo; 245 region_info pRegionInfo;
202 pRegionInfo.alarm_info = 6; 246 pRegionInfo.alarm_info = 6;
203 pRegionInfo.frame_num = regin->frame_num; 247 pRegionInfo.frame_num = regin->frame_num;
@@ -339,7 +383,7 @@ void rs_release(void **handle) @@ -339,7 +383,7 @@ void rs_release(void **handle)
339 printf("handle is NULL \n"); 383 printf("handle is NULL \n");
340 return; 384 return;
341 } 385 }
342 - if (regin->auth) 386 + if (regin->type == PRODUCT_ID && regin->auth)
343 { 387 {
344 regin->auth->Uninit(); 388 regin->auth->Uninit();
345 delete regin->auth; 389 delete regin->auth;
@@ -350,6 +394,6 @@ void rs_release(void **handle) @@ -350,6 +394,6 @@ void rs_release(void **handle)
350 394
351 const char * rs_get_version() 395 const char * rs_get_version()
352 { 396 {
353 - return "left_over_det_version: v0.0.2.200402,5A72239196F54B678D311E7FC11849DC"; 397 + return "left_over_det_version: v0.0.3.201117,B5895C36B5304C9A9FE665A372BFFDA2";
354 } 398 }
355 399