UA_StatusCode
+__UA_Client_writeAttribute_async(
+ UA_Client *client, const UA_NodeId *nodeId,
+ UA_AttributeId attributeId, const void *in,
+ const UA_DataType *inDataType,
+ UA_ClientAsyncServiceCallback callback,
+ void *userdata, UA_UInt32 *reqId);
+
+static UA_INLINE UA_StatusCode
+UA_Client_writeValueAttribute_async(
+ UA_Client *client, const UA_NodeId nodeId,
+ const UA_Variant *attr, UA_ClientAsyncWriteCallback callback,
+ void *userdata, UA_UInt32 *reqId) {
+ return __UA_Client_writeAttribute_async(
+ client, &nodeId, UA_ATTRIBUTEID_VALUE, attr,
+ &UA_TYPES[UA_TYPES_VARIANT],
+ (UA_ClientAsyncServiceCallback)callback,
+ userdata, reqId);
+}
+
+static UA_INLINE UA_StatusCode
+UA_Client_writeNodeIdAttribute_async(
+ UA_Client *client, const UA_NodeId nodeId,
+ const UA_NodeId *attr, UA_ClientAsyncServiceCallback callback,
+ void *userdata, UA_UInt32 *reqId) {
+ return __UA_Client_writeAttribute_async(
+ client, &nodeId, UA_ATTRIBUTEID_NODEID, attr,
+ &UA_TYPES[UA_TYPES_NODEID], callback, userdata, reqId);
+}
+
+static UA_INLINE UA_StatusCode
+UA_Client_writeNodeClassAttribute_async(
+ UA_Client *client, const UA_NodeId nodeId,
+ const UA_NodeClass *attr, UA_ClientAsyncServiceCallback callback,
+ void *userdata, UA_UInt32 *reqId) {
+ return __UA_Client_writeAttribute_async(
+ client, &nodeId, UA_ATTRIBUTEID_NODECLASS, attr,
+ &UA_TYPES[UA_TYPES_NODECLASS], callback, userdata, reqId);
+}
+
+static UA_INLINE UA_StatusCode
+UA_Client_writeBrowseNameAttribute_async(
+ UA_Client *client, const UA_NodeId nodeId,
+ const UA_QualifiedName *attr, UA_ClientAsyncServiceCallback callback,
+ void *userdata, UA_UInt32 *reqId) {
+ return __UA_Client_writeAttribute_async(
+ client, &nodeId, UA_ATTRIBUTEID_BROWSENAME, attr,
+ &UA_TYPES[UA_TYPES_QUALIFIEDNAME], callback, userdata, reqId);
+}
+
+static UA_INLINE UA_StatusCode
+UA_Client_writeDisplayNameAttribute_async(
+ UA_Client *client, const UA_NodeId nodeId,
+ const UA_LocalizedText *attr, UA_ClientAsyncServiceCallback callback,
+ void *userdata, UA_UInt32 *reqId) {
+ return __UA_Client_writeAttribute_async(
+ client, &nodeId, UA_ATTRIBUTEID_DISPLAYNAME, attr,
+ &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], callback, userdata, reqId);
+}
+
+static UA_INLINE UA_StatusCode
+UA_Client_writeDescriptionAttribute_async(
+ UA_Client *client, const UA_NodeId nodeId,
+ const UA_LocalizedText *attr, UA_ClientAsyncServiceCallback callback,
+ void *userdata, UA_UInt32 *reqId) {
+ return __UA_Client_writeAttribute_async(
+ client, &nodeId, UA_ATTRIBUTEID_DESCRIPTION, attr,
+ &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], callback, userdata, reqId);
+}
+
+static UA_INLINE UA_StatusCode
+UA_Client_writeWriteMaskAttribute_async(
+ UA_Client *client, const UA_NodeId nodeId,
+ const UA_UInt32 *attr, UA_ClientAsyncServiceCallback callback,
+ void *userdata, UA_UInt32 *reqId) {
+ return __UA_Client_writeAttribute_async(
+ client, &nodeId, UA_ATTRIBUTEID_WRITEMASK, attr,
+ &UA_TYPES[UA_TYPES_UINT32], callback, userdata, reqId);
+}
+
+static UA_INLINE UA_StatusCode
+UA_Client_writeUserWriteMaskAttribute_async(
+ UA_Client *client, const UA_NodeId nodeId,
+ const UA_UInt32 *attr, UA_ClientAsyncServiceCallback callback,
+ void *userdata, UA_UInt32 *reqId) {
+ return __UA_Client_writeAttribute_async(
+ client, &nodeId, UA_ATTRIBUTEID_USERWRITEMASK, attr,
+ &UA_TYPES[UA_TYPES_UINT32], callback, userdata, reqId);
+}
+
+static UA_INLINE UA_StatusCode
+UA_Client_writeIsAbstractAttribute_async(
+ UA_Client *client, const UA_NodeId nodeId,
+ const UA_Boolean *attr, UA_ClientAsyncServiceCallback callback,
+ void *userdata, UA_UInt32 *reqId) {
+ return __UA_Client_writeAttribute_async(
+ client, &nodeId, UA_ATTRIBUTEID_ISABSTRACT, attr,
+ &UA_TYPES[UA_TYPES_BOOLEAN], callback, userdata, reqId);
+}
+
+static UA_INLINE UA_StatusCode
+UA_Client_writeSymmetricAttribute_async(
+ UA_Client *client, const UA_NodeId nodeId,
+ const UA_Boolean *attr, UA_ClientAsyncServiceCallback callback,
+ void *userdata, UA_UInt32 *reqId) {
+ return __UA_Client_writeAttribute_async(
+ client, &nodeId, UA_ATTRIBUTEID_SYMMETRIC, attr,
+ &UA_TYPES[UA_TYPES_BOOLEAN], callback, userdata, reqId);
+}
+
+static UA_INLINE UA_StatusCode
+UA_Client_writeInverseNameAttribute_async(
+ UA_Client *client, const UA_NodeId nodeId,
+ const UA_LocalizedText *attr,
+ UA_ClientAsyncServiceCallback callback,
+ void *userdata, UA_UInt32 *reqId) {
+ return __UA_Client_writeAttribute_async(
+ client, &nodeId, UA_ATTRIBUTEID_INVERSENAME, attr,
+ &UA_TYPES[UA_TYPES_LOCALIZEDTEXT], callback, userdata, reqId);
+}
+
+static UA_INLINE UA_StatusCode
+UA_Client_writeContainsNoLoopsAttribute_async(
+ UA_Client *client, const UA_NodeId nodeId,
+ const UA_Boolean *attr, UA_ClientAsyncServiceCallback callback,
+ void *userdata, UA_UInt32 *reqId) {
+ return __UA_Client_writeAttribute_async(
+ client, &nodeId, UA_ATTRIBUTEID_CONTAINSNOLOOPS, attr,
+ &UA_TYPES[UA_TYPES_BOOLEAN], callback, userdata, reqId);
+}
+
+static UA_INLINE UA_StatusCode
+UA_Client_writeEventNotifierAttribute_async(
+ UA_Client *client, const UA_NodeId nodeId,
+ const UA_Byte *attr, UA_ClientAsyncServiceCallback callback,
+ void *userdata, UA_UInt32 *reqId) {
+ return __UA_Client_writeAttribute_async(
+ client, &nodeId, UA_ATTRIBUTEID_EVENTNOTIFIER, attr,
+ &UA_TYPES[UA_TYPES_BYTE], callback, userdata, reqId);
+}
+
+static UA_INLINE UA_StatusCode
+UA_Client_writeDataTypeAttribute_async(
+ UA_Client *client, const UA_NodeId nodeId,
+ const UA_NodeId *attr, UA_ClientAsyncServiceCallback callback,
+ void *userdata, UA_UInt32 *reqId) {
+ return __UA_Client_writeAttribute_async(
+ client, &nodeId, UA_ATTRIBUTEID_DATATYPE, attr,
+ &UA_TYPES[UA_TYPES_NODEID], callback, userdata, reqId);
+}
+
+static UA_INLINE UA_StatusCode
+UA_Client_writeValueRankAttribute_async(
+ UA_Client *client, const UA_NodeId nodeId,
+ const UA_Int32 *attr, UA_ClientAsyncServiceCallback callback,
+ void *userdata, UA_UInt32 *reqId) {
+ return __UA_Client_writeAttribute_async(
+ client, &nodeId, UA_ATTRIBUTEID_VALUERANK, attr,
+ &UA_TYPES[UA_TYPES_INT32], callback, userdata, reqId);
+}
+
+static UA_INLINE UA_StatusCode
+UA_Client_writeAccessLevelAttribute_async(
+ UA_Client *client, const UA_NodeId nodeId,
+ const UA_Byte *attr, UA_ClientAsyncServiceCallback callback,
+ void *userdata, UA_UInt32 *reqId) {
+ return __UA_Client_writeAttribute_async(
+ client, &nodeId, UA_ATTRIBUTEID_ACCESSLEVEL, attr,
+ &UA_TYPES[UA_TYPES_BYTE], callback, userdata, reqId);
+}
+
+static UA_INLINE UA_StatusCode
+UA_Client_writeAccessLevelExAttribute_async(
+ UA_Client *client, const UA_NodeId nodeId,
+ const UA_UInt32 *attr, UA_ClientAsyncServiceCallback callback,
+ void *userdata, UA_UInt32 *reqId) {
+ return __UA_Client_writeAttribute_async(
+ client, &nodeId, UA_ATTRIBUTEID_ACCESSLEVELEX, attr,
+ &UA_TYPES[UA_TYPES_UINT32], callback, userdata, reqId);
+}
+
+static UA_INLINE UA_StatusCode
+UA_Client_writeUserAccessLevelAttribute_async(
+ UA_Client *client, const UA_NodeId nodeId,
+ const UA_Byte *attr, UA_ClientAsyncServiceCallback callback,
+ void *userdata, UA_UInt32 *reqId) {
+ return __UA_Client_writeAttribute_async(
+ client, &nodeId, UA_ATTRIBUTEID_USERACCESSLEVEL, attr,
+ &UA_TYPES[UA_TYPES_BYTE], callback, userdata, reqId);
+}
+
+static UA_INLINE UA_StatusCode
+UA_Client_writeMinimumSamplingIntervalAttribute_async(
+ UA_Client *client, const UA_NodeId nodeId,
+ const UA_Double *attr, UA_ClientAsyncServiceCallback callback,
+ void *userdata, UA_UInt32 *reqId) {
+ return __UA_Client_writeAttribute_async(
+ client, &nodeId, UA_ATTRIBUTEID_MINIMUMSAMPLINGINTERVAL,
+ attr, &UA_TYPES[UA_TYPES_DOUBLE], callback, userdata, reqId);
+}
+
+static UA_INLINE UA_StatusCode
+UA_Client_writeHistorizingAttribute_async(
+ UA_Client *client, const UA_NodeId nodeId,
+ const UA_Boolean *attr, UA_ClientAsyncServiceCallback callback,
+ void *userdata, UA_UInt32 *reqId) {
+ return __UA_Client_writeAttribute_async(
+ client, &nodeId, UA_ATTRIBUTEID_HISTORIZING, attr,
+ &UA_TYPES[UA_TYPES_BOOLEAN], callback, userdata, reqId);
+}
+
+static UA_INLINE UA_StatusCode
+UA_Client_writeExecutableAttribute_async(
+ UA_Client *client, const UA_NodeId nodeId,
+ const UA_Boolean *attr, UA_ClientAsyncServiceCallback callback,
+ void *userdata, UA_UInt32 *reqId) {
+ return __UA_Client_writeAttribute_async(
+ client, &nodeId, UA_ATTRIBUTEID_EXECUTABLE, attr,
+ &UA_TYPES[UA_TYPES_BOOLEAN], callback, userdata, reqId);
+}
+
+static UA_INLINE UA_StatusCode
+UA_Client_writeUserExecutableAttribute_async(
+ UA_Client *client, const UA_NodeId nodeId,
+ const UA_Boolean *attr, UA_ClientAsyncServiceCallback callback,
+ void *userdata, UA_UInt32 *reqId) {
+ return __UA_Client_writeAttribute_async(
+ client, &nodeId, UA_ATTRIBUTEID_USEREXECUTABLE, attr,
+ &UA_TYPES[UA_TYPES_BOOLEAN], callback, userdata, reqId);
+}
+