EscapedString.h Source File

Back to the index.

EscapedString.h
Go to the documentation of this file.
1 #ifndef ESCAPEDSTRING_H
2 #define ESCAPEDSTRING_H
3 
4 /*
5  * Copyright (C) 2007-2010 Anders Gavare. All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions are met:
9  *
10  * 1. Redistributions of source code must retain the above copyright
11  * notice, this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  * notice, this list of conditions and the following disclaimer in the
14  * documentation and/or other materials provided with the distribution.
15  * 3. The name of the author may not be used to endorse or promote products
16  * derived from this software without specific prior written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
19  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21  * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
22  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28  * SUCH DAMAGE.
29  */
30 
31 #include "misc.h"
32 
33 #include "UnitTest.h"
34 
35 
36 /**
37  * \brief A helper class for escaping strings using C-style escapes.
38  *
39  * TODO: It is ugly to use this for conversions in both directions! Should
40  * be fixed some day.
41  */
43  : public UnitTestable
44 {
45 public:
46  /**
47  * \brief Constructs an EscapedString helper.
48  *
49  * @param str A string, either escaped or not escaped.
50  */
51  EscapedString(const string& str);
52 
53  /**
54  * \brief Generates an escaped string, from the original string.
55  *
56  * @return an escaped string
57  */
58  string Generate() const;
59 
60  /**
61  * \brief Decodes an escaped string, from the original string.
62  *
63  * The original string should be a C-style escaped string, with
64  * or without surrounding quote (") characters.
65  *
66  * @param success Set to true if decoding was successful, false
67  * if there was an error.
68  * @return A decoded (unescaped) string. (Only valid if
69  * <tt>success</tt> was set to true.)
70  */
71  string Decode(bool& success) const;
72 
73 
74  /********************************************************************/
75 
76  static void RunUnitTests(int& nSucceeded, int& nFailures);
77 
78 private:
79  string m_str;
80 };
81 
82 
83 #endif // ESCAPEDSTRING_H
string Generate() const
Generates an escaped string, from the original string.
static void RunUnitTests(int &nSucceeded, int &nFailures)
string Decode(bool &success) const
Decodes an escaped string, from the original string.
A helper class for escaping strings using C-style escapes.
Definition: EscapedString.h:42
EscapedString(const string &str)
Constructs an EscapedString helper.
Base class for unit testable classes.
Definition: UnitTest.h:74

Generated on Fri Dec 7 2018 19:52:23 for GXemul by doxygen 1.8.13