#include "acq_vendor.h" #include #include #include static vendor::MyOpt myOpts_[] = { {"help", no_argument, 'h', "[options] [documents] [IPaddress][:port]..." }, {"auth", required_argument, 0, "User and role configuration" }, {"debug", no_argument, 0, "Run in debug mode" }, {"home", required_argument, 0, "Change to directory to run" }, {"log", required_argument, 0, "logFile:level, Log to file file at verbosity level"}, {"route", required_argument, 0, "route file" }, {"port", required_argument, 0, "set port, default: 8880" }, {"delay", required_argument, 0, "delay secs to quit" }, {"document", required_argument, 0, "document" }, {"verbose", required_argument, 0, "Same as --log stderr:2" }, {"version", no_argument, 0, "version information" } }; namespace iot_acq { AcqVendor::AcqVendor(): acqTask_(new AcqTask()) { } AcqVendor::~AcqVendor() { } int AcqVendor::ParseCmdline(const std::string &optname, const std::string &optarg) { return 0; } vendor::MyOpt *AcqVendor::GetOpts() { return myOpts_; } int AcqVendor::GetOptSize() { return sizeof(myOpts_) / sizeof(myOpts_[0]); } void sigHandler(int sig) { HTELINK_LOG_DEBUG("sigHandler, %d", sig); } int AcqVendor::Run() { std::vector dataCenters = configParser_.GetDataCenter(); for(settings::ConfigParser::DataCenter &dc: dataCenters) { HTELINK_LOG_INFO("add rpc %s, yunId = %d", dc.name.c_str(), dc.yunID); std::shared_ptr rpc = leoyun::YunRpc::GetRpcInstance(dc.yunID); ASSERT(rpc != nullptr); rpc->SetDataCenter(dc); acqTask_->PushRpc(dc.name, rpc); } timerCheck_ = AppendTimerEvent(100, acqTask_); return 0; } std::string AcqVendor::Name() { return "iot-acq"; } void AcqVendor::Stop(int signal) { HTELINK_LOG_INFO("acq exit, signal = %d", signal); StopEvent(timerCheck_); } } // namespace iot_acq