42 #ifdef ARNUSE_SCRIPTJS    47   #define ARN_JSENGINE QJSEngine    48   #define ARN_JSVALUE QJSValue    49   #define ARN_JSVALUE_LIST QJSValueList    50   #define ARN_JSCONTEXT QJSContext    52   #include <QScriptable>    53   #include <QScriptValue>    54   #define ARN_JSENGINE QScriptEngine    55   #define ARN_JSVALUE QScriptValue    56   #define ARN_JSVALUE_LIST QScriptValueList    57   #define ARN_JSCONTEXT QScriptContext    66 #ifdef ARNUSE_SCRIPTJS    71     Q_PROPERTY( QString variantType  READ variantType        WRITE setVariantType)
    72     Q_PROPERTY( QString defaultType  READ variantType        WRITE setVariantType)  
    74     Q_PROPERTY( 
bool useUuid         READ useUuid            WRITE setUseUuid)
    76     Q_PROPERTY( QString path         READ path               WRITE setPath)
    81     Q_PROPERTY( QVariant variant     READ toVariant          WRITE setVariant)
    82     Q_PROPERTY( QVariant value       READ toVariant          WRITE setVariant)  
    84     Q_PROPERTY( QString 
string       READ toString           WRITE setValue)
    86     Q_PROPERTY( QByteArray bytes     READ toByteArray        WRITE setValue)
    89     Q_PROPERTY( 
float num            READ toReal             WRITE setValue)
    91     Q_PROPERTY( 
double num           READ toReal             WRITE setValue)
    93     Q_PROPERTY( 
int intNum           READ toInt              WRITE setValue)
    96     Q_PROPERTY( 
bool biDirMode       READ isBiDirMode        WRITE setBiDirMode)
    98     Q_PROPERTY( 
bool pipeMode        READ isPipeMode         WRITE setPipeMode)
   100     Q_PROPERTY( 
bool saveMode        READ isSaveMode         WRITE setSaveMode)
   102     Q_PROPERTY( 
bool masterMode      READ isMaster           WRITE setMaster)
   103     Q_PROPERTY( 
bool smMaster        READ isMaster           WRITE setMaster)  
   105     Q_PROPERTY( 
bool autoDestroyMode READ isAutoDestroy      WRITE setAutoDestroy)
   106     Q_PROPERTY( 
bool smAutoDestroy   READ isAutoDestroy      WRITE setAutoDestroy)  
   108     Q_PROPERTY( 
bool atomicOpProvider
   109                                      READ isAtomicOpProvider WRITE setAtomicOpProvider)
   111     Q_PROPERTY( 
bool ignoreSameValue READ isIgnoreSameValue  WRITE setIgnoreSameValue)
   113     Q_PROPERTY( 
int delay            READ delay              WRITE setDelay)
   114     Q_PROPERTY( 
bool templateMode    READ isTemplate         WRITE setTemplate)
   115     Q_PROPERTY( 
bool smTemplate      READ isTemplate         WRITE setTemplate)  
   121     void  setBits( 
int mask, 
int value)
   127     void  addIntNum( 
int value)
   134     void  addNum( 
float value)
   136     void  addNum( 
double value)
   141     Q_INVOKABLE ArnItemJs( QObject* parent = arnNullptr);
   142     Q_INVOKABLE ArnItemJs( 
const QString& path, QObject* parent = arnNullptr);
   143     Q_INVOKABLE ArnItemJs( 
const QJSValue& itemTemplate, 
const QString& path, QObject* parent = arnNullptr);
   145     QString  variantType()  
const;
   146     void  setVariantType( 
const QString& typeName);
   148     QString  
path()  
const;
   153     void  setPath( 
const QString& path);
   155     void  setVariant( 
const QVariant& value);
   164     bool  useUuid()  
const;
   165     void  setUseUuid( 
bool useUuid);
   170     void  changedNum( 
float value);
   172     void  changedNum( 
double value);
   174     void  changedString( 
const QString& value);
   178     const ArnItem& arnItemFromJsValue( 
const QJSValue& jsValue, QObject& defParent);
   181     int  _variantType = 0;
   182     bool  _useUuid    = 
false;
   190     Q_PROPERTY( QString clientId     READ clientId     WRITE setClient)
   192     Q_PROPERTY( QString monitorPath  READ monitorPath  WRITE setMonitorPath)
   200     Q_INVOKABLE ArnMonitorJs( QObject* parent = arnNullptr);
   207     Q_PROPERTY( QString stateName  READ stateName  WRITE setStateName)
   208     Q_PROPERTY( 
int     stateId    READ stateId    WRITE setStateId)
   210     void  advertise( 
const QString& serviceName);
   213     Q_INVOKABLE ArnDepOfferJs( QObject* parent = arnNullptr);
   221     void  add( 
const QString& serviceName, 
int stateId = -1);
   222     void  add( 
const QString& serviceName, 
const QString& stateName);
   227     Q_INVOKABLE ArnDepJs( QObject* parent = arnNullptr);
   233     friend class ArnJsGlobal;
   236     explicit  ArnScript( QObject* parent = arnNullptr);
   239     void  addObject( 
const QString& 
id, QObject* obj);
   241     bool  evaluate( 
const QByteArray& script, 
const QString& idName, 
const QString& typeName = QString());
   242     bool  evaluateFile( 
const QString& fileName);
   246     QString  idName()  
const;
   247     void  setInterruptedText( 
const QString& interruptedText);
   250     void  errorText( QString txt);
   263     bool  doJsResult( 
const ARN_JSVALUE& jsResult, 
const QString& typeName = QString());
   266     QString  _interruptedText;
   270 class ArnJsGlobal : 
public QObject
   274     explicit  ArnJsGlobal( 
ArnScript& arnScript, QObject* parent = arnNullptr);
   277     void print( 
const QString& txt);
   284 class ArnItemScr : 
public ArnItem   288     ArnItemScr( QObject* parent = arnNullptr);
   289     ArnItemScr( 
const QString& path, QObject* parent = arnNullptr);
   290     ArnItemScr( 
const ArnItem& itemTemplate, 
const QString& path, QObject* parent = arnNullptr);
   291     virtual  ~ArnItemScr();
   298     void  changedNum( 
float value);
   300     void  changedNum( 
double value);
   302     void  changedString( 
const QString& value);
   312     Q_PROPERTY( QString defaultType READ defaultType   WRITE setDefaultType)
   313     Q_PROPERTY( QString path        READ path          WRITE setPath)
   314     Q_PROPERTY( QVariant value      READ value         WRITE setValue)
   315     Q_PROPERTY( QString 
string      READ 
string        WRITE setString)
   317     Q_PROPERTY( 
bool pipeMode       READ isPipeMode    WRITE setPipeMode)
   318     Q_PROPERTY( 
bool saveMode       READ isSaveMode    WRITE setSaveMode)
   319     Q_PROPERTY( 
bool smMaster       READ isMaster      WRITE setMaster)
   320     Q_PROPERTY( 
bool smAutoDestroy  READ isAutoDestroy WRITE setAutoDestroy)
   321     Q_PROPERTY( 
bool smTemplate     READ isTemplate    WRITE setTemplate)
   323     ArnItemProto( 
ArnScript* parent = arnNullptr);
   325     QString  defaultType() 
const;
   326     void  setDefaultType( 
const QString& typeName);
   327     QString  path() 
const;
   328     void  setPath( 
const QString& path);
   329     QVariant  value() 
const;
   330     void  setValue( 
const QVariant& value);
   331     QString  string() 
const;
   332     void  setString( 
const QString& value);
   333     bool  isPipeMode() 
const;
   334     void  setPipeMode( 
bool isPipeMode);
   335     bool  isMaster() 
const;
   336     void  setMaster( 
bool isMaster);
   337     bool  isAutoDestroy() 
const;
   338     void  setAutoDestroy( 
bool isAutoDestroy);
   339     bool  isSaveMode() 
const;
   340     void  setSaveMode( 
bool isSaveMode);
   341     bool  isTemplate() 
const;
   342     void  setTemplate( 
bool isTemplate);
   344     static QScriptValue getSetNum( QScriptContext* context, QScriptEngine* engine);
   346     static QScriptValue  constructor( QScriptContext* context, QScriptEngine* engine);
   353     Q_PROPERTY( QString clientId     READ clientId     WRITE setClientId)
   354     Q_PROPERTY( QString monitorPath  READ monitorPath  WRITE setMonitorPath)
   359     ArnMonitorProto( 
ArnScript* parent = arnNullptr);
   360     void  setClientId( 
const QString& 
id);
   361     QString  clientId() 
const;
   362     void  setMonitorPath( 
const QString& name);
   363     QString  monitorPath() 
const;
   365     static QScriptValue  constructor( QScriptContext* context, QScriptEngine* engine);
   372     Q_PROPERTY( QString stateName  READ stateName  WRITE setStateName)
   373     Q_PROPERTY( 
int     stateId    READ stateId    WRITE setStateId)
   375     void  advertise( 
const QString& serviceName);
   378     ArnDepOfferProto( 
ArnScript* parent = arnNullptr);
   379     void  setStateName( 
const QString& name);
   380     QString  stateName() 
const;
   381     void  setStateId( 
int id);
   384     static QScriptValue  constructor( QScriptContext* context, QScriptEngine* engine);
   392     void  add( 
const QString& serviceName, 
int stateId = -1);
   393     void  add( 
const QString& serviceName, 
const QString& stateName);
   394     void  setMonitorName( 
const QString& name);
   398     ArnDepProto( 
ArnScript* parent = arnNullptr);
   400     static QScriptValue  constructor( QScriptContext* context, QScriptEngine* engine);
   409     explicit  ArnScript( QObject* parent = arnNullptr);
   410     ArnScript( QScriptEngine* engine, QObject* parent = arnNullptr);
   411     QScriptEngine&  engine()  
const;
   412     void  addObject( 
const QString& 
id, QObject* obj);
   414     bool  evaluate( 
const QByteArray& script, 
const QString& idName, 
const QString& typeName = QString());
   415     bool  evaluateFile( 
const QString& fileName);
   419     bool  logUncaughtError( QScriptValue& scriptValue, 
const QString& typeName = QString());
   420     QString  idName()  
const;
   422     void  setInterruptedText( 
const QString& interruptedText);
   425     void  errorText( QString txt);
   430     void  doSignalException( 
const QScriptValue& exception);
   434     static QScriptValue  printFunction( QScriptContext* context, QScriptEngine* engine);
   443     void  init( QScriptEngine* engine);
   449 #endif // ARNSCRIPT_HPP void reStart()
The monitor is restarted. 
 
void add(const QString &serviceName, int stateId=-1)
Add a dependency for a service 
 
ArnItem & setAutoDestroy()
Set client session sync mode as AutoDestroy for this ArnItem. 
 
Class for advertising that a service is available. 
 
ArnItem & setPipeMode()
Set general mode as Pipe for this Arn Data Object 
 
Arn::DataType type() const
The type stored in the Arn Data Object 
 
ArnItem & setMaster()
Set client session sync mode as Master for this ArnItem. 
 
DataType
Data type of an Arn Data Object 
 
ArnItem & setBiDirMode()
Set general mode as Bidirectional for this Arn Data Object 
 
void setAtomicOpProvider()
Set this Arn Data Object as Atomic Operator Provider 
 
void addValue(int value)
AtomicOp adds an integer to an 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 setMonitorName(const QString &name)
Set an optional monitor name for debugging. 
 
Class for setting up dependencis to needed services. 
 
Class for connecting to an Arn Server. 
 
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 
 
QString path(Arn::NameF nameF=Arn::NameF::EmptyOk) const
Path of the Arn Data Object 
 
ArnDepOfferProto * _depOfferProto
 
void advertise(const QString &serviceName)
Advertise an available service 
 
ArnMonitorProto * _monitorProto
 
#define ARNLIBSHARED_EXPORT
 
int toInt(bool *isOk=arnNullptr) const
 
ArnItemProto * _itemProto
 
A client remote monitor to detect changes at server. 
 
Handle for an Arn Data Object. 
 
void startMonitor()
Starting the dependency monitor.