src/corelib/ncbiexec.cpp File Reference

#include <ncbi_pch.hpp>
#include <stdio.h>
#include <stdarg.h>
#include <corelib/ncbiexec.hpp>
#include <corelib/ncbifile.hpp>
#include <corelib/ncbi_system.hpp>
#include <corelib/error_codes.hpp>

Include dependency graph for ncbiexec.cpp:

Go to the source code of this file.

Defines

#define NCBI_USE_ERRCODE_X   Corelib_System
#define s_CheckExecArg(x)
#define GET_ARGS_0   args[0] = cmdname
#define GET_EXEC_ARGS
#define RETURN_RESULT(func)

Variables

const unsigned long kWaitPrecision = 100


Define Documentation

#define GET_ARGS_0   args[0] = cmdname
 

Definition at line 265 of file ncbiexec.cpp.

#define GET_EXEC_ARGS
 

Value:

int xcnt = 2; \
    va_list vargs; \
    va_start(vargs, argv); \
    while ( va_arg(vargs, const char*) ) xcnt++; \
    va_end(vargs); \
    const char **args = new const char*[xcnt+1]; \
    typedef ArrayDeleter<const char*> TArgsDeleter; \
    AutoPtr<const char*, TArgsDeleter> p_args(args); \
    if ( !args ) \
        NCBI_THROW(CCoreException, eNullPtr, kEmptyStr); \
    GET_ARGS_0; \
    args[1] = argv; \
    va_start(vargs, argv); \
    int xi = 1; \
    while ( xi < xcnt ) { \
        xi++; \
        args[xi] = va_arg(vargs, const char*); \
        s_CheckExecArg(args[xi]); \
    } \
    args[xi] = (const char*)0

Definition at line 269 of file ncbiexec.cpp.

Referenced by CExec::RunSilent(), CExec::SpawnL(), CExec::SpawnLE(), CExec::SpawnLP(), and CExec::SpawnLPE().

#define NCBI_USE_ERRCODE_X   Corelib_System
 

Definition at line 49 of file ncbiexec.cpp.

#define RETURN_RESULT func   ) 
 

Value:

if (status == -1) { \
        NCBI_THROW(CExecException, eSpawn, "CExec::" #func "() failed"); \
    } \
    CResult result; \
    if ((mode & eWait) == eWait) { \
        result.m_Flags = CResult::fExitCode; \
        result.m_Result.exitcode = (TExitCode)status; \
    } else { \
        result.m_Flags = CResult::fHandle; \
        result.m_Result.handle = (TProcessHandle)status; \
    } \
    return result

Definition at line 293 of file ncbiexec.cpp.

Referenced by CExec::RunSilent(), CExec::SpawnL(), CExec::SpawnLE(), CExec::SpawnLP(), CExec::SpawnLPE(), CExec::SpawnV(), CExec::SpawnVE(), CExec::SpawnVP(), and CExec::SpawnVPE().

#define s_CheckExecArg  ) 
 

Definition at line 249 of file ncbiexec.cpp.


Variable Documentation

const unsigned long kWaitPrecision = 100
 

Definition at line 470 of file ncbiexec.cpp.


Generated on Mon Dec 7 07:36:38 2009 for NCBI C++ ToolKit by  doxygen 1.4.6
Modified on Mon Dec 07 16:21:45 2009 by modify_doxy.py rev. 173732