CMD.cpp 1.56 KB
Newer Older
xzl committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
/*
 * CMD.cpp
 *
 *  Created on: 2016年9月26日
 *      Author: xzl
 */

#include "CMD.h"
#include "ShellSession.h"
#include "Rtsp/RtspMediaSource.h"
#include "Rtmp/RtmpMediaSource.h"
using namespace ZL::Rtsp;
using namespace ZL::Rtmp;


namespace ZL {
namespace Shell {

mutex OptionParser::mtx_opt;

CMD::CMD() {
}

CMD::~CMD() {
}

CMD_help::CMD_help() {
	parser.reset( new OptionParser(nullptr));
	(*parser) << Option('c', "cmd", Option::ArgNone, "列出所有命令", [](OutStream *stream,const char *arg) {
		_StrPrinter printer;
		for (auto &pr : ShellSession::g_mapCmd) {
			printer << "\t" << pr.first << ":" << pr.second.description() << "\r\n";
		}
		stream->response(printer << endl);
		return false;
	}) << endl;
}

CMD_rtsp::CMD_rtsp() {
	parser.reset(new OptionParser(nullptr));
	(*parser) << Option('l', "list", Option::ArgNone, "列出所有媒体列表", [](OutStream *stream,const char *arg) {
		_StrPrinter printer;
		auto mediaSet = RtspMediaSource::getMediaSet();
		for (auto &src : mediaSet) {
			printer << "\t" << src << "\r\n";
		}
		stream->response(printer << endl);
		return false;
	}) << endl;
}

CMD_rtmp::CMD_rtmp() {
	parser.reset(new OptionParser(nullptr));
	(*parser) << Option('l', "list", Option::ArgNone, "列出所有媒体列表", [](OutStream *stream,const char *arg) {
		_StrPrinter printer;
		auto mediaSet = RtmpMediaSource::getMediaSet();
		for (auto &src : mediaSet) {
			printer << "\t" << src << "\r\n";
		}
		stream->response(printer << endl);
		return false;
	}) << endl;
}





















} /* namespace Shell */
} /* namespace ZL */