/usr/include/libtomahawk/sip/PeerInfo.h is in libtomahawk-dev 0.8.4+dfsg1-0ubuntu1.
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 | /* === This file is part of Tomahawk Player - <http://tomahawk-player.org> ===
*
* Copyright 2012, Dominik Schmidt <dev@dominik-schmidt.de>
*
* Tomahawk 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 3 of the License, or
* (at your option) any later version.
*
* Tomahawk 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 Tomahawk. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef PEERINFO_H
#define PEERINFO_H
#include "DllMacro.h"
#include "utils/TomahawkUtils.h"
#include <QString>
#include <QPixmap>
#define peerInfoDebug(peerInfo) tLog( LOGVERBOSE ) << "PEERINFO:" << ( !peerInfo.isNull() ? peerInfo->debugName() : "Invalid PeerInfo" ).toLatin1().constData()
class ControlConnection;
class SipPlugin;
class SipInfo;
namespace Tomahawk
{
class PeerInfoPrivate;
class DLLEXPORT PeerInfo : public QObject
{
Q_OBJECT
public:
enum Status
{
Online,
Offline
};
enum GetOptions
{
None,
AutoCreate
};
// this is a uberstupid hack, identify characteristics of the type
enum Type
{
External, // this is the default
Local
};
static Tomahawk::peerinfo_ptr getSelf( SipPlugin* parent, GetOptions options = None );
static QList< Tomahawk::peerinfo_ptr > getAllSelf();
static Tomahawk::peerinfo_ptr get( SipPlugin* parent, const QString& id, GetOptions options = None );
static QList< Tomahawk::peerinfo_ptr > getAll();
virtual ~PeerInfo();
const QString id() const;
SipPlugin* sipPlugin() const;
const QString debugName() const;
void sendLocalSipInfos( const QList<SipInfo>& sipInfos );
QWeakPointer< Tomahawk::PeerInfo > weakRef();
void setWeakRef( QWeakPointer< Tomahawk::PeerInfo > weakRef );
void setControlConnection( ControlConnection* controlConnection );
ControlConnection* controlConnection() const;
bool hasControlConnection();
void setType( Tomahawk::PeerInfo::Type type );
PeerInfo::Type type() const;
/* actual data */
// while peerId references a certain peer, contact id references the contact
// e.g. a peerId might be a full jid with resource while contact id is the bare jid
void setContactId( const QString& contactId );
const QString contactId() const;
void setStatus( Status status );
Status status() const;
void setSipInfos( const QList<SipInfo>& sipInfos );
const QList<SipInfo> sipInfos() const;
void setFriendlyName( const QString& friendlyName );
const QString friendlyName() const;
void setAvatar( const QPixmap& avatar );
const QPixmap avatar( TomahawkUtils::ImageMode style = TomahawkUtils::Original, const QSize& size = QSize() ) const;
void setVersionString( const QString& versionString );
const QString versionString() const;
// you can store arbitrary internal data for your plugin here
void setData( const QVariant& data );
const QVariant data() const;
/**
* Get the node id of this peer
*/
const QString nodeId() const;
/**
* Get the authentication key for this host
*/
const QString key() const;
signals:
void sipInfoChanged();
private:
PeerInfo( SipPlugin* parent, const QString& id );
void announce();
Q_DECLARE_PRIVATE( Tomahawk::PeerInfo )
QScopedPointer< Tomahawk::PeerInfoPrivate > d_ptr;
static QHash< SipPlugin*, peerinfo_ptr > s_selfPeersBySipPlugin;
};
} // ns
#endif // PEERINFO_H
|