Diffstat (limited to 'include/sitecing/sitecing_util.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | include/sitecing/sitecing_util.h | 24 |
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,142 +1,166 @@ #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(); } /** * Do lock. * @param f file name. */ void lock(const string& f); /** * @todo TODO: wish I could remember the details -- document me. */ void lock(); /** * Release the lock obtained. */ void unlock(); }; /** * The pid file. Removed at object destruction. */ class pid_file { public: /** * The file name. */ string file_name; /** * Do we unlink the file after we're done? */ bool unlink_pid; pid_file() : unlink_pid(false) { } ~pid_file() { unlink(); } /** * @param f file name. * @param u whether we want to unlink the file. */ void set(const string& f,bool u=true); /** * Unlink the file if we wanted to in the first place. */ void unlink(); }; /** * The semaphore object. */ class semaphore { public: /** * The semaphore id. */ int semid; semaphore() : semid(-1) { } /** * @param sid semaphore id. */ semaphore(int sid) : semid(sid) { } ~semaphore() { deinit(); } /** * Init semaphore. */ void init(); /** * Undo the init. */ void deinit(); |