CommandLineBuilder::CommandLineBuilder (/*[in]*/ const char * lpszArg1, /*[in]*/ const char * lpszArg2) : p (new Data) { AppendArgument (lpszArg1); AppendArgument (lpszArg2); }
void CommandLineBuilder::AppendArguments (/*[in]*/ int argc, /*[in]*/ const char * const * argv) { for (int idx = 0; idx < argc; ++ idx) { AppendArgument (argv[idx]); } }
void CommandLineBuilder::AppendArguments (/*[in]*/ const vector<string> & argv) { for (vector<string>::const_iterator it = argv.begin(); it != argv.end(); ++ it) { AppendArgument (it->c_str()); } }
bool BashProxy::AddLogEntry(const type::BashLogEntry &log_entry) { BOOST_LOG_TRIVIAL(debug) << "bash:detail:BashProxy:AddLogEntry: Function call"; BOOST_LOG_TRIVIAL(debug) << "bash:detail:BashProxy:AddLogEntry: Call params: " << "agent_name=" << log_entry.agent_name << " ; " << "time=" << log_entry.utc_time << " ; " << "user_id=" << log_entry.user_id << " ; " << "command=" << log_entry.command; DBusMessage *message; message = CreateMethodCall("org.chyla.slas.server", "/org/chyla/slas/bash", "org.chyla.slas.bash", "AddLogEntry"); DBusMessageIter args; InitArgument(message, &args); AppendArgument(&args, log_entry.agent_name.c_str()); AppendArgument(&args, log_entry.utc_time.GetTime().GetHour()); AppendArgument(&args, log_entry.utc_time.GetTime().GetMinute()); AppendArgument(&args, log_entry.utc_time.GetTime().GetSecond()); AppendArgument(&args, log_entry.utc_time.GetDate().GetDay()); AppendArgument(&args, log_entry.utc_time.GetDate().GetMonth()); AppendArgument(&args, log_entry.utc_time.GetDate().GetYear()); AppendArgument(&args, log_entry.user_id); AppendArgument(&args, log_entry.command.c_str()); DBusPendingCall *reply_handle; bus_->SendMessage(message, &reply_handle); dbus_message_unref(message); dbus_pending_call_block(reply_handle); message = GetReplyMessage(reply_handle); dbus_pending_call_unref(reply_handle); dbus_message_unref(message); }
VariableHolder::VariableHolder(VariableHolder const& _other): data(SINEW(Data)), argument_namer(_other.argument_namer) { names_t const & names = static_cast<Data*>(_other.data)->names; args_t const & args = static_cast<Data*>(_other.data)->args; args_ordered_t const & args_ordered = static_cast<Data*>(_other.data)->args_ordered; nciter_t const names_end = names.end(); aciter_t const args_end = args.end(); oaciter_t const args_ordered_end = args_ordered.end(); // copy variables for (nciter_t ite = names.begin(); ite != names_end; ++ite) { MemoryCell* assigned = 0x00; MemoryCell::Assign(assigned, ite->second); SetLocal(ite->first, assigned); } // copy args for (aciter_t ite = args.begin(); ite != args_end; ++ite) { MemoryCell* assigned = 0x00; MemoryCell::Assign(assigned, ite->second); AppendArgument(ite->first, assigned); } }
ElfArguments::ElfArguments(const std::vector<std::string>& argv, const std::vector<std::string>& envp) { for(const auto& iterator : argv) AppendArgument(iterator.c_str()); for(const auto& iterator : envp) AppendEnvironmentVariable(iterator.c_str()); }
ElfArguments::ElfArguments(const uapi::char_t** argv, const uapi::char_t** envp) { // Iterate over any provided arguments/variables and append them while(argv && *argv) { AppendArgument(*argv); ++argv; } while(envp && *envp) { AppendEnvironmentVariable(*envp); ++envp; } }