X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/d63d2c3c6cbbd574dda4f8b00ebe6c661735edd5..9e0b367cd7017f8abf3e3ea804966ce6e23a768f:/lib/base/estring.h?ds=sidebyside diff --git a/lib/base/estring.h b/lib/base/estring.h index 36f6636a..727d591e 100644 --- a/lib/base/estring.h +++ b/lib/base/estring.h @@ -6,108 +6,23 @@ #include #include "eerror.h" -int strnicmp(const char*, const char*, int); - -class eString : public std::string -{ -public: -// constructors - inline eString() {} - inline eString(const char* p); - inline eString(const char* p, int cnt); - inline eString(const std::string &s); -// methods - inline eString left(unsigned int len) const; - inline eString mid(unsigned int index, unsigned int len=(unsigned)-1) const; - inline eString right(unsigned int len) const; - bool isNull() const; -// operators - inline operator bool() const; - inline bool operator!() const; -// methods with implementation in estring.cpp - eString& sprintf(char *fmt, ...); - eString& setNum(int val, int sys=10); - eString& removeChars(const char fchar); - eString& strReplace(const char* fstr, const eString& rstr); - eString& upper(); - int icompare(const eString& s); -}; - -eString convertDVBUTF8(unsigned char *data, int len, int table=5); -eString convertUTF8DVB(const eString &string); // with default ISO8859-5 -eString convertLatin1UTF8(const eString &string); -int isUTF8(const eString &string); +std::string buildShortName( const std::string &str ); -/////////////////////////////////////////////// Copy Constructors //////////////////////////////////////////////// -inline eString::eString(const std::string &s) - :std::string(s) -{ -} - -inline eString::eString(const char* p) - :std::string(p?p:"") // when the char* p is null, than use ""... otherwise crash... -{ -} - -inline eString::eString(const char* p, int cnt) - :std::string(p, cnt) -{ -} - -///////////////////////////////////////// eString operator bool ///////////////////////////////////////////////// -inline eString::operator bool() const -{ -// Returns a bool that contains true if the string longer than 0 Character otherwise false; - return !empty(); -} - -///////////////////////////////////////// eString operator! //////////////////////////////////////////////////// -inline bool eString::operator!() const -{ -// Returns a bool that contains true if the string ist empty otherwise false; - return empty(); -} - -///////////////////////////////////////// eString left ////////////////////////////////////////////////////////// -inline eString eString::left(unsigned int len) const -{ -// Returns a substring that contains the len leftmost characters of the string. -// The whole string is returned if len exceeds the length of the string. - return len >= length() ? *this : substr(0, len); -} - -//////////////////////////////////////// eString mid //////////////////////////////////////////////////////////// -inline eString eString::mid(unsigned int index, unsigned int len) const -{ -// Returns a substring that contains the len characters of this string, starting at position index. -// Returns a null string if the string is empty or index is out of range. Returns the whole string from index if index+len exceeds the length of the string. - register unsigned int strlen = length(); - - if (index >= strlen) - return eString(); +int strnicmp(const char*, const char*, int); - if (len == (unsigned)-1) - return substr(index); +std::string getNum(int num, int base=10); - if (strlen < index + len) - len = strlen-index; +std::string convertDVBUTF8(const unsigned char *data, int len, int table=1, int tsidonid=1); // with default ISO8859-1 / Latin1 +std::string convertLatin1UTF8(const std::string &string); +int isUTF8(const std::string &string); - return substr(index, len); -} - -//////////////////////////////////////// eString right //////////////////////////////////////////////////////////// -inline eString eString::right(unsigned int len) const -{ -// Returns a substring that contains the len rightmost characters of the string. -// The whole string is returned if len exceeds the length of the string. - register unsigned int strlen = length(); - return len >= strlen ? *this : substr(strlen-len, len); -} +std::string removeDVBChars(const std::string &s); +void makeUpper(std::string &s); +std::string replace_all(const std::string &in, const std::string &entity, const std::string &symbol); -inline bool eString::isNull() const +inline std::string convertDVBUTF8(const std::string &string, int table=1, int tsidonid=1) // with default ISO8859-1 / Latin1 { -// Returns a bool, that contains true, when the internal char* is null (only when a string ist empty constructed) - return !c_str(); + return convertDVBUTF8((const unsigned char*)string.c_str(), string.length(), table, tsidonid); } #endif // __E_STRING__