|  | @@ -151,7 +151,6 @@ DWORD CSATDevices::WorkThread(LPVOID lpVoid)
 | 
	
		
			
				|  |  |  	return 0;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  void CSATDevices::AddReticleDevices(std::string ip)
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |  	STAndroid stAndroid;
 | 
	
	
		
			
				|  | @@ -164,6 +163,18 @@ void CSATDevices::AddReticleDevices(std::string ip)
 | 
	
		
			
				|  |  |  		s_vtAndroids.push_back(stAndroid);
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +void CSATDevices::AddVirtualDevices(std::string name)
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +	STAndroid stAndroid;
 | 
	
		
			
				|  |  | +	stAndroid.nType = Virtual;
 | 
	
		
			
				|  |  | +	stAndroid.strName = name;
 | 
	
		
			
				|  |  | +	stAndroid.ulOfflineTime = 0;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	AutoThreadSection ats(&s_ThreadSection);
 | 
	
		
			
				|  |  | +	if (!IsDeviceExist(stAndroid))
 | 
	
		
			
				|  |  | +		s_vtAndroids.push_back(stAndroid);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  bool CSATDevices::IsDeviceExist(STAndroid &stAndroid)
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |  	bool bExist = false;
 |