4#ifndef _Stroika_Foundation_Execution_Module_h_
5#define _Stroika_Foundation_Execution_Module_h_ 1
7#include "Stroika/Foundation/StroikaPreComp.h"
11#if qStroika_Foundation_Common_Platform_POSIX
15#include "Stroika/Foundation/Characters/SDKString.h"
16#include "Stroika/Foundation/Common/Common.h"
17#include "Stroika/Foundation/Common/Property.h"
18#include "Stroika/Foundation/Containers/Mapping.h"
19#include "Stroika/Foundation/Containers/Sequence.h"
20#include "Stroika/Foundation/Execution/LazyInitialized.h"
22#if !defined(qHas_pid_t)
23#error "qHas_pid_t must be defined in StroikaConfig.h"
31#if qStroika_Foundation_Common_Platform_Windows
62#if qStroika_Foundation_Common_Platform_Windows
value-object, where the value construction is delayed until first needed (can be handy to avoid c++ i...
const LazyInitialized< Containers::Mapping< Characters::String, Characters::String > > kEnvironment
convert getenv() to a Mapping of Strings for easier access
const LazyInitialized< Containers::Sequence< filesystem::path > > kPath
const LazyInitialized< Containers::Mapping< Characters::SDKString, Characters::SDKString > > kRawEnvironment
convert getenv() to a Mapping of SDKString (in case some issue with charactor set conversion)
filesystem::path GetEXEDir()
optional< filesystem::path > FindExecutableInPath(const filesystem::path &fn)
If fn refers to an executable - return it (using kPATH, and kPathEXT as appropriate)
int pid_t
TODO - maybe move this to configuraiotn module???
filesystem::path GetEXEPath()