1 /***************************************************************************
2 * This file is part of KWorship. *
3 * Copyright 2008 James Hogan <james@albanarts.com> *
5 * KWorship is free software: you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation, either version 2 of the License, or *
8 * (at your option) any later version. *
10 * KWorship is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
15 * You should have received a copy of the GNU General Public License *
16 * along with KWorship. If not, write to the Free Software Foundation, *
17 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
18 ***************************************************************************/
20 #ifndef _KwResourceLink_h_
21 #define _KwResourceLink_h_
24 * @file KwResourceLink.h
25 * @brief A link to a resource file.
26 * @author James Hogan <james@albanarts.com>
31 class KwResourceManager
;
36 /// A link to a resource file.
45 /// Type of resource link.
49 FileRelative
, ///< Path relative to the save file.
50 ArchiveRoot
, ///< Path relative to the archive root.
51 ArchiveRelative
///< Path relative to the referencer in the archive.
55 * Constructors + destructor
58 /// Default constructor.
61 /// Construct from a DOM element.
62 KwResourceLink(const QDomElement
& element
, KwResourceManager
* resourceManager
);
64 /** Construct a URL link.
65 * @param url URL to the resource.
67 KwResourceLink(const KUrl
& url
);
69 /** Construct a path link.
70 * @param type Type of path (must not be Url).
71 * @param path Path of whatever type to the resource.
73 KwResourceLink(Type type
, const QString
& path
);
82 /// Export this resource link into a DOM.
83 void exportToDom(QDomDocument
& document
, QDomElement
& element
, KwResourceManager
* resourceManager
) const;
89 /// Get whether the link is null.
92 /// Get the type of resource link.
98 /// Get the type dependent path.
113 /// Path to resource depending on type.
117 #endif // _KwResourceLink_h_