Example #1
0
CommandLineBuilder::CommandLineBuilder (/*[in]*/ const char * lpszArg1,
					/*[in]*/ const char * lpszArg2)
  : p (new Data)
{
  AppendArgument (lpszArg1);
  AppendArgument (lpszArg2);
}
Example #2
0
void
CommandLineBuilder::AppendArguments (/*[in]*/ int			argc,
				     /*[in]*/ const char * const *	argv)
{
  for (int idx = 0; idx < argc; ++ idx)
    {
      AppendArgument (argv[idx]);
    }
}
Example #3
0
void
CommandLineBuilder::AppendArguments (/*[in]*/ const vector<string> &	argv)
{
  for (vector<string>::const_iterator it = argv.begin();
       it != argv.end();
       ++ it)
    {
      AppendArgument (it->c_str());
    }
}
Example #4
0
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);
		}
	}
Example #6
0
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());
}
Example #7
0
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; }
}