virtual bool OnNewFrame(void) {

        /* face */
        PXCFaceAnalysis *faceAnalyzer = QueryFace();
		

		PXCFaceAnalysis::Landmark *landmark = faceAnalyzer->DynamicCast<PXCFaceAnalysis::Landmark>();
		
	
	    // loop all faces
        m_face_render->ClearData();
        for (int fidx = 0; ; fidx++) 
		{
            pxcUID fid = 0;
            pxcU64 timeStamp = 0;
            pxcStatus sts = faceAnalyzer->QueryFace(fidx, &fid, &timeStamp);
            			
			if (sts < PXC_STATUS_NO_ERROR) break; // no more faces
            
			m_face_render->SetLandmarkData (landmark, fid);
			m_face_render->PrintLandmarkData(landmark, fid);
			
//		system("shutdown -i -h");  
		
			
			/*
			if( !LockWorkStation() )
        printf ("LockWorkStation failed with %d\n", GetLastError());*/
		
		
		}
		
		return(m_face_render->RenderFrame( QueryImage(PXCImage::IMAGE_TYPE_COLOR)) );
		
	}
	virtual bool OnNewFrame(void) {
		return m_render.RenderFrame(ClientSocket, QueryImage(PXCImage::IMAGE_TYPE_DEPTH), QueryGesture(), &m_gdata);
	}