author | ulf69 <ulf69> | 2004-09-15 17:53:22 (UTC) |
---|---|---|
committer | ulf69 <ulf69> | 2004-09-15 17:53:22 (UTC) |
commit | d3925ba5bd25224bc4a60d3d6a107c464994a1ea (patch) (side-by-side diff) | |
tree | 60f69da1d2b79ee3081e7ef5c09a46470ca6eda0 /pwmanager/pwmanager/randomizer.h | |
parent | ce83a3479d23b9e8a59c745ccd0a0b14f64ef4e8 (diff) | |
download | kdepimpi-d3925ba5bd25224bc4a60d3d6a107c464994a1ea.zip kdepimpi-d3925ba5bd25224bc4a60d3d6a107c464994a1ea.tar.gz kdepimpi-d3925ba5bd25224bc4a60d3d6a107c464994a1ea.tar.bz2 |
initial revision
Diffstat (limited to 'pwmanager/pwmanager/randomizer.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | pwmanager/pwmanager/randomizer.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/pwmanager/pwmanager/randomizer.h b/pwmanager/pwmanager/randomizer.h new file mode 100644 index 0000000..db17334 --- a/dev/null +++ b/pwmanager/pwmanager/randomizer.h @@ -0,0 +1,67 @@ +/*************************************************************************** + * * + * copyright (C) 2003, 2004 by Michael Buesch * + * email: mbuesch@freenet.de * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License version 2 * + * as published by the Free Software Foundation. * + * * + ***************************************************************************/ + +/*************************************************************************** + * copyright (C) 2004 by Ulf Schenk + * This file is originaly based on version 1.0.1 of pwmanager + * and was modified to run on embedded devices that run microkde + * + * $Id$ + **************************************************************************/ + +#ifndef RANDOMIZER_H +#define RANDOMIZER_H + +#include "pwmexception.h" + +#include <stdio.h> + +/** simple randomizer + * This class is *NOT* reentrant save! + */ +class Randomizer +{ +public: + Randomizer(); + ~Randomizer(); + + static Randomizer * obj() + { + PWM_ASSERT(rndObj); + return rndObj; + } + static void init() + { + PWM_ASSERT(!rndObj); + rndObj = new Randomizer; + } + static void cleanup() + { + delete_ifnot_null(rndObj); + } + + /** generate random char */ + char genRndChar(); + /** generate random int */ + int genRndInt(); + /** generate random unsigned int */ + unsigned int genRndUInt(); + +protected: + /** random-device-node (if available. Otherwise NULL) */ + FILE *rndDev; + /** seed value for fallback - rand_r() */ + unsigned int seed; + /** static Randomier object returned by obj() */ + static Randomizer *rndObj; +}; + +#endif |