summaryrefslogtreecommitdiffabout
path: root/include/sitecing/sitecing_util.h
Side-by-side diff
Diffstat (limited to 'include/sitecing/sitecing_util.h') (more/less context) (show whitespace changes)
-rw-r--r--include/sitecing/sitecing_util.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/include/sitecing/sitecing_util.h b/include/sitecing/sitecing_util.h
index f642c74..233292c 100644
--- a/include/sitecing/sitecing_util.h
+++ b/include/sitecing/sitecing_util.h
@@ -1,70 +1,94 @@
#ifndef __SITECING_SITECING_UTIL_H
#define __SITECING_SITECING_UTIL_H
#include <sys/types.h>
#include <string>
#include <konforka/exception.h>
#include <konforka/util.h>
/**
* @file
* @brief utility classes and functions.
*/
namespace sitecing {
using namespace std;
/**
* Base class for utility exceptions.
*/
class utility_error : public konforka::exception {
public:
+ /**
+ * @param fi file name
+ * @param fu function name
+ * @param l line number
+ * @param w what
+ */
utility_error(const string& fi,const string& fu,int l,const string& w)
: konforka::exception(fi,fu,l,w) { }
};
/**
* No prefix or suffix found to strip out.
*/
class utility_no_affix : public utility_error {
public:
+ /**
+ * @param fi file name
+ * @param fu function name
+ * @param l line number
+ * @param w what
+ */
utility_no_affix(const string& fi,const string& fu,int l,const string& w)
: utility_error(fi,fu,l,w) { }
};
/**
* No prefix to strip found.
*/
class utility_no_prefix : public utility_no_affix {
public:
+ /**
+ * @param fi file name
+ * @param fu function name
+ * @param l line number
+ * @param w what
+ */
utility_no_prefix(const string& fi,const string& fu,int l,const string& w)
: utility_no_affix(fi,fu,l,w) { }
};
/**
* No suffix to strip found.
*/
class utility_no_suffix : public utility_no_affix {
public:
+ /**
+ * @param fi file name
+ * @param fu function name
+ * @param l line number
+ * @param w what
+ */
utility_no_suffix(const string& fi,const string& fu,int l,const string& w)
: utility_no_affix(fi,fu,l,w) { }
};
/**
* The file lock object. Released at the object destruction.
*/
class file_lock {
public:
/**
* The file descriptor.
*/
int fd;
file_lock()
: fd(-1) { }
/**
* @param f file name.
*/
file_lock(const string& f)
: fd(-1) { lock(f); }
~file_lock() { unlock(); }
/**