/usr/include/kcal/attachment.h is in kdepimlibs5-dev 4:4.14.10-1ubuntu2.
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 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 | /*
This file is part of the kcal library.
Copyright (c) 2002 Michael Brade <brade@kde.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
/**
@file
This file is part of the API for handling calendar data and
defines the Attachment class.
@author Michael Brade \<brade@kde.org\>
*/
#ifndef KCAL_ATTACHMENT_H
#define KCAL_ATTACHMENT_H
#include "listbase.h"
#include "kcal_export.h"
#include <QtCore/QString>
namespace KCal {
/**
@brief
Represents information related to an attachment for a Calendar Incidence.
This is not an email message attachment.
Calendar Incidence attachments consist of:
- A <a href="http://en.wikipedia.org/wiki/Uniform_Resource_Identifier">
Uniform Resource Identifier (URI)</a>
or a
<a href="http://en.wikipedia.org/wiki/Base64#MIME">base64 encoded</a>
binary blob.
- A <a href="http://en.wikipedia.org/wiki/MIME">
Multipurpose Internet Mail Extensions (MIME)</a> type.
This class is used to associate files (local or remote) or other resources
with a Calendar Incidence.
*/
class KCAL_DEPRECATED_EXPORT Attachment
{
public:
/**
List of attachments.
*/
typedef ListBase<Attachment> List;
/**
Constructs an attachment consisting of a @p uri and a @p mime type.
@param uri is the @acronym URI referred to by this attachment.
@param mime is the (optional) @acronym MIME type of the @p uri
*/
explicit Attachment( const QString &uri, const QString &mime = QString() );
/**
Constructs an attachment consisting of a binary blob of data
and a @p mime type.
@param base64 is the binary data in base64 format for the attachment.
@param mime is the (optional) @acronym MIME type of the attachment
*/
explicit Attachment( const char *base64, const QString &mime = QString() );
/**
Constructs an attachment by copying another attachment.
@param attachment is the attachment to be copied.
*/
Attachment( const Attachment &attachment );
/**
Destroys the attachment.
*/
~Attachment();
/**
Sets the @acronym URI for this attachment to @p uri.
@param uri is the @acronym URI to use for the attachment.
@see uri(), isUri()
*/
void setUri( const QString &uri );
/**
Returns the @acronym URI of the attachment.
@see setUri(), isUri()
*/
QString uri() const;
/**
Returns true if the attachment has a @acronym URI; false otherwise.
@see uri(), setUri(I), isBinary()
*/
bool isUri() const;
/**
Returns true if the attachment has a binary blob; false otherwise.
@see isUri()
*/
bool isBinary() const;
/**
Sets the base64 encoded binary blob data of the attachment.
@param base64 is a character string containing base64 encoded binary data.
@see data(), decodedData()
*/
void setData( const char *base64 );
/**
Returns a pointer to a character string containing the base64 encoded
binary data of the attachment.
@see setData(), setDecodedData()
*/
char *data() const;
/**
Sets the decoded attachment data.
@param data is the decoded base64 binary data.
@see decodedData(), data()
*/
void setDecodedData( const QByteArray &data );
/**
Returns a QByteArray containing the decoded base64 binary data of the
attachment.
@see setDecodedData(), setData()
*/
QByteArray &decodedData() const;
/**
Returns the size of the attachment, in bytes.
If the attachment is binary (i.e, there is no @acronym URI associated
with the attachment) then a value of 0 is returned.
*/
uint size() const;
/**
Sets the @acronym MIME-type of the attachment to @p mime.
@param mime is the string to use for the attachment @acronym MIME-type.
@see mimeType()
*/
void setMimeType( const QString &mime );
/**
Returns the @acronym MIME-type of the attachment.
@see setMimeType()
*/
QString mimeType() const;
/**
Sets the attachment "show in-line" option, which is derived from
the Calendar Incidence @b X-CONTENT-DISPOSITION parameter.
@param showinline is the flag to set (true) or unset (false)
for the attachment "show in-line" option.
@see showInline()
*/
void setShowInline( bool showinline );
/**
Returns the attachment "show in-line" flag.
@see setShowInline()
*/
bool showInline() const;
/**
Sets the attachment label to @p label, which is derived from
the Calendar Incidence @b X-LABEL parameter.
@param label is the string to use for the attachment label.
@see label()
*/
void setLabel( const QString &label );
/**
Returns the attachment label string.
*/
QString label() const;
/**
Sets the attachment "local" option, which is derived from the
Calendar Incidence @b X-KONTACT-TYPE parameter.
@param local is the flag to set (true) or unset (false) for the
attachment "local" option.
@see local()
*/
void setLocal( bool local );
/**
Returns the attachment "local" flag.
*/
bool isLocal() const;
/**
Returns true if two attachments are equal
@since 4.3
*/
bool operator==( const Attachment &a2 ) const;
/**
Returns true if two attachments aren't equal
@since 4.3
*/
bool operator!=( const Attachment &a2 ) const;
private:
//@cond PRIVATE
class Private;
Private *const d;
//@endcond
};
}
#endif
|