diff options
| author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2011-04-21 23:56:57 +0000 | 
|---|---|---|
| committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2011-04-21 23:56:57 +0000 | 
| commit | d2cf7fa5691c06a6ebcc112fbbf1ca9ff1bc54a8 (patch) | |
| tree | dc568d0edd49b4da817301578992fdbf12942511 /tqdbusobjectpath.h | |
| download | dbus-1-tqt-d2cf7fa5691c06a6ebcc112fbbf1ca9ff1bc54a8.tar.gz dbus-1-tqt-d2cf7fa5691c06a6ebcc112fbbf1ca9ff1bc54a8.zip | |
Add dbus-1-tqt to this SVN tree
Please keep it in sync with the master at svn.trinitydesktop.org
This is revision 167 from that source
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/dependencies/dbus-1-tqt@1228687 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'tqdbusobjectpath.h')
| -rw-r--r-- | tqdbusobjectpath.h | 118 | 
1 files changed, 118 insertions, 0 deletions
| diff --git a/tqdbusobjectpath.h b/tqdbusobjectpath.h new file mode 100644 index 0000000..6f0bd5b --- /dev/null +++ b/tqdbusobjectpath.h @@ -0,0 +1,118 @@ +/* qdbusobjectpath.h DBUS object path data type + * + * Copyright (C) 2007 Kevin Krammer <kevin.krammer@gmx.at> + * + * Licensed under the Academic Free License version 2.1 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA. + * + */ + +#ifndef TQDBUSOBJECTPATH_H +#define TQDBUSOBJECTPATH_H + +#include <tqcstring.h> + +/** + * @brief Class for representing D-Bus object paths + * + * This data type is necessary to correctly represent object paths in the + * context of D-Bus messages, since normal strings have a different D-Bus + * signature than object paths. + * + * @see @ref dbusconventions-objectpath + */ +class TQT_DBusObjectPath : public TQCString +{ +public: +    /** +     * @brief Creates an empty and invalid object path +     */ +    TQT_DBusObjectPath(); + +    /** +     * @brief Creates copy of the given @p other object path +     * +     * @param other the object path to copy +     */ +    TQT_DBusObjectPath(const TQT_DBusObjectPath& other); + +    /** +     * @brief Creates copy of the given @p other object path +     * +     * @param other the object path to copy +     */ +    TQT_DBusObjectPath(const TQCString& other); + +    /** +     * @brief Creates an object path for an object as a child of the tqparent node +     * +     * This is basically like specifying a directory and a file name to create +     * the file's full path. +     * +     * Example: +     * @code +     * TQT_DBusObjectPath rootNode("/"); // => "/" +     * +     * TQT_DBusObjectPath childNod(rootNode, "child"); // => "/child" +     * +     * TQT_DBusObjectPath grandChildNode(childNode, "grandchild"); // => "/child/grandchild" +     * @endcode +     * +     * @param tqparentNode the object path to create the child on +     * @param nodeName the name of the child node +     */ +    TQT_DBusObjectPath(const TQT_DBusObjectPath& tqparentNode, const TQCString& nodeName); + +    /** +     * @brief Returns whether the current content is considered a valid object path +     * +     * @note Calls validate() to perform a check on the current content +     * +     * @return \c true if the object's content describe a valid object path, +     *         otherwise @c false +     * +     * @see @ref dbusconventions-objectpath +     */ +    bool isValid() const; + +    /** +     * @brief Returns the object path of this path's tqparent node +     * +     * This is basically like getting the directory of an file path +     * +     * @return the tqparent node's object path or an empty and invalid object +     *         if this is already the root node +     */ +    TQT_DBusObjectPath tqparentNode() const; + +    /** +     * @brief Checks the given string for validity as a D-Bus object path +     * +     * See section @ref dbusconventions-objectpath for information on object +     * path formatting. +     * +     * @param path the string to check +     * +     * @return @c -1 if the object path is valid, otherwise the index of the +     *         first violating character +     * +     * @see isValid() +     */ +    static int validate(const TQCString& path); +}; + +#endif | 
