Newer
Older
Card9-Skyworks / software / card9ctl
#!/usr/bin/env node

var defines = require('./utils/defines');
var config = require('./config');
var net = require('net');

function usage(){
	process.stderr.write(
'一个控制 Card9 的工具                        \n\
用法: card9ctl <command>                 \n\
                                         \n\
<command> 可以是:                        \n\
    doorOpen          打开门禁            \n\
    alarmOff          消除警报音          \n\
', 'utf-8');
}

var command = -1;
switch(process.argv[2]){
	case 'doorOpen':
		command = defines.commands.doDoorOpen;
		break;
	case 'alarmOff':
		command = defines.commands.doAlarmOff;
		break;
	default:
		usage();
		process.stderr.once('drain', function(){
			process.exit(1);
		});
		break;
}
if(command != -1){
	var client = net.createConnection({path: config.sockFile}, function(){
		client.write(new Buffer([command]));
		client.once('drain', function(){
			client.end();
			console.log("成功发送命令。");
		});
	}).once('error', function(err){
		console.error("在通过“" + config.sockFile + "”与守护进程建立连接时,发生了错误:");
		console.error(err);
		console.error("可能权限不足或守护进程未启动。");
		process.exit(1);
	});
}