| Index: src/plugin/PluginUtil.h | 
| =================================================================== | 
| --- a/src/plugin/PluginUtil.h | 
| +++ b/src/plugin/PluginUtil.h | 
| @@ -1,20 +1,59 @@ | 
| #pragma once | 
| #include <string> | 
| - | 
| -class BString | 
| -{ | 
| -public: | 
| - BString(const std::wstring& value); | 
| - ~BString(); | 
| - operator BSTR(); | 
| -private: | 
| - BSTR value; | 
| - BString(const BString&); | 
| - BString& operator=(const BString&); | 
| -}; | 
| +#include <WTypes.h> | 
| std::wstring HtmlFolderPath(); | 
| std::wstring UserSettingsFileUrl(); | 
| std::wstring FirstRunPageFileUrl(); | 
| std::wstring FileUrl(const std::wstring& url); | 
| void ReplaceString(std::wstring& input, const std::wstring placeholder, const std::wstring replacement); | 
| + | 
| +namespace ABP { | 
| 
 
Oleksandr
2014/06/26 00:48:43
I'd rather have the namespace called AdblockPlus.I
 
Eric
2014/06/26 15:13:56
I don't have a firm opinion on these namespace nam
 
 | 
| + namespace util { | 
| + bool wstring_equal_ci( std::wstring & a, std::wstring & b ); | 
| + | 
| + template< size_t N > | 
| + inline bool begins_with( const std::wstring s, const wchar_t ( & beginning )[N] ) | 
| + { | 
| + return 0 == s.compare( 0, N-1, beginning ); | 
| + } | 
| + | 
| + inline bool begins_with( const std::wstring s, std::wstring beginning ) | 
| + { | 
| + return 0 == s.compare( 0, beginning.length(), beginning ); | 
| + } | 
| + | 
| + /** | 
| + * Remove both leading and trailing whitespace characters from the argument. | 
| + * | 
| + * Whitespace characters are SP, CR, LF, and TAB. | 
| + */ | 
| + void trim( std::wstring & s ); | 
| + | 
| + /** | 
| + * Remove leading whitespace characters from the argument. | 
| + * | 
| + * Whitespace characters are SP, CR, LF, and TAB. | 
| + */ | 
| + void trim_leading( std::wstring & s ); | 
| + | 
| + /** | 
| + * Remove trailing whitespace characters from the argument. | 
| + * | 
| + * Whitespace characters are SP, CR, LF, and TAB. | 
| + */ | 
| + void trim_trailing( std::wstring & s ); | 
| + | 
| + /** | 
| + */ | 
| + void to_lower( std::wstring & s ); | 
| + | 
| + /** | 
| + * Parses out the first token in a string, starting at position 'start'. | 
| + * Alters 'start' to be the position of the character following the final delimiter, or 'npos' if the source is exhausted. | 
| + * | 
| + * Replaces CString::Tokenize. | 
| + */ | 
| + std::wstring extract_token( const std::wstring source, size_t & start, const std::wstring tokens = L" \t\n\r" ); | 
| + } | 
| +} |