auto_ptr compat
More...
#include <memory>
|
| UI |
| Namespace for any Schlund+Partner C++ code.
|
|
| UI::Util |
| Namespace for ui-utilcpp.
|
|
auto_ptr compat
- C++14 deprecates 'auto_ptr' in favor of 'unique_ptr' [and gcc6 does ugly warnings].
- std::unique_ptr is available since C++11, so we use it then.
- While compat is still needed, use 'UI::Util::auto_ptr' in-code.
- When removing this compat, just bulk-replace 'UI::Util::auto_ptr' with 'std::unique_ptr' in-code.
void start()
Spawn thread.
Definition: Thread.cpp:116
const Conversion * make(char const *const buf, size_t const bufSize) const
Convert from byte buffer.
Definition: Recoder.cpp:261
out_type ato(std::string const &t, StreamModifier const m=0)
String-to-anything converter with default values on error.
Definition: Text.hpp:104
int run()
Public run function. Use this to run commands.
Definition: CmdLine.cpp:170
Class representing a command line option with mandatory argument.
Definition: GetOpt.hpp:135
unsigned long getBlocks() const
Current block usage.
Definition: QuotaInfo.cpp:477
C++ encapsulation for libcap's 'cap_t'.
Definition: Cap.hpp:19
std::vector< Byte > istream2Vector(std::istream &f, int const blockSize=1024)
Read any stream into any byte vector.
Definition: Text.hpp:286
Converter from an-char-encoded string with randomly placed email-adresse -> the same string w/ domain...
Definition: Recoder.hpp:253
virtual INetSocket & bind()
Bind this socket.
Definition: Socket.cpp:291
pid_t pid_
Definition: Thread.hpp:81
CFileStream(std::string const &fileName, std::string const &mode)
Constructor.
Definition: File.cpp:78
static std::string decode(std::string const &url)
Decode an URL encoded string.
Definition: Recoder.cpp:334
void addOptArg(std::string const &name, std::string const &help="No help for this option")
Add optional argument. Use this in constructors of custom Cmd classes.
Definition: CmdLine.cpp:58
Singleton class holding one SysLogMono object.
Definition: SysLogMono.hpp:54
RealTimeStamp & operator+=(RealTimeStamp const &rt)
Standard += operator.
Definition: Time.cpp:128
Represents a command.
Definition: CmdLine.hpp:118
Abstraction class for GNU getopt_long(3).
Definition: GetOpt.hpp:170
Cap(InitType const &initType=Proc_)
Construct from process state, or cleared with proc=false.
Definition: Cap.cpp:12
FileDescriptor(int fd=-1, bool closeFd=false)
Constructor from file descriptor.
Definition: File.cpp:142
CLOptionArg(std::string const &nameLong, char nameShort, std::string const &doc="No documentation for this option.", std::string const &defaultArg="")
Standard constructor.
Definition: GetOpt.cpp:92
bool getFreeInodesSL(unsigned long &free) const
Get free inodes from soft limit. False, if there is no soft limit.
Definition: QuotaInfo.cpp:500
virtual void printUsage() const
Print usage information for this option.
Definition: GetOpt.cpp:110
Use this exception class if you want to catch failures on system/library calls.
Definition: Sys.hpp:135
static FS file2fs(std::string const &fName, std::string const &tab="/proc/mounts")
Get FS information from any file in that fs.
Definition: QuotaInfo.cpp:48
int shutdown(int how, bool doThrow=true)
Shutdown socket.
Definition: Socket.cpp:186
std::list< K >::iterator reverse_lfind(std::list< K > &l, K const &key)
Reverse "find" for lists.
Definition: Misc.hpp:151
Connection(std::iostream &stream)
Definition: Connection.cpp:17
std::string getPeerId() const
Get peer id.
Definition: Socket.cpp:98
long int getTimeValUSec()
Get "usec"-part from gettimeofday(2).
Definition: Time.cpp:24
Helper class to get a scope executed with some other effective uid.
Definition: Misc.hpp:255
double Default< double >()
Default-Specialising.
Definition: Text.hpp:70
unsigned long getBlockHL() const
Hard limit of disk blocks.
Definition: QuotaInfo.cpp:475
bool verifyVersion(std::string const &version, bool const &doThrow)
Helper to verify a version string.
Definition: Header.cpp:21
CodeException< ErrorCode > Exception
Exceptions for this class.
Definition: File.hpp:124
Quota information abstraction.
Definition: QuotaInfo.hpp:34
Match runMatch(std::string const &text, int eflags=0)
Check if text matches, and return the (first) match.
Definition: PosixRegex.cpp:37
Abstraction of GNU C "getopt_long(3)".
bool operator==(RealTimeStamp const &rt) const
Standard == operator.
Definition: Time.cpp:113
Adding code facility to Exception.
Definition: Exception.hpp:164
CmdLine * cl_
Should be there to access CmdLine.
Definition: CmdLine.hpp:189
static SysLogMono & log(int level)
Log function; you may stream directly into the result.
Definition: SysLogMono.cpp:68
Meta converter class: converter switcher and generic interface.
Definition: Recoder.hpp:263
bool getFree(unsigned long const limit, unsigned long const blocks, unsigned long &free) const
Helper for getFree* methods.
Definition: QuotaInfo.cpp:506
char * strdup(char const *s)
BSD style "strdup" implementation (is not C standard). See strdup(3).
Definition: Text.cpp:113
std::string getId(bool const &peer=false) const
Get human-readable id string.
Definition: Socket.cpp:79
IO stream for file descriptors.
Definition: Socket.hpp:227
Class using boost::mt19937 as random engine.
Definition: Text.hpp:156
~GetOpt()
Standard destructor.
Definition: GetOpt.cpp:169
std::string getVar(std::string const &key) const
Get variable value.
Definition: CmdLine.cpp:485
Most general class for a command line option. Use this class for a option without argument.
Definition: GetOpt.hpp:51
Mutex For BSD Advisory File Locking.
Definition: File.hpp:267
Base adapter class to hold a pointer that can't be freed using standard "delete".
Definition: Misc.hpp:71
void fd2DevNull(int const &fd, mode_t const &mode)
Close fd and reopen on "/dev/null" using mode.
Definition: Thread.cpp:17
unsigned end
Definition: PosixRegex.hpp:51
P * operator->() const
Smart dereferencing.
Definition: Misc.hpp:93
Internal command: Get help.
Definition: CmdLine.cpp:248
GetOpt & set(std::string const &nameLong, char nameShort, Type type, std::string const &doc="No documentation for this option.", std::string const &defaultArg="")
Introduce a new option.
Definition: GetOpt.cpp:174
Converter(std::string const &inEnc, std::string const &outEnc, bool const &sloppy=false)
Converter base constructor.
Definition: Recoder.cpp:71
P & operator[](int i)
Access an C vector element.
Definition: Misc.hpp:119
Socket(int fd=-1, bool closeFd=false)
Construct socket.
Definition: Socket.cpp:16
const std::string defaultArg_
Definition: GetOpt.hpp:130
#define UI_THROW_ERRNO(call)
Throw non-code exception w/ errno handling.
Definition: Exception.hpp:22
QuotaInfo(FS const &fs, int const id=Sys::geteuid(), Type const type=Usr_, std::string const &strPath="")
Definition: QuotaInfo.cpp:268
Factory for Conversions.
Definition: Recoder.hpp:82
std::string getNameLong() const
Get the long name.
Definition: GetOpt.cpp:33
void fileCopy(std::string const &src, std::string const &dest)
File copy from file names.
Definition: File.cpp:93
std::string get(std::string const &path)
Get canonical path, mutex-protected.
Definition: Misc.hpp:242
Internal command: Sleep for n seconds.
Definition: CmdLine.cpp:360
std::string get() const
Get composition.
Definition: Header.cpp:168
void daemonize(bool closeStdFds, bool changeToRootdir, bool resetUMask)
Use fork(2) to daemonize current program in a new session id.
Definition: Thread.cpp:28
LibRecodeConverter(std::string const &inEnc, std::string const &outEnc, bool const &sloppy=false)
Constructor; this supports sloppy encoding if desired.
Definition: Recoder.cpp:97
Mutex For Posix Advisory File Locking.
Definition: File.hpp:232
virtual std::streamsize write(void const *const buf, std::streamsize count)
C++ like virtual erite method.
Definition: File.cpp:158
Helper class to hold the device string and (optional) the fs type (to be able to do better selection ...
Definition: QuotaInfo.hpp:40
static int basis2Dec(std::string number, int basis)
Definition: Text.cpp:276
std::string & str2Ascii(std::string &s)
Replace all non-ASCII characters to '?' in string.
Definition: Text.cpp:77
AlphaNumericKey()
Construct; seed will be automatically set (once) via timestamp (for linux/unix: microseconds).
Definition: Text.cpp:90
Character set converter, using libc's "iconv" directly.
Definition: Recoder.hpp:142
Converter charEncoding -> rfc2047 (MIME).
Definition: Recoder.hpp:233
~MutexLock()
Destructor; unlocks the mutex.
Definition: Misc.hpp:214
long int getUSec() const
Get micro seconds since Epoch+sec.
Definition: Time.cpp:103
~auto_cvec()
Free memory held by C vector via delete[].
Definition: Misc.hpp:113
virtual void setGiven(std::string const &arg="")
Mark this option as "given", and optionally set the argument.
Definition: GetOpt.cpp:82
std::ios_base &(* StreamModifier)(std::ios_base &)
Stream modifier function (is there a std:: type??).
Definition: Text.hpp:79
long int Default< long int >()
Default-Specialising.
Definition: Text.hpp:72
std::string readLine(std::string const &promptVar="__PROMPT")
Only source for input.
Definition: CmdLine.cpp:455
#define UI_THROW(desc)
Throw non-code exception.
Definition: Exception.hpp:20
Cmd * findCmd(std::string const &name) const
Find a command from name.
Definition: CmdLine.cpp:440
bool fileExists(std::string const &fName)
Check if a file exists using stat(2).
Definition: File.cpp:106
long int getSec() const
Get seconds since Epoch.
Definition: Time.cpp:98
Namespace for system/library calls.
Definition: Shortcuts.hpp:8
#define UI_THROW_CODE(code, desc)
Throw code exception.
Definition: Exception.hpp:24
Wrapper class for POSIX.2 regex functions.
Definition: PosixRegex.hpp:32
std::pair< std::string, bool > etos(in_type const &t, StreamModifier const m=0, int w=0, char f=' ')
Anything-to-string converter with error handling.
Definition: Text.hpp:119
StatusLine(Code const &code=200, std::string const &reason="OK", std::string const &version="HTTP/1.1")
Construct from components.
Definition: Header.cpp:113
File(std::string const &name, int flags=O_CREAT|O_WRONLY, mode_t mode=S_IRUSR|S_IWUSR, bool closeFd=true)
Constructor.
Definition: File.cpp:176
const Conversion * make(char const *const buf, size_t const bufSize) const
Convert from byte buffer.
Definition: Recoder.cpp:491
const char * get() const
Get conversion data.
Definition: Recoder.cpp:34
std::string guessConfFile(std::string const &id, std::string const &suffix)
Guess a config file (/etc/id.conf or ~/.id.conf).
Definition: File.cpp:23
CodeException< ErrorCode > Exception
Exceptions for this class.
Definition: Recoder.hpp:93
~SysLogMono()
Destructor.
Definition: SysLogMono.cpp:30
std::string getArg(int i) const
Get the argument of a parsed command.
Definition: CmdLine.cpp:145
CodeException< ErrorCode > Exception
This classes exceptions.
Definition: Misc.hpp:190
time_t getINodeTL() const
Inodes timer limit.
Definition: QuotaInfo.cpp:482
Simple Command Line interface.
Definition: CmdLine.hpp:49
URL & addParam(std::string const &key, std::string const &value)
Add param to query part (auto-adds query part if not already added)
Definition: URL.cpp:34
friend class HelpCmd
These two need access to CmdLine variables – might be better to encapsulate further ;).
Definition: CmdLine.hpp:52
Parse and represent a request's request line.
Definition: Header.hpp:37
std::string realpath(std::string const &path)
Get canonical absolute path name.
Definition: Misc.cpp:12
std::string join(std::string const &expr, C const &list)
join a list,vector,set, ... with the connector string
Definition: Text.hpp:253
virtual option * getCOptLong(option *opt) const
Get GNU getopt_long(3) represention of this option.
Definition: GetOpt.cpp:58
CodeException< reg_errcode_t > Exception
Exceptions we might throw.
Definition: PosixRegex.hpp:39
a class to convert between different systems.
Definition: Text.hpp:321
unsigned int nssleep(unsigned int seconds)
No Signal Seconds Sleep: Using POSIX nanosleep(2).
Definition: Time.cpp:47
std::string getHelp(bool showArgs=false) const
Print help (i.e., syntax + documentation text).
Definition: CmdLine.cpp:76
Guarantuee to run "remove(2)" on path in destructor.
Definition: File.hpp:56
friend class SourceCmd
These two need access to CmdLine variables – might be better to encapsulate further ;).
Definition: CmdLine.hpp:54
File, descriptors and sockets.
std::string asciiCAPS(std::string const &in, bool const upper)
ASCII CAPS converter for strings (using std::tolower|upper).
Definition: Text.cpp:65
Internal command: Print text.
Definition: CmdLine.cpp:376
Utility for easy command line interfaces.
Definition: Connection.hpp:20
std::string getenv(std::string const &name)
Like getenv(3), but returns empty string when env is missing.
Definition: File.cpp:17
Socket abstraction.
Definition: Socket.hpp:32
Control freeing of memory via std::free.
Definition: Misc.hpp:127
Namespace for any Schlund+Partner C++ code.
Definition: auto_ptr_compat.hpp:16
static void fdClose(int const &fd, std::string const &id, bool const &doClose=true)
Helper to close file descriptors from destructors.
Definition: File.cpp:133
PosixFileMutex(std::string const &lockFile)
Constructor from file name.
Definition: File.cpp:193
ErrorCode
Error codes for exceptions.
Definition: File.hpp:110
auto_base(P *const p=0)
Construct from any pointer (may be 0).
Definition: Misc.hpp:75
RealTimeStamp class encapsulating "gettimeofday".
Definition: Time.hpp:51
QuotaInfo exceptions.
Definition: QuotaInfo.hpp:111
unsigned long getINodeHL() const
Hard limit of inodes.
Definition: QuotaInfo.cpp:478
Write and keep pid file during lifetime.
Definition: File.hpp:32
UnixSocket & unixBind(uid_t uid=::geteuid(), gid_t gid=::getegid(), mode_t mode=S_IRUSR|S_IWUSR, bool silentUnlink=true)
Bind this unix socket.
Definition: Socket.cpp:350
std::string getID() const
Get id (informational).
Definition: Recoder.cpp:90
RealTimeStamp & operator-=(RealTimeStamp const &rt)
Standard -= operator.
Definition: Time.cpp:143
virtual int overflow(int c)
streambuf overflow overload.
Definition: Socket.hpp:180
ReservedStatus
Reserved exit status'. Do not use these as return codes in your run()-functions.
Definition: Thread.hpp:49
Type
All three possible types of CLOption* Classes.
Definition: GetOpt.hpp:179
static std::string commandFromLine(std::string const &line)
Helper function.
Definition: CmdLine.cpp:215
StrVec strtoks(std::string const &s, std::string const &delims, std::string const &prefix, std::string const &postfix)
Like strtok, but you can use a list of one-char delimiters (delims in strtoks) instead of a fixed del...
Definition: Text.cpp:157
Rfc2047Converter(std::string const &inCharEnc)
Constructor; inEnc and outEnc are fixed by the encode flag.
Definition: Recoder.cpp:394
unsigned long getINodeSL() const
Soft limit of inodes.
Definition: QuotaInfo.cpp:479
FDTypeStream(int fd, bool closeFd=false)
Definition: Socket.hpp:231
int wrongUsage(std::string const &reason, std::string const &title="\nUsage:\n\n") const
Helper.
Definition: GetOpt.cpp:293
ErrorCode
Error codes for exceptions.
Definition: Time.hpp:55
Variant of QuotaInfo from any file in FS.
Definition: QuotaInfo.hpp:190
auto_free(P *const p)
Control this memory allocated via std::*alloc.
Definition: Misc.hpp:131
unsigned long getINodes() const
Current inode usage.
Definition: QuotaInfo.cpp:480
static std::string xorDecrypt(const unsigned char *message, const int length, std::string const &key)
Definition: Text.cpp:303
SocketPair(bool const &closeFd=true)
socketpair(2) abstraction.
Definition: Socket.cpp:386
std::ostream & operator<<(std::ostream &os, RealTimeStamp const &rt)
Streaming operator for RealTimeStamp.
Definition: Time.cpp:183
Converter UTF-8 <-> rfc3490 (IDN).
Definition: Recoder.hpp:243
FILE * get() const
Get C file stream.
Definition: File.cpp:88
Converter for URL-Encoding.
Definition: Recoder.hpp:157
Log time used for a scope.
Definition: Time.hpp:128
Definition: Cookie.hpp:23
std::string getArg() const
Get argument given with this option.
Definition: GetOpt.cpp:53
Generic exception class for namespace UI.
Definition: Exception.hpp:98
const char ** get() const
Get C string array.
Definition: Text.cpp:145
const Conversion * make(char const *const buf, size_t const bufSize) const
Convert from byte buffer.
Definition: Recoder.cpp:371
Helper to enable effective capabilities safely for a scope.
Definition: Cap.hpp:46
RequestLine(Method const &method=Post_, std::string const &uri="/", std::string const &version="HTTP/1.1")
Construct from components.
Definition: Header.cpp:58
virtual std::streamsize read(void *const buf, std::streamsize count)
C++-like virtual read method.
Definition: Socket.cpp:227
void add(Cmd *cmd)
Add a command to the command line.
Definition: CmdLine.cpp:433
Text, descriptors and sockets.
Posixregex, descriptors and sockets.
Socket & listen(int backlog=16)
Start listening.
Definition: Socket.cpp:147
bool isRunning()
Definition: Thread.cpp:103
Internal command: Exit command line.
Definition: CmdLine.cpp:233
ErrorCode
Error codes for exceptions.
Definition: Misc.hpp:259
~auto_free()
Free memory via std::free.
Definition: Misc.hpp:136
std::string getString() const
Get std::string copy of conversion data.
Definition: Recoder.cpp:44
bool getFreeBlocksHL(unsigned long &free) const
Get free blocks from hard limit. False, if there is no hard limit.
Definition: QuotaInfo.cpp:485
T Default()
Defaults values for some types via template specialization.
Definition: Text.hpp:64
MutexLock(Mutex &mutex, bool wait=true)
Constructor; locks the mutex.
Definition: Misc.hpp:197
std::string getSyntax() const
Get syntax line: cmd arg1 arg2 [arg3].
Definition: CmdLine.cpp:66
SysLogMono & operator()(int level)
Log operator.
Definition: SysLogMono.cpp:49
static UI::Util::auto_ptr< unsigned char > base64Decode(std::string const &message, int *length)
Definition: Text.cpp:357
Exception(std::string const &what=NoWhatGiven_, std::string const &debug=NoDebugGiven_, int const &errNo=0)
Construct with description text.
Definition: Exception.cpp:15
static std::string encode(std::string const &url)
Encode an URL string.
Definition: Recoder.cpp:293
std::string getconf(int id)
Loosely like the shell utility "getconf".
Definition: Sys.cpp:751
virtual INetSocket & connect()
Connect this socket.
Definition: Socket.cpp:301
Handle "SetCookie" request header field values syntactically.
Definition: Cookie.hpp:70
virtual const Conversion * make(char const *const buf, size_t const bufSize) const =0
Convert from byte buffer.
void set(P *const p)
Set controlled pointer (must not be 0).
Definition: Misc.hpp:80
virtual void printUsage() const
Print usage information for this option.
Definition: GetOpt.cpp:145
Unix Socket.
Definition: Socket.hpp:129
File representation.
Definition: File.hpp:179
RealTimeStamp & set(long int const &sec, long int const &usec)
Set time stamp manually.
Definition: Time.cpp:65
pid_t getPID() const
Get PID of running "thread".
Definition: Thread.cpp:62
void freeAnySeqContainer(std::vector< ElType * > &l)
Run "std::free" on all vector elements, and clear the vector. *>.
Definition: Misc.hpp:41
Converter for Base64 encoding, using CommonCpp functions.
Definition: Recoder.hpp:223
GetOpt(int argc, char *const *const argv)
Standard constructor.
Definition: GetOpt.cpp:162
virtual Socket & connect()
Connect this socket.
Definition: Socket.cpp:142
void printUsage(std::string const &title="\nUsage:\n\n") const
Prints out Usage information to cout (stdout).
Definition: GetOpt.cpp:300
float Default< float >()
Default-Specialising.
Definition: Text.hpp:68
static UI::Util::auto_ptr< unsigned char > xorEncrypt(std::string const &message, std::string const &key, int *length)
Definition: Text.cpp:285
const Conversion * make(char const *const buf, size_t const bufSize) const
Convert from byte buffer.
Definition: Recoder.cpp:398
const std::string & getName() const
Get file name. This will always deliver en empty string if constructed from fd.
Definition: File.cpp:187
int wait()
Wait for this "thread", and return the process' exit status.
Definition: Thread.cpp:109
std::string getName() const
Get command name.
Definition: CmdLine.cpp:47
CStrArray & add(std::string const &str)
Add string to array.
Definition: Text.cpp:126
Converter based on librecode (see there).
Definition: Recoder.hpp:123
SysLogMonoSingleton(std::string const &ident, int option, int facility)
Definition: SysLogMono.cpp:55
ErrorCode
Error codes for exceptions.
Definition: Recoder.hpp:86
std::string getLine(std::string const &prefix="", std::string const &expiresDefault="", std::string const &pathDefault="", std::string const &domainDefault="") const
Composition.
Definition: Cookie.cpp:277
RealTimeStamp(long int const &sec=0, long int const &usec=0)
Standard constructor.
Definition: Time.cpp:60
std::pair< out_type, bool > eato(std::string const &t, StreamModifier const m=0)
String-to-anything converter with error handling.
Definition: Text.hpp:88
RealTimeStamp operator+(RealTimeStamp const &rt) const
Standard + operator.
Definition: Time.cpp:136
virtual std::string getCOptShort() const
Get GNU getopt(3) represention of this option.
Definition: GetOpt.cpp:96
int getStatus() const
Get status of last run.
Definition: Thread.cpp:98
Internal command: Source another script.
Definition: CmdLine.cpp:328
CmdLine(std::istream *is=&std::cin, std::ostream *os=&std::cout, std::ostream *es=&std::cerr, std::string const &title="Simple Command Line Interface", std::string const &prompt="\nCommand # ")
Definition: CmdLine.cpp:393
Control freeing of C vector pointers via delete[].
Definition: Misc.hpp:104
virtual UnixSocket & bind()
Bind this socket.
Definition: Socket.cpp:345
bool operator<=(RealTimeStamp const &rt) const
Standard <= operator.
Definition: Time.cpp:123
Exception for Http namespace.
Definition: Header.hpp:23
RealTimeStamp operator-(RealTimeStamp const &rt) const
Standard - operator.
Definition: Time.cpp:162
socketpair(2) abstraction.
Definition: Socket.hpp:244
void setCL(CmdLine *cl)
Set Command Line Pointer; This must be run when adding commands from a CmdLine.
Definition: CmdLine.cpp:184
HTTP URL parser.
Definition: URL.hpp:18
Simple encapsulation for any process based threading system.
Definition: Thread.hpp:40
This can be used to cache recoder instances.
Definition: Recoder.hpp:303
unsigned int nsnsleep(long int nanoseconds)
No Signal Nano Sleep.
Definition: Time.cpp:52
CLOption(std::string const &nameLong, char nameShort, std::string const &doc="No documentation for this option.", std::string const &defaultArg="")
Standard constructor. Normally, you would not use this directly, but rather use GetOpt::set.
Definition: GetOpt.cpp:21
const Conversion * make(char const *const buf, size_t const bufSize) const
Convert from byte buffer.
Definition: Recoder.cpp:148
void delAnySeqContainer(std::vector< ElType * > &l)
Run "delete" on all vector elements, and clear the vector. *>.
Definition: Misc.hpp:27
std::string getMethod() const
Get method string of utilized method.
Definition: QuotaInfo.cpp:474
Simple exception-save FILE abstraction.
Definition: File.hpp:67
StringConversion(std::string *str)
Constructor. str will be delete'd.
Definition: Recoder.cpp:61
char getNameShort() const
Get the short name.
Definition: GetOpt.cpp:38
Generic exception class for namespace UI::Util.
Definition: Exception.hpp:154
Internal command: Set a variable.
Definition: CmdLine.cpp:289
Helper class representing match data.
Definition: PosixRegex.hpp:42
int bufPutbackSize_
Buffer control variables.
Definition: Socket.hpp:175
std::string getDoc() const
Get the documentation.
Definition: GetOpt.cpp:43
unsigned long getBlockSL() const
Soft limit of disk blocks.
Definition: QuotaInfo.cpp:476
std::string get() const
Get composition.
Definition: Header.cpp:106
CLOptionOptArg(std::string const &nameLong, char nameShort, std::string const &doc="No documentation for this option.", std::string const &defaultArg="")
Standard constructor.
Definition: GetOpt.cpp:127
RealTimeStamp & setMax()
Set this stamp to maximum.
Definition: Time.cpp:73
void setVar(std::string const &key, std::string const &value)
Set variable value.
Definition: CmdLine.cpp:498
Holder class for conversion results.
Definition: Recoder.hpp:26
auto_cvec(P *const p)
Control this C vector pointer created via new P[n].
Definition: Misc.hpp:108
int accept(long int toSeconds=0, long int toMicroSeconds=0)
Accept an incoming socket connection.
Definition: Socket.cpp:160
long int getTimeValSec()
Get "sec"-part from gettimeofday(2).
Definition: Time.cpp:17
RealTimeStamp & stamp()
Set time stamp from current time.
Definition: Time.cpp:89
uid_t getOrigUID() const
Get the original effective user id.
Definition: Misc.cpp:32
void init(int fd, bool closeFd=false)
To be called in a constructor.
Definition: File.cpp:169
virtual void start()=0
Start fork "thread".
void addArg(std::string const &name, std::string const &help="No help for this option")
Add mandatory argument. Use this in constructors of custom Cmd classes.
Definition: CmdLine.cpp:52
int getFd() const
Get file descriptor.
Definition: File.cpp:164
static const std::string Errno_
If this string is used in a "what" description message, it will be replaced by an errno error string.
Definition: Exception.hpp:109
virtual int underflow()
streambuf underflow overload.
Definition: Socket.hpp:200
Socket, descriptors and sockets.
Conversion w/ std::string holder.
Definition: Recoder.hpp:70
static std::string dec2Basis(int number, int basis)
Definition: Text.cpp:246
C++ Abstraction of syslog(3) for mono threaded applications.
Definition: SysLogMono.hpp:27
std::ostream & es()
Get in-stream.
Definition: CmdLine.cpp:453
unsigned begin
Definition: PosixRegex.hpp:49
BSDFileMutex(std::string const &lockFile)
Constructor from file name.
Definition: File.cpp:237
long double getSeconds() const
Get seconds (since Epoch) as real number (including micro seconds).
Definition: Time.cpp:108
bool getFreeBlocksSL(unsigned long &free) const
Get free blocks from soft limit. False, if there is no soft limit.
Definition: QuotaInfo.cpp:490
bool isParsed() const
Check if we are in "parsed" state.
Definition: CmdLine.cpp:143
Type
Type of quota information.
Definition: QuotaInfo.hpp:62
CodeException< ErrorCode > Exception
This classes exceptions.
Definition: Time.hpp:60
RealTimeStamp & setMin()
Set this stamp to minimum (Epoch)
Definition: Time.cpp:83
SetCookie & setLine(std::string const &line)
This resets all values and sets the values in line.
Definition: Cookie.cpp:197
virtual option * getCOptLong(option *opt) const
Get GNU getopt_long(3) represention of this option.
Definition: GetOpt.cpp:137
Syslog Mono Log: Singleton logger using syslog() for mono threaded applications.
PosixRegex(std::string const ®ex, int cflags=0)
Definition: PosixRegex.cpp:21
Get canonical absolute path name (mutex-protected)
Definition: Misc.hpp:238
Thread, descriptors and sockets.
time_t fileModificationTime(std::string const &path)
Get the modification time for a file.
Definition: File.cpp:121
Conversion w/ std::free call on the supplied C-String.
Definition: Recoder.hpp:59
Cpp2Base64Converter(bool const encode=true)
Constructor; inEnc and outEnc are fixed by the encode flag.
Definition: Recoder.cpp:367
Class representing a command line option with optional argument.
Definition: GetOpt.hpp:149
CLOption * get(char nameShort)
Get an option object from short name.
Definition: GetOpt.cpp:196
URLConverter(bool const encode=true)
Constructor; inEnc and outEnc are fixed by the encode flag.
Definition: Recoder.cpp:257
void showVars()
Show (print) all variable values.
Definition: CmdLine.cpp:531
int Default< int >()
Default-Specialising.
Definition: Text.hpp:66
const Conversion * make(char const *const buf, size_t const bufSize) const
Convert from byte buffer.
Definition: Recoder.cpp:463
bool getFreeINodesHL(unsigned long &free) const
Get free indoes from hard limit. False, if there is no hard limit.
Definition: QuotaInfo.cpp:495
Conversion(char const *const cStr, size_t const cSize)
Constructor.
Definition: Recoder.cpp:24
bool isValid()
Check if given command line arguments are "well-formed".
Definition: GetOpt.cpp:284
size_t getSize() const
Get size (in bytes) of conversion data.
Definition: Recoder.cpp:39
const Conversion * make(char const *const buf, size_t const bufSize) const
Convert from byte buffer.
Definition: Recoder.cpp:206
StrVec strtok(std::string const &s, std::string const &delim, std::string const &prefix, std::string const &postfix)
Generate any STL container of strings from a token string.
Definition: Text.cpp:152
virtual std::string getCOptShort() const
Get GNU getopt(3) represention of this option.
Definition: GetOpt.cpp:131
std::ostream & os()
Get out-stream.
Definition: CmdLine.cpp:452
ErrorCode
Error codes for exceptions.
Definition: Misc.hpp:185
int getMaxArgs() const
Get max args.
Definition: CmdLine.cpp:64
virtual option * getCOptLong(option *opt) const
Get GNU getopt_long(3) represention of this option.
Definition: GetOpt.cpp:102
virtual void printUsage() const
Print usage information for this option.
Definition: GetOpt.cpp:76
Simple encapsulation of fork(2) using common thread syntax.
Definition: Thread.hpp:99
std::streambuf::traits_type traits
Shortcut.
Definition: Socket.hpp:171
unsigned int nanosleep(unsigned int seconds, long int nanoseconds)
No Signal Sleep: Using POSIX nanosleep(2).
Definition: Time.cpp:31
std::string genAlphaNumericKey(int len)
For compatibility only.
Definition: Text.cpp:108
static std::string stripLine(std::string const &line)
Helper function.
Definition: CmdLine.cpp:207
File system information abstraction.
Definition: File.hpp:300
Cmd(std::string const &name, std::string const &help="No help for this command")
Standard constructor.
Definition: CmdLine.cpp:32
void delStringMap(std::map< std::string, ElType * > &l)
Utility to delete any map<string, anytype>.
Definition: Misc.hpp:55
virtual ~FileDescriptor()
Destructor.
Definition: File.cpp:147
INet Socket.
Definition: Socket.hpp:110
bool Default< bool >()
Default-Specialising.
Definition: Text.hpp:74
bool operator<(RealTimeStamp const &rt) const
Standard < operator.
Definition: Time.cpp:118
virtual std::streamsize read(void *const buf, std::streamsize count)
C++ like virtual read method.
Definition: File.cpp:152
Adding code facility to Exception.
Definition: Exception.hpp:138
int fd_
The file descriptor that is managed.
Definition: File.hpp:166
static std::string guess(std::string const &id)
Guess a pid file (/var/run/id.pid or ~/.id.pid).
Definition: File.cpp:32
Handle "Cookie" request header field values syntactically.
Definition: Cookie.hpp:37
Namespace for ui-utilcpp.
Definition: auto_ptr_compat.hpp:17
IdnEMailConverter(std::string const &inEnc)
Constructor; inEnc and outEnc are fixed by the encode flag.
Definition: Recoder.cpp:487
P * get() const
Get underlying pointer.
Definition: Misc.hpp:87
P * p_
Controlled pointer.
Definition: Misc.hpp:99
bool matches
Definition: PosixRegex.hpp:47
Handle a vector of SetCookie's.
Definition: Cookie.hpp:121
Helper to construct/use C-String arrays ("char **"), occasionally needed by some c functions.
Definition: Text.hpp:181
std::string strerror(int const &errNo)
Save wrapper for strerror. Always use this instead of strerror directly.
Definition: Text.cpp:25
File Descriptor Holder Class.
Definition: File.hpp:103
Template IO stream buffer for all file descriptors types.
Definition: Socket.hpp:152
Rfc3490Utf8Converter(bool const encode=true)
Constructor; inEnc and outEnc are fixed by the encode flag.
Definition: Recoder.cpp:459
void showVar(std::string const &key)
Show (print) variable value.
Definition: CmdLine.cpp:525
Parse and represent a response's status line.
Definition: Header.hpp:99
Mutex Lock class; an object of this class will guard a scope.
Definition: Misc.hpp:181
virtual std::streamsize xsputn(const char *s, std::streamsize n)
streambuf xsputn overload.
Definition: Socket.hpp:194
bool isGiven() const
Check if this option was given.
Definition: GetOpt.cpp:48
FDTypeBuf(int fd, bool closeFd=false, int bufPutbackSize=4, int bufDataSize=1024)
Constructor for file descriptor stream buffer.
Definition: Socket.hpp:156
std::string getlineCRLF(std::istream &s)
Like std::getline, but also rips of trailing "CR" when line break was CRLF.
Definition: Text.cpp:51
time_t getBlockTL() const
Block timer limit.
Definition: QuotaInfo.cpp:481
virtual std::streamsize write(void const *const buf, std::streamsize count)
C++-like virtual write method.
Definition: Socket.cpp:233
StdFreeConversion(char *cStr, size_t const cSize)
Constructor. cStr will be std::free'd.
Definition: Recoder.cpp:51
bool run(std::string const &text, int eflags=0)
Check if text matches.
Definition: PosixRegex.cpp:59
std::string istream2String(std::istream &f, int const blockSize)
Istream-to-string converter.
Definition: Text.cpp:198
bool parse(std::string const &line)
Parse a line.
Definition: CmdLine.cpp:97
virtual std::string getCOptShort() const
Get GNU getopt(3) represention of this option.
Definition: GetOpt.cpp:70
int status_
Definition: Thread.hpp:83
int run()
Definition: CmdLine.cpp:539
virtual UnixSocket & connect()
Connect this socket.
Definition: Socket.cpp:374
SysLogMono(std::string const &ident, int option, int facility)
Definition: SysLogMono.cpp:20
static std::string base64Encode(const unsigned char *message, const int length)
Definition: Text.cpp:321
FQuotaInfo(std::string const &fileName, int const id=Sys::geteuid(), Type const type=Usr_)
Definition: QuotaInfo.hpp:198
char * buf_
Internal buffer.
Definition: Socket.hpp:177
IConvConverter(std::string const &inEnc, std::string const &outEnc, const bool &sloppy=false)
Constructor; this does not support sloppy encoding.
Definition: Recoder.cpp:189
CodeException< ErrorCode > Exception
This classes exceptions.
Definition: Misc.hpp:264
#define UI_THROW_CODE_ERRNO(code, call)
Throw code exception w/ errno handling.
Definition: Exception.hpp:26
virtual Socket & bind()
Bind this socket.
Definition: Socket.cpp:137
int getMinArgs() const
Get min args.
Definition: CmdLine.cpp:63
const std::string get() const
Get textual representation (see man cap_to_text(3)).
Definition: Cap.cpp:56
Namespace for all HTTP related code.
Definition: Connection.cpp:9
Recoder(std::string const &inEnc, std::string const &outEnc, bool const &sloppy=false)
Constructor; sloppy is only supported by some converters.
Definition: Recoder.cpp:538