Doxygen
Toggle main menu visibility
Loading...
Searching...
No Matches
portable.h
Go to the documentation of this file.
1
#ifndef PORTABLE_H
2
#define PORTABLE_H
3
4
#include <cstdint>
5
#include <cstdio>
6
#include <fstream>
7
#include <sys/types.h>
8
9
#include "
containers.h
"
10
#include "
dstring.h
"
11
12
/** @file
13
* @brief Portable versions of functions that are platform dependent.
14
*/
15
16
namespace
Portable
17
{
18
int
system
(
const
DString
&command,
const
DString
&args,
bool
commandHasConsole=
true
);
19
uint32_t
pid
();
20
DString
getenv
(
const
DString
&variable);
21
void
setenv
(
const
DString
&variable,
const
DString
&value);
22
void
unsetenv
(
const
DString
&variable);
23
FILE *
fopen
(
const
DString
&fileName,
const
DString
&mode);
24
int
fclose
(FILE *f);
25
void
unlink
(
const
DString
&fileName);
26
DString
pathSeparator
();
27
DString
pathListSeparator
();
28
const
char
*
ghostScriptCommand
();
29
const
char
*
commandExtension
();
30
bool
fileSystemIsCaseSensitive
();
31
FILE *
popen
(
const
DString
&name,
const
DString
&type);
32
int
pclose
(FILE *stream);
33
double
getSysElapsedTime
();
34
bool
isAbsolutePath
(
const
DString
&fileName);
35
void
correctPath
(
const
StringVector
&list);
36
void
setShortDir
();
37
const
char
*
strnstr
(
const
char
*haystack,
const
char
*needle,
size_t
haystack_len);
38
const
char
*
devNull
();
39
bool
checkForExecutable
(
const
DString
&fileName);
40
size_t
recodeUtf8StringToW
(
const
DString
&inputStr,uint16_t **buf);
41
std::ofstream
openOutputStream
(
const
DString
&name,
bool
append=
false
);
42
std::ifstream
openInputStream
(
const
DString
&name,
bool
binary=
false
,
bool
openAtEnd=
false
);
43
DString
removeLongPathMarker
(
const
DString
&path);
44
}
45
46
47
extern
"C"
{
48
void
*
portable_iconv_open
(
const
char
*tocode,
const
char
*fromcode);
49
size_t
portable_iconv
(
void
*cd,
const
char
** inbuf,
size_t
*inbytesleft,
50
char
* * outbuf,
size_t
*outbytesleft);
51
int
portable_iconv_close
(
void
*cd);
52
}
53
54
#endif
55
DString
A String class for use with Doxygen wrapping std::string and adding some additional functionality off...
Definition
dstring.h:88
containers.h
StringVector
std::vector< std::string > StringVector
Definition
containers.h:33
dstring.h
Portable
Definition
portable.h:17
Portable::correctPath
void correctPath(const StringVector &list)
Correct a possible wrong PATH variable.
Definition
portable.cpp:516
Portable::popen
FILE * popen(const DString &name, const DString &type)
Definition
portable.cpp:479
Portable::openInputStream
std::ifstream openInputStream(const DString &name, bool binary=false, bool openAtEnd=false)
Definition
portable.cpp:676
Portable::getSysElapsedTime
double getSysElapsedTime()
Definition
portable.cpp:97
Portable::setenv
void setenv(const DString &variable, const DString &value)
Definition
portable.cpp:286
Portable::ghostScriptCommand
const char * ghostScriptCommand()
Definition
portable.cpp:437
Portable::pid
uint32_t pid()
Definition
portable.cpp:248
Portable::system
int system(const DString &command, const DString &args, bool commandHasConsole=true)
Definition
portable.cpp:105
Portable::pclose
int pclose(FILE *stream)
Definition
portable.cpp:488
Portable::getenv
DString getenv(const DString &variable)
Definition
portable.cpp:321
Portable::unlink
void unlink(const DString &fileName)
Definition
portable.cpp:544
Portable::removeLongPathMarker
DString removeLongPathMarker(const DString &path)
Definition
portable.cpp:640
Portable::fileSystemIsCaseSensitive
bool fileSystemIsCaseSensitive()
Definition
portable.cpp:470
Portable::pathSeparator
DString pathSeparator()
Definition
portable.cpp:374
Portable::recodeUtf8StringToW
size_t recodeUtf8StringToW(const DString &inputStr, uint16_t **buf)
Definition
portable.cpp:623
Portable::isAbsolutePath
bool isAbsolutePath(const DString &fileName)
Definition
portable.cpp:497
Portable::pathListSeparator
DString pathListSeparator()
Definition
portable.cpp:383
Portable::openOutputStream
std::ofstream openOutputStream(const DString &name, bool append=false)
Definition
portable.cpp:665
Portable::fopen
FILE * fopen(const DString &fileName, const DString &mode)
Definition
portable.cpp:349
Portable::commandExtension
const char * commandExtension()
Definition
portable.cpp:461
Portable::strnstr
const char * strnstr(const char *haystack, const char *needle, size_t haystack_len)
Definition
portable.cpp:600
Portable::devNull
const char * devNull()
Definition
portable.cpp:614
Portable::fclose
int fclose(FILE *f)
Definition
portable.cpp:369
Portable::unsetenv
void unsetenv(const DString &variable)
Definition
portable.cpp:301
Portable::checkForExecutable
bool checkForExecutable(const DString &fileName)
Definition
portable.cpp:423
Portable::setShortDir
void setShortDir()
Definition
portable.cpp:553
portable_iconv_close
int portable_iconv_close(void *cd)
portable_iconv
size_t portable_iconv(void *cd, const char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft)
portable_iconv_open
void * portable_iconv_open(const char *tocode, const char *fromcode)
src
portable.h
Generated by
1.19.0