38 #include <QTextStream> 40 #include <QMetaMethod> 81 ArnItem( QObject* parent = arnNullptr);
88 ArnItem(
const QString& path, QObject* parent = arnNullptr);
95 ArnItem(
const ArnItem& itemTemplate,
const QString& path, QObject* parent = arnNullptr);
104 {
return ArnItemB::openUuid( path);}
111 {
return ArnItemB::openUuidPipe( path);}
118 {
return ArnItemB::openFolder( path);}
183 ArnItem& setTemplate(
bool isTemplate =
true);
188 bool isTemplate()
const;
294 {
return ArnItemB::setBlockEcho( blockEcho);}
306 void setDelay(
int delay);
321 bool isDelayPending()
const;
329 void bypassDelayPending();
352 int toInt(
bool* isOk = arnNullptr)
const 373 bool toBool(
bool* isOk = arnNullptr)
const 402 uint
toUInt(
bool* isOk = arnNullptr)
const 410 qint64
toInt64(
bool* isOk = arnNullptr)
const 484 void setValue(
float value,
int ignoreSame)
503 void setValue(
const QString& value,
int ignoreSame)
511 void setValue(
const QByteArray& value,
int ignoreSame)
519 void setValue(
const QVariant& value,
int ignoreSame)
635 void changed(
int value);
640 void changed(
float value);
642 void changed(
double value);
647 void changed(
bool value);
651 void changed(
const QString& value);
655 void changed(
const QByteArray& value);
659 void changed(
const QVariant& value);
675 void arnItemCreated(
const QString& path);
687 void arnModeChanged(
const QString& path, uint linkId,
Arn::ObjectMode mode);
691 virtual void itemUpdated(
const ArnLinkHandle& handleData,
const QByteArray* value = arnNullptr);
693 virtual void itemCreatedBelow(
const QString& path);
694 virtual void itemModeChangedBelow(
const QString& path, uint linkId,
Arn::ObjectMode mode);
695 virtual void timerEvent( QTimerEvent* ev);
697 int delayTimerId()
const;
699 ArnItem( ArnItemPrivate& dd, QObject* parent);
706 void doItemUpdate(
const ArnLinkHandle& handleData);
708 #if QT_VERSION >= 0x050000 709 void connectNotify(
const QMetaMethod & signal);
710 void disconnectNotify(
const QMetaMethod & signal);
711 static QMetaMethod _metaSignalChanged;
712 static QMetaMethod _metaSignalChangedInt;
713 static QMetaMethod _metaSignalChangedReal;
714 static QMetaMethod _metaSignalChangedBool;
715 static QMetaMethod _metaSignalChangedString;
716 static QMetaMethod _metaSignalChangedByteArray;
717 static QMetaMethod _metaSignalChangedVariant;
719 void connectNotify(
const char* signal);
720 void disconnectNotify(
const char* signal);
726 #endif // ARNITEM_HPP void setValue(const QByteArray &value)
Assign a QByteArray to an Arn Data Object
Data type of an Arn Data Object
void setValue(const QByteArray &value, int ignoreSame)
Assign a QByteArray to an Arn Data Object
bool isUncrossed() const
Get the Uncrossed state of an object.
void setValue(uint value, int ignoreSame=Arn::SameValue::DefaultAction)
Assign an unsigned int to an Arn Data Object
QString toString(bool *isOk=arnNullptr) const
void setValue(qint64 value, int ignoreSame=Arn::SameValue::DefaultAction)
Assign an int 64 bit to an Arn Data Object
void setValue(const ArnBasicItem &other, int ignoreSame=Arn::SameValue::DefaultAction)
void setValue(const ArnItem &other, int ignoreSame=Arn::SameValue::DefaultAction)
Assign the value of an other ArnItem to an Arn Data Object
ArnBasicItem & setPipeMode()
Set general mode as Pipe for this Arn Data Object
ArnItem & setAutoDestroy()
Set client session sync mode as AutoDestroy for this ArnItem.
quint64 toUInt64(bool *isOk=arnNullptr) const
void setValue(const QString &value)
Assign a QString to an Arn Data Object
Arn::ObjectSyncMode syncMode() const
bool toBool(bool *isOk=arnNullptr) const
double toDouble(bool *isOk=arnNullptr) const
uint toUInt(bool *isOk=arnNullptr) const
ArnBasicItem & setSaveMode()
Set general mode as Save for this Arn Data Object
ArnItem & setPipeMode()
Set general mode as Pipe for this Arn Data Object
uint toUInt(bool *isOk=arnNullptr) const
Arn::ObjectSyncMode syncMode() const
bool isUncrossed() const
Get the Uncrossed state of an object.
void setIgnoreSameValue(bool isIgnore=true)
Set skipping of equal value.
Arn::DataType type() const
The type stored in the Arn Data Object
Arn::ObjectMode getMode() const
void setValue(const QVariant &value, int ignoreSame)
Assign a QVariant to an Arn Data Object
void addValue(ARNREAL value)
AtomicOp adds an ARNREAL to an Arn Data Object
void setUncrossed(bool isUncrossed=true)
Set a Bidirectional item as Uncrossed.
Arn::ObjectMode getMode() const
Use with care, link must be "referenced" before use, otherwise it might have been deleted...
int toInt(bool *isOk=arnNullptr) const
void setValue(const QString &value, int ignoreSame)
Assign a QString to an Arn Data Object
bool isIgnoreSameValue() const
ARNREAL toReal(bool *isOk=arnNullptr) const
void addMode(Arn::ObjectMode mode)
Add general mode settings for this Arn Data Object
ArnItem & setMaster()
Set client session sync mode as Master for this ArnItem.
QByteArray toByteArray(bool *isOk=arnNullptr) const
ArnItem & setBiDirMode()
Set general mode as Bidirectional for this Arn Data Object
QByteArray arnExport() const
QByteArray toByteArray(bool *isOk=arnNullptr) const
void setValue(double value, int ignoreSame)
Assign an ARNREAL to an Arn Data Object
void addValue(int value)
AtomicOp adds an integer to an Arn Data Object
void setValue(int value)
Assign an integer to an Arn Data Object
void setIgnoreSameValue(bool isIgnore=true)
Set skipping assignment of equal value.
void setBits(int mask, int value, int ignoreSame=Arn::SameValue::DefaultAction)
AtomicOp assign an integer to specified bits in an Arn Data Object
void setValue(quint64 value, int ignoreSame=Arn::SameValue::DefaultAction)
Assign an unsigned int 64 bit to an Arn Data Object
void arnImport(const QByteArray &data, int ignoreSame=Arn::SameValue::DefaultAction)
Import data to an Arn Data Object
void arnImport(const QByteArray &data, int ignoreSame=Arn::SameValue::DefaultAction)
Import data to an Arn Data Object
Assigning same value gives default action set in ArnM or ArnItem.
ArnBasicItem & operator+=(int val)
QVariant toVariant(bool *isOk=arnNullptr) const
QVariant toVariant(bool *isOk=arnNullptr) const
QString toString(bool *isOk=arnNullptr) const
bool toBool(bool *isOk=arnNullptr) const
ArnItem & setSaveMode()
Set general mode as Save for this Arn Data Object
void setBits(int mask, int value, int ignoreSame=Arn::SameValue::DefaultAction)
AtomicOp assign an integer to specified bits in an Arn Data Object
void setValue(double value)
Assign an ARNREAL to an Arn Data Object
ArnBasicItem & setBiDirMode()
Set general mode as Bidirectional for this Arn Data Object
void addMode(Arn::ObjectMode mode)
Add general mode settings for this Arn Data Object
Arn::DataType type() const
The type stored in the Arn Data Object
void setValue(bool value)
Assign a bool to an Arn Data Object
bool isAutoDestroy() const
ARNREAL toReal(bool *isOk=arnNullptr) const
void setValue(int value, int ignoreSame)
Assign an integer to an Arn Data Object
void setValue(const char *value)
Assign a char* to an Arn Data Object
Base class handle for an Arn Data Object.
ArnBasicItem & setAutoDestroy()
Set client session sync mode as AutoDestroy for this ArnItem.
double toDouble(bool *isOk=arnNullptr) const
bool isAutoDestroy() const
void setValue(bool value, int ignoreSame)
Assign a bool to an Arn Data Object
bool openUuidPipe(const QString &path)
Open a handle to an Arn Pipe Object with a unique uuid name.
void setUncrossed(bool isUncrossed=true)
Set a Bidirectional item as Uncrossed.
void setBlockEcho(bool blockEcho=true)
Control echo cancellation for this item.
bool openFolder(const QString &path)
Open a handle to an Arn folder.
qint64 toInt64(bool *isOk=arnNullptr) const
#define ARNLIBSHARED_EXPORT
int toInt(bool *isOk=arnNullptr) const
void setValue(const QVariant &value)
Assign a QVariant to an Arn Data Object
void setValue(const char *value, int ignoreSame)
Assign a char* to an Arn Data Object
QByteArray arnExport() const
ArnBasicItem & setMaster()
Set client session sync mode as Master for this ArnItem.
qint64 toInt64(bool *isOk=arnNullptr) const
ArnBasicItem & operator=(const ArnBasicItem &other)
QTextStream & operator<<(QTextStream &out, const ArnItem &item)
Handle for an Arn Data Object.
void addValue(int value)
AtomicOp adds an integer to an Arn Data Object
bool openUuid(const QString &path)
Open a handle to an Arn Object with a unique uuid name.
quint64 toUInt64(bool *isOk=arnNullptr) const