32 #ifndef ARNBASICITEM_HPP 33 #define ARNBASICITEM_HPP 47 class ArnBasicItemPrivate;
53 class ArnBasicItemEventHandler :
public QObject
58 explicit ArnBasicItemEventHandler( QObject* parent = 0);
59 virtual ~ArnBasicItemEventHandler();
61 static void defaultEvent( QEvent* ev);
64 virtual void customEvent( QEvent* ev);
123 friend class ArnBasicItemEventHandler;
137 bool open( const QString& path);
149 void destroyLink(
bool isGlobal = true);
156 void destroyLinkLocal()
157 { destroyLink(
false);}
184 void setReference(
void* reference);
190 void* reference()
const;
212 int refCount()
const;
216 bool isFolder()
const;
222 bool isProvider()
const;
232 void setIgnoreSameValue(
bool isIgnore =
true);
237 bool isIgnoreSameValue()
const;
273 bool isBiDirMode()
const;
287 bool isPipeMode()
const;
302 bool isSaveMode()
const;
307 void setAtomicOpProvider();
312 bool isAtomicOpProvider()
const;
325 bool isMaster()
const;
336 bool isAutoDestroy()
const;
351 QByteArray arnExport()
const;
357 int toInt(
bool* isOk = arnNullptr)
const;
363 double toDouble(
bool* isOk = arnNullptr)
const;
369 ARNREAL toReal(
bool* isOk = arnNullptr)
const;
375 QString toString(
bool* isOk = arnNullptr)
const;
381 QByteArray toByteArray(
bool* isOk = arnNullptr)
const;
387 QVariant toVariant(
bool* isOk = arnNullptr)
const;
394 bool toBool(
bool* isOk = arnNullptr)
const;
401 uint toUInt(
bool* isOk = arnNullptr)
const;
408 qint64 toInt64(
bool* isOk = arnNullptr)
const;
415 quint64 toUInt64(
bool* isOk = arnNullptr)
const;
523 void addValue(
int value);
548 void setEventHandler( QObject* eventHandler);
555 QObject* eventHandler()
const;
565 void setUncrossed(
bool isUncrossed =
true);
574 bool isUncrossed()
const;
580 bool isAssigning()
const;
583 bool sendArnEventLink(
ArnEvent* ev);
584 void sendArnEventItem(
ArnEvent* ev,
bool isAlienThread,
bool isLocked =
false);
585 quint32 localUpdateCount()
const;
588 virtual void arnEvent( QEvent* ev,
bool isAlienThread);
591 bool openWithFlags(
const QString& path,
Arn::LinkFlags linkFlags);
594 void setForceKeep(
bool fk =
true);
597 bool isForceKeep()
const;
600 void resetOnlyEcho();
601 void addIsOnlyEcho( quint32 sendId);
602 bool isOnlyEcho()
const;
604 void setValue(
const QByteArray& value,
int ignoreSame, ArnLinkHandle& handleData);
605 void setValue(
const QVariant& value,
int ignoreSame, ArnLinkHandle& handleData);
606 void arnImport(
const QByteArray& data,
int ignoreSame, ArnLinkHandle& handleData);
607 QStringList childItemsMain()
const;
615 void setupOpenItem(
bool isFolder);
616 ArnBasicItemEventHandler* getThreadEventHandler();
621 #endif // ARNBASICITEM_HPP Data type of an Arn Data Object
Path: "/@/test" ==> "//test", Item: "@" ==> "".
Core base class for the inherited ArnItem classes.
Link flags when accessing an Arn Data Object
Assigning same value gives default action set in ArnM or ArnItem.
QThread * thread() const
Get the thread affinity of this ArnCoreItem.
#define ARNLIBSHARED_EXPORT
Base class handle for an Arn Data Object.