/******************************************************************************
* Copyright (c) 2000-2019 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:
*  Jozsef Gyurusi - initial implementation and initial documentation
*  Adam Delic
*  Antal Wuh.Hen.Chang
*  Attila Balasko
*  Gabor Szalai
*  Istvan Sandor
*  Peter Kremer
*  Zoltan Jasz
******************************************************************************/
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