/usr/include/gloox/vcardupdate.h is in libgloox-dev 1.0.9-2.
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 | /*
Copyright (c) 2006-2013 by Jakob Schroeter <js@camaya.net>
This file is part of the gloox library. http://camaya.net/gloox
This software is distributed under a license. The full license
agreement can be found in the file LICENSE in this distribution.
This software may not be copied, modified, sold or distributed
other than expressed in the named license agreement.
This software is distributed without any warranty.
*/
#ifndef VCARDUPDATE_H__
#define VCARDUPDATE_H__
#include "gloox.h"
#include "stanzaextension.h"
#include <string>
namespace gloox
{
class Tag;
/**
* @brief This is an abstraction of a vcard-temp:x:update namespace element, as used in @xep{0153}
* (vCard-Based Avatars).
*
* XEP version: 1.0
* @author Jakob Schroeter <js@camaya.net>
* @since 0.9
*/
class GLOOX_API VCardUpdate : public StanzaExtension
{
public:
/**
* Constructs an empty VCardUpdate object.
*/
VCardUpdate();
/**
* Constructs a new object with the given hash.
* @param hash The current avatar's SHA hash.
*/
VCardUpdate( const std::string& hash );
/**
* Constructs an VCardUpdate object from the given Tag. To be recognized properly, the Tag should
* have a name of 'x' in the @c vcard-temp:x:update namespace.
* @param tag The Tag to parse.
*/
VCardUpdate( const Tag* tag );
/**
* Virtual destructor.
*/
virtual ~VCardUpdate();
/**
* Returns the avatar's hash.
* @return The avatar's SHA hash.
*/
const std::string& hash() const { return m_hash; }
/**
* Indicates whether the VCard update contained a @c photo tag
* (which might have been empty).
* This function is only useful for incoming VCardUpdate objects.
* @return @b True if the VCard update contained a @c photo
* tag (empty or non-empty), @b false otherwise.
* @since 1.0.3
*/
bool hasPhoto() { return m_hasPhoto; }
// reimplemented from StanzaExtension
virtual const std::string& filterString() const;
// reimplemented from StanzaExtension
virtual StanzaExtension* newInstance( const Tag* tag ) const
{
return new VCardUpdate( tag );
}
// reimplemented from StanzaExtension
Tag* tag() const;
// reimplemented from StanzaExtension
virtual StanzaExtension* clone() const
{
return new VCardUpdate( *this );
}
private:
std::string m_hash;
bool m_notReady;
bool m_noImage;
bool m_valid;
bool m_hasPhoto;
};
}
#endif // VCARDUPDATE_H__
|