/usr/include/ui-gxmlcpp/XPathObject.hpp is in libui-gxmlcpp-dev 1.4.4-1build2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | /**
* @file
* @version @$Id$
* @author
* ui-gxmlcpp: C++ wrapper for Gnome libxml2/libxsl.
* Copyright (C) Schlund+Partner AG 2002-2004.
* Licensed under the GNU Lesser General Public License (LGPL). See
* @ref License, or the file COPYING in distribution.
*/
#ifndef UI_GXML_XPATHOBJECT_HPP
#define UI_GXML_XPATHOBJECT_HPP
// STDC++
#include <string>
// C libraries
// C++ libraries
#include <ui-gxmlcpp/Exception.hpp>
#include <ui-gxmlcpp/XPathContext.hpp>
namespace UI {
namespace GXML {
class Tree;
/** @brief XPath object holder class. */
class XPathObject: private UI::Util::auto_base<xmlXPathObject>
{
/** @todo Compat. */
friend class XMLTree;
friend class Tree;
private:
static xmlXPathObjectPtr create(xmlXPathContextPtr const context, std::string const & xpath);
public:
/** @brief Error codes for exceptions. */
enum ErrorCode
{
EvalError_, // Error evaluation the xpath.
NotAString_, // Value is not a string
NotABool_, // Value is not a bool
NotAFloat_ // Value is not a float
};
/** @brief Exceptions for this class. */
typedef CodeException<ErrorCode> Exception;
protected:
/** @brief Internal constructor. */
XPathObject(xmlXPathContextPtr const context, std::string const & xpath);
public:
/** @brief Public constructor. */
XPathObject(XPathContext const & context, std::string const & xpath);
~XPathObject();
public:
/** @brief Abstract from libxml2 type. */
typedef xmlXPathObjectType Type;
/** @brief Get type of this xpath object. */
Type getType() const;
/** @name Get value of this xpath object.
*
* If this object's type is not of according type, these methods
* will throw an appr. exception.
*
* @{ */
std::string getString() const;
double getNumber() const;
bool getBoolean() const;
/** @} */
/** We cannot declare friend to a nested class ;(. */
using UI::Util::auto_base<xmlXPathObject>::get;
using UI::Util::auto_base<xmlXPathObject>::operator->;
private:
std::string const xpath_;
};
}}
#endif
|