summaryrefslogtreecommitdiffabout
path: root/include/opkele
authorMichael Krelin <hacker@klever.net>2007-01-12 14:04:13 (UTC)
committer Michael Krelin <hacker@klever.net>2007-01-12 14:04:13 (UTC)
commit782d7a9e2c07ff6621b754595642aa3fec377bd2 (patch) (side-by-side diff)
tree491a9d726bf8d027350c81877be2dd2baca40971 /include/opkele
parentd6a92f4891cd730c1c3cdba90f474cf253534120 (diff)
downloadlibopkele-782d7a9e2c07ff6621b754595642aa3fec377bd2.zip
libopkele-782d7a9e2c07ff6621b754595642aa3fec377bd2.tar.gz
libopkele-782d7a9e2c07ff6621b754595642aa3fec377bd2.tar.bz2
added more doxygen comments
Diffstat (limited to 'include/opkele') (more/less context) (ignore whitespace changes)
-rw-r--r--include/opkele/util.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/include/opkele/util.h b/include/opkele/util.h
index 80d8b03..2a7a859 100644
--- a/include/opkele/util.h
+++ b/include/opkele/util.h
@@ -12,8 +12,12 @@ namespace opkele {
using std::vector;
namespace util {
+ /**
+ * Convenience class encapsulating SSL BIGNUM object for the purpose of
+ * automatical freeing.
+ */
class bignum_t {
public:
BIGNUM *_bn;
@@ -25,8 +29,12 @@ namespace opkele {
operator const BIGNUM*(void) const { return _bn; }
operator BIGNUM*(void) { return _bn; }
};
+ /**
+ * Convenience clas encapsulating SSL DH object for the purpose of
+ * automatic freeing.
+ */
class dh_t {
public:
DH *_dh;
@@ -42,21 +50,79 @@ namespace opkele {
DH* operator->() { return _dh; }
const DH* operator->() const { return _dh; }
};
+ /**
+ * Convert base64-encoded SSL BIGNUM to internal representation.
+ * @param b64 base64-encoded number
+ * @return SSL BIGNUM
+ * @throw failed_conversion in case of error
+ */
BIGNUM *base64_to_bignum(const string& b64);
+ /**
+ * Convert decimal representation to SSL BIGNUM.
+ * @param dec decimal representation
+ * @return resulting BIGNUM
+ * @throw failed_conversion in case of error
+ */
BIGNUM *dec_to_bignum(const string& dec);
+ /**
+ * Convert SSL BIGNUM data to base64 encoded string.
+ * @param bn BIGNUM
+ * @return base64encoded string
+ */
string bignum_to_base64(const BIGNUM *bn);
+ /**
+ * Convert internal time representation to w3c format
+ * @param t internal representation
+ * @return w3c time
+ * @throw failed_conversion in case of error
+ */
string time_to_w3c(time_t t);
+ /**
+ * Convert W3C time representation to internal time_t
+ * @param w w3c representation
+ * @return converted time
+ * @throw failed_conversion in case of error
+ */
time_t w3c_to_time(const string& w);
+ /**
+ * Encode string to the representation suitable for using in URL.
+ * @param str string to encode
+ * @return encoded string
+ * @throw failed_conversion in case of failure
+ */
string url_encode(const string& str);
+ /**
+ * Convert number to string
+ * @param l number
+ * @return string representation
+ * @throw failed_conversion in case of failure
+ */
string long_to_string(long l);
+ /**
+ * Convert string to number
+ * @param s string, containing the number
+ * @return the number
+ * @throw failed_conversion in case of failure
+ */
long string_to_long(const string& s);
+ /**
+ * Encode binary data using base64.
+ * @param data pointer to binary data
+ * @param length length of data
+ * @return encoded data
+ */
string encode_base64(const void *data,size_t length);
+ /**
+ * Decode binary data from base64 representation.
+ * @param data base64-encoded data
+ * @param rv container for decoded binary
+ */
void decode_base64(const string& data,vector<unsigned char>& rv);
}
}