X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=include%2Fanna%2Fcore%2Ffunctions.hpp;h=58b8cd882bcc84380996007b12661273b4ceae82;hb=eb446c670d53aa275d78b366ef1faf2b32ca964e;hp=0ceb35856ec93ec1c5cc6664a3644d6259e70517;hpb=129500a50678c43ff28fb0054d6197899b8c0b2c;p=anna.git diff --git a/include/anna/core/functions.hpp b/include/anna/core/functions.hpp index 0ceb358..58b8cd8 100644 --- a/include/anna/core/functions.hpp +++ b/include/anna/core/functions.hpp @@ -103,22 +103,6 @@ struct functions { */ static std::string asString(const unsigned int number) throw(); - /** - \param number Numero a convertir. - @return Un literal con el numero sin signo convertido a cadena decimal. - */ - static std::string asString(const unsigned long long int number) throw() { - return asString((U64)number); - } - - /** - \param number Numero a convertir. - @return Un literal con el numero sin signo convertido a cadena decimal. - */ - static std::string asString(const long long int number) throw() { - return asString((S64)number); - } - /** Devuelve un literal con tel numero convertido a cadena decimal @return Un literal con el numero signo convertido a cadena decimal. @@ -320,18 +304,6 @@ struct functions { */ static S64 hash(const std::string& str) throw() { return hash(str.c_str()); } - /** - Calcula la funcion hash exclusive de la cadena recibida como parametro. - \param str Cadena a la que aplicar la funcion hash exclusiva. - */ - static unsigned long exclusiveHash(const std::string& str) throw() { return st_stringExclusiveHash.calcule(str); } - - /** - Calcula la funcion hash exclusive de la cadena recibida como parametro. - \param str Cadena a la que aplicar la funcion hash exclusiva. - */ - static unsigned long exclusiveHash(const char* str) throw() { return st_stringExclusiveHash.calcule(std::string(str)); } - /** Devuelve la cadena que contiene el resultado de aplicar la especificacion \em format sobre el resto de los parametros. @@ -423,7 +395,7 @@ struct functions { // Note that CLOCK_MONOTONIC is subject to discontinuities from system time // adjustment in Linux. CLOCK_MONOTONIC_RAW was defined to get around this // (gets hardware time not adjusted by NTP). - clock_gettime(CLOCK_MONOTONIC_RAW, &ts); // works + clock_gettime(CLOCK_MONOTONIC, &ts); // works Microsecond result((Microsecond::type_t)1000000 * ts.tv_sec + ts.tv_nsec / 1000); return result; @@ -663,25 +635,6 @@ struct functions { return functions::componentByName (T::getClassName(), fromFile, fromLine); } - - /** - * Gets exclusive hash for string provided on integer range - * - * @param str String hashed - * - * @return Hash unique value - */ - static int exclusiveHashInt(const std::string& str) throw() { return st_string2intExclusiveHash.calcule(str); } - - /** - * Gets exclusive hash for string (char pointer) provided on integer range - * - * @param str String hashed - * - * @return Hash unique value - */ - static int exclusiveHashInt(const char* str) throw() { return st_string2intExclusiveHash.calcule(std::string(str)); } - /** Finds string at the end of another @@ -1145,9 +1098,27 @@ struct functions { */ static void codeIsupNumber(const isup_number_t & isupNumber, bool calledOrCalling, std::string & target) throw(RuntimeException); -private: - static ExclusiveHash st_stringExclusiveHash; - static ExclusiveHash st_string2intExclusiveHash; + /** + * Base64 encoding + * + * @param str String to be encoded + * + * @return Returns encoded representation + */ + static std::string encodeBase64(const U8* buf, unsigned int bufLen); + static std::string encodeBase64(const std::string & str) + { + return encodeBase64((const U8 *)str.c_str(), str.size()); + } + + /** + * Base64 decoding + * + * @param encodedString Encoded base64 representation + * + * @return Returns decoded representation + */ + static std::string decodeBase64(const std::string & encodedString); }; }