/* * This file is a part of Winix * and is not publicly distributed * * Copyright (c) 2008-2010, Tomasz Sowa * All rights reserved. * */ #ifndef headerfile_winix_core_acceptbaseparser #define headerfile_winix_core_acceptbaseparser #include // sample (you must create your own class derived from this one): // object.Parse(" text/html ; , ; q = 45, application / xhtml+xml ; q = 0.4 , application/xml ; q = 0.9 , */* ; q = 0.8 "); class AcceptBaseParser { public: void Parse(const char * str); private: virtual void Init() {} ; virtual void Param(const std::string & param, double q) = 0; bool IsWhite(int c); void SkipWhite(); void RemoveWhiteFromEnd(std::string & str); void ReadParameter(); void ReadQ(); void SkipParam(); const char * text; std::string param; double q; }; #endif