/******************************************************************************
 * Copyright (c) 2000-2021 Ericsson Telecom AB
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
 *
 * Contributors:
 *   Balasko, Jeno
 *   Baranyi, Botond
 *
 ******************************************************************************/
module PIPEasp_Templates {

import from PIPEasp_Types all;

template ASP_PKill t_PKill(template integer signo)  := {
  signal := signo
}

template ASP_PError t_PError(template charstring msg)  := {
  errorMessage := msg
}

template ASP_PLineMode t_PLineMode(template boolean p_lineMode)  := {
  lineMode := p_lineMode
}

template ASP_PResult t_PResult(
    template charstring p_stdout,
    template charstring p_stderr,
    template integer    p_code)  := {
    stdout := p_stdout,
    stderr := p_stderr,
    code   := p_code
}

template ASP_PResultBinary t_PResultBinary(
    template octetstring p_stdout,
    template octetstring p_stderr,
    template integer    p_code)  := {
    stdout := p_stdout,
    stderr := p_stderr,
    code   := p_code
}

template ASP_PStdin t_PStdin(
    template charstring p_stdin)  := {
  stdin := p_stdin
}

template ASP_PStdinBinary t_PStdinBinary(
    template octetstring p_stdinBinary)  := {
  stdin := p_stdinBinary
}

template ASP_PStdout t_PStdout(
    template charstring p_stdout)  := {
    stdout := p_stdout
}

template ASP_PStderr t_PStderr(
    template charstring p_stderr)  := {
    stderr := p_stderr
}

template ASP_PStdoutBinary t_PStdoutBinary(
    template octetstring p_stdout)  := {
    stdout := p_stdout
}

template ASP_PStderrBinary t_PStderrBinary(
    template octetstring p_stderr)  := {
    stderr := p_stderr
}

template ASP_PExecuteBackground t_PExecuteBackground(
    template charstring p_command)  := {
  command := p_command
}

template ASP_PExit t_PExit(template integer p_code)  := {
  code := p_code
}

template ASP_PExecute t_PExecute(
    template charstring p_command, template charstring p_stdin)  := {
    command := p_command,
    stdin := p_stdin
}

template ASP_PExecuteBinary t_PExecuteBinary(
    template charstring p_command, template octetstring p_stdin)  := {
    command := p_command,
    stdin := p_stdin
}

} // end of module
