コード例 #1
0
ファイル: mccsys.cpp プロジェクト: iElaine/mcc_old
int main(int argc, char *argv[])
{
	init_sys_var(argc, argv);
	init_local_resource();
	init_matrix_addr_book();
	MCCKeyboardManager manager;
	Communication comm;
	manager.Start();
	comm.Start();
	manager.LoadKeyboard("generic","/dev/ttyUSB0", "/dev/ttyUSB1", 9600, 8, 1, 'n', 0);
	cout<<"load keyboard done"<<endl;
	while(1)
	{
		int cid, mid, moid, uid;
		cout<<"matrix id:";
		cin>>mid;
		cout<<"camera id:";
		cin>>cid;
		cout<<"monitor id:";
		cin>>moid;
		cout<<"user id:";
		cin>>uid;
		User user(uid, mid);
		if(moid > max_mon || moid < min_mon )
		{
			cout<<"monitor dosen't exist!"<<endl;
			continue;
		}
		else if(mon[moid].id > uid && !isExpired(mon[moid]))
		{
			cout<<"monitor is busy"<<endl;
			continue;
		}
		else
			cout<<"monitor is avialble!"<<endl;
		if(mid == local_matrix_id && cam[cid] <= user){
			cam[cid] = user;
			cout<<"camera is aviable!"<<endl;
		}
		else if(mid != local_matrix_id && comm.Request(mid, cid, uid) == 0){
			cout<<"camera is aviable!"<<endl;
		}
		else{
			cout<<"camera is not aviable!"<<endl;
			continue;
		}
		mon[moid] = User(uid, local_matrix_id);
	};
	manager.UnloadKeyboard(0);
	comm.Stop();
	manager.Stop();
	return 0;
}