/usr/include/ibus-qt/qibusobject.h is in libibus-qt-dev 1.3.2-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 | #ifndef __Q_IBUS_OBJECT_H__
#define __Q_IBUS_OBJECT_H__
#include <QObject>
#include <QMetaType>
#include "qibuspointer.h"
#ifdef QT_USE_NAMESPACE
# undef QT_USE_NAMESPACE
# define QT_USE_NAMESPACE IBus
#endif
namespace IBus {
class Object;
typedef Pointer <Object> ObjectPointer;
class Object : public QObject
{
Q_OBJECT
template <typename T> friend class Pointer;
public:
// Q_INVOKABLE Object () : m_referenced (false), m_refcount(1) {}
Object () : m_referenced (false), m_refcount(1) {}
virtual ~Object ();
virtual void destroy ();
private:
Object * ref () {
if (m_referenced) {
m_refcount.ref ();
}
else {
m_referenced = true;
}
return this;
}
void unref () {
if (! m_refcount.deref ()) {
delete this;
}
}
bool is_referenced () const {
return m_referenced;
}
bool m_referenced;
QAtomicInt m_refcount;
};
};
Q_DECLARE_METATYPE(IBus::ObjectPointer)
#endif
|