/**********************************
 * Autogenerated -- do not modify *
 **********************************/

#ifndef TYPES_QTOPCUATESTMODEL_GENERATED_HANDLING_H_
#define TYPES_QTOPCUATESTMODEL_GENERATED_HANDLING_H_

#include "types_qtopcuatestmodel_generated.h"

_UA_BEGIN_DECLS

#if defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 6
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wmissing-field-initializers"
# pragma GCC diagnostic ignored "-Wmissing-braces"
#endif


/* QtInnerTestStructType */
static UA_INLINE void
UA_QtInnerTestStructType_init(UA_QtInnerTestStructType *p) {
    memset(p, 0, sizeof(UA_QtInnerTestStructType));
}

static UA_INLINE UA_QtInnerTestStructType *
UA_QtInnerTestStructType_new(void) {
    return (UA_QtInnerTestStructType*)UA_new(&UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTINNERTESTSTRUCTTYPE]);
}

static UA_INLINE UA_StatusCode
UA_QtInnerTestStructType_copy(const UA_QtInnerTestStructType *src, UA_QtInnerTestStructType *dst) {
    return UA_copy(src, dst, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTINNERTESTSTRUCTTYPE]);
}

UA_DEPRECATED static UA_INLINE void
UA_QtInnerTestStructType_deleteMembers(UA_QtInnerTestStructType *p) {
    UA_clear(p, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTINNERTESTSTRUCTTYPE]);
}

static UA_INLINE void
UA_QtInnerTestStructType_clear(UA_QtInnerTestStructType *p) {
    UA_clear(p, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTINNERTESTSTRUCTTYPE]);
}

static UA_INLINE void
UA_QtInnerTestStructType_delete(UA_QtInnerTestStructType *p) {
    UA_delete(p, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTINNERTESTSTRUCTTYPE]);
}

/* QtStructWithOptionalFieldType */
static UA_INLINE void
UA_QtStructWithOptionalFieldType_init(UA_QtStructWithOptionalFieldType *p) {
    memset(p, 0, sizeof(UA_QtStructWithOptionalFieldType));
}

static UA_INLINE UA_QtStructWithOptionalFieldType *
UA_QtStructWithOptionalFieldType_new(void) {
    return (UA_QtStructWithOptionalFieldType*)UA_new(&UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTSTRUCTWITHOPTIONALFIELDTYPE]);
}

static UA_INLINE UA_StatusCode
UA_QtStructWithOptionalFieldType_copy(const UA_QtStructWithOptionalFieldType *src, UA_QtStructWithOptionalFieldType *dst) {
    return UA_copy(src, dst, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTSTRUCTWITHOPTIONALFIELDTYPE]);
}

UA_DEPRECATED static UA_INLINE void
UA_QtStructWithOptionalFieldType_deleteMembers(UA_QtStructWithOptionalFieldType *p) {
    UA_clear(p, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTSTRUCTWITHOPTIONALFIELDTYPE]);
}

static UA_INLINE void
UA_QtStructWithOptionalFieldType_clear(UA_QtStructWithOptionalFieldType *p) {
    UA_clear(p, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTSTRUCTWITHOPTIONALFIELDTYPE]);
}

static UA_INLINE void
UA_QtStructWithOptionalFieldType_delete(UA_QtStructWithOptionalFieldType *p) {
    UA_delete(p, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTSTRUCTWITHOPTIONALFIELDTYPE]);
}

/* QtTestStructWithDataValue */
static UA_INLINE void
UA_QtTestStructWithDataValue_init(UA_QtTestStructWithDataValue *p) {
    memset(p, 0, sizeof(UA_QtTestStructWithDataValue));
}

static UA_INLINE UA_QtTestStructWithDataValue *
UA_QtTestStructWithDataValue_new(void) {
    return (UA_QtTestStructWithDataValue*)UA_new(&UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTSTRUCTWITHDATAVALUE]);
}

static UA_INLINE UA_StatusCode
UA_QtTestStructWithDataValue_copy(const UA_QtTestStructWithDataValue *src, UA_QtTestStructWithDataValue *dst) {
    return UA_copy(src, dst, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTSTRUCTWITHDATAVALUE]);
}

UA_DEPRECATED static UA_INLINE void
UA_QtTestStructWithDataValue_deleteMembers(UA_QtTestStructWithDataValue *p) {
    UA_clear(p, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTSTRUCTWITHDATAVALUE]);
}

static UA_INLINE void
UA_QtTestStructWithDataValue_clear(UA_QtTestStructWithDataValue *p) {
    UA_clear(p, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTSTRUCTWITHDATAVALUE]);
}

static UA_INLINE void
UA_QtTestStructWithDataValue_delete(UA_QtTestStructWithDataValue *p) {
    UA_delete(p, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTSTRUCTWITHDATAVALUE]);
}

/* QtTestStructWithDiagnosticInfo */
static UA_INLINE void
UA_QtTestStructWithDiagnosticInfo_init(UA_QtTestStructWithDiagnosticInfo *p) {
    memset(p, 0, sizeof(UA_QtTestStructWithDiagnosticInfo));
}

static UA_INLINE UA_QtTestStructWithDiagnosticInfo *
UA_QtTestStructWithDiagnosticInfo_new(void) {
    return (UA_QtTestStructWithDiagnosticInfo*)UA_new(&UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTSTRUCTWITHDIAGNOSTICINFO]);
}

static UA_INLINE UA_StatusCode
UA_QtTestStructWithDiagnosticInfo_copy(const UA_QtTestStructWithDiagnosticInfo *src, UA_QtTestStructWithDiagnosticInfo *dst) {
    return UA_copy(src, dst, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTSTRUCTWITHDIAGNOSTICINFO]);
}

UA_DEPRECATED static UA_INLINE void
UA_QtTestStructWithDiagnosticInfo_deleteMembers(UA_QtTestStructWithDiagnosticInfo *p) {
    UA_clear(p, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTSTRUCTWITHDIAGNOSTICINFO]);
}

static UA_INLINE void
UA_QtTestStructWithDiagnosticInfo_clear(UA_QtTestStructWithDiagnosticInfo *p) {
    UA_clear(p, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTSTRUCTWITHDIAGNOSTICINFO]);
}

static UA_INLINE void
UA_QtTestStructWithDiagnosticInfo_delete(UA_QtTestStructWithDiagnosticInfo *p) {
    UA_delete(p, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTSTRUCTWITHDIAGNOSTICINFO]);
}

/* QtTestUnionType */
static UA_INLINE void
UA_QtTestUnionType_init(UA_QtTestUnionType *p) {
    memset(p, 0, sizeof(UA_QtTestUnionType));
}

static UA_INLINE UA_QtTestUnionType *
UA_QtTestUnionType_new(void) {
    return (UA_QtTestUnionType*)UA_new(&UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTUNIONTYPE]);
}

static UA_INLINE UA_StatusCode
UA_QtTestUnionType_copy(const UA_QtTestUnionType *src, UA_QtTestUnionType *dst) {
    return UA_copy(src, dst, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTUNIONTYPE]);
}

UA_DEPRECATED static UA_INLINE void
UA_QtTestUnionType_deleteMembers(UA_QtTestUnionType *p) {
    UA_clear(p, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTUNIONTYPE]);
}

static UA_INLINE void
UA_QtTestUnionType_clear(UA_QtTestUnionType *p) {
    UA_clear(p, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTUNIONTYPE]);
}

static UA_INLINE void
UA_QtTestUnionType_delete(UA_QtTestUnionType *p) {
    UA_delete(p, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTUNIONTYPE]);
}

/* QtTestEnumeration */
static UA_INLINE void
UA_QtTestEnumeration_init(UA_QtTestEnumeration *p) {
    memset(p, 0, sizeof(UA_QtTestEnumeration));
}

static UA_INLINE UA_QtTestEnumeration *
UA_QtTestEnumeration_new(void) {
    return (UA_QtTestEnumeration*)UA_new(&UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTENUMERATION]);
}

static UA_INLINE UA_StatusCode
UA_QtTestEnumeration_copy(const UA_QtTestEnumeration *src, UA_QtTestEnumeration *dst) {
    return UA_copy(src, dst, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTENUMERATION]);
}

UA_DEPRECATED static UA_INLINE void
UA_QtTestEnumeration_deleteMembers(UA_QtTestEnumeration *p) {
    UA_clear(p, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTENUMERATION]);
}

static UA_INLINE void
UA_QtTestEnumeration_clear(UA_QtTestEnumeration *p) {
    UA_clear(p, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTENUMERATION]);
}

static UA_INLINE void
UA_QtTestEnumeration_delete(UA_QtTestEnumeration *p) {
    UA_delete(p, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTENUMERATION]);
}

/* QtTestStructType */
static UA_INLINE void
UA_QtTestStructType_init(UA_QtTestStructType *p) {
    memset(p, 0, sizeof(UA_QtTestStructType));
}

static UA_INLINE UA_QtTestStructType *
UA_QtTestStructType_new(void) {
    return (UA_QtTestStructType*)UA_new(&UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTSTRUCTTYPE]);
}

static UA_INLINE UA_StatusCode
UA_QtTestStructType_copy(const UA_QtTestStructType *src, UA_QtTestStructType *dst) {
    return UA_copy(src, dst, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTSTRUCTTYPE]);
}

UA_DEPRECATED static UA_INLINE void
UA_QtTestStructType_deleteMembers(UA_QtTestStructType *p) {
    UA_clear(p, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTSTRUCTTYPE]);
}

static UA_INLINE void
UA_QtTestStructType_clear(UA_QtTestStructType *p) {
    UA_clear(p, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTSTRUCTTYPE]);
}

static UA_INLINE void
UA_QtTestStructType_delete(UA_QtTestStructType *p) {
    UA_delete(p, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTSTRUCTTYPE]);
}

#if defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 6
# pragma GCC diagnostic pop
#endif

_UA_END_DECLS

#endif /* TYPES_QTOPCUATESTMODEL_GENERATED_HANDLING_H_ */
