/**********************************
 * 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]);
}static UA_INLINE UA_Boolean
UA_QtInnerTestStructType_equal(const UA_QtInnerTestStructType *p1, const UA_QtInnerTestStructType *p2) {
    return (UA_order(p1, p2, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTINNERTESTSTRUCTTYPE]) == UA_ORDER_EQ);
}



/* QtRecursiveTestStruct */
static UA_INLINE void
UA_QtRecursiveTestStruct_init(UA_QtRecursiveTestStruct *p) {
    memset(p, 0, sizeof(UA_QtRecursiveTestStruct));
}

static UA_INLINE UA_QtRecursiveTestStruct *
UA_QtRecursiveTestStruct_new(void) {
    return (UA_QtRecursiveTestStruct*)UA_new(&UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTRECURSIVETESTSTRUCT]);
}

static UA_INLINE UA_StatusCode
UA_QtRecursiveTestStruct_copy(const UA_QtRecursiveTestStruct *src, UA_QtRecursiveTestStruct *dst) {
    return UA_copy(src, dst, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTRECURSIVETESTSTRUCT]);
}

UA_DEPRECATED static UA_INLINE void
UA_QtRecursiveTestStruct_deleteMembers(UA_QtRecursiveTestStruct *p) {
    UA_clear(p, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTRECURSIVETESTSTRUCT]);
}

static UA_INLINE void
UA_QtRecursiveTestStruct_clear(UA_QtRecursiveTestStruct *p) {
    UA_clear(p, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTRECURSIVETESTSTRUCT]);
}

static UA_INLINE void
UA_QtRecursiveTestStruct_delete(UA_QtRecursiveTestStruct *p) {
    UA_delete(p, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTRECURSIVETESTSTRUCT]);
}static UA_INLINE UA_Boolean
UA_QtRecursiveTestStruct_equal(const UA_QtRecursiveTestStruct *p1, const UA_QtRecursiveTestStruct *p2) {
    return (UA_order(p1, p2, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTRECURSIVETESTSTRUCT]) == UA_ORDER_EQ);
}



/* 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]);
}static UA_INLINE UA_Boolean
UA_QtStructWithOptionalFieldType_equal(const UA_QtStructWithOptionalFieldType *p1, const UA_QtStructWithOptionalFieldType *p2) {
    return (UA_order(p1, p2, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTSTRUCTWITHOPTIONALFIELDTYPE]) == UA_ORDER_EQ);
}



/* 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]);
}static UA_INLINE UA_Boolean
UA_QtTestStructWithDataValue_equal(const UA_QtTestStructWithDataValue *p1, const UA_QtTestStructWithDataValue *p2) {
    return (UA_order(p1, p2, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTSTRUCTWITHDATAVALUE]) == UA_ORDER_EQ);
}



/* 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]);
}static UA_INLINE UA_Boolean
UA_QtTestStructWithDiagnosticInfo_equal(const UA_QtTestStructWithDiagnosticInfo *p1, const UA_QtTestStructWithDiagnosticInfo *p2) {
    return (UA_order(p1, p2, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTSTRUCTWITHDIAGNOSTICINFO]) == UA_ORDER_EQ);
}



/* 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]);
}static UA_INLINE UA_Boolean
UA_QtTestUnionType_equal(const UA_QtTestUnionType *p1, const UA_QtTestUnionType *p2) {
    return (UA_order(p1, p2, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTUNIONTYPE]) == UA_ORDER_EQ);
}



/* 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]);
}static UA_INLINE UA_Boolean
UA_QtTestEnumeration_equal(const UA_QtTestEnumeration *p1, const UA_QtTestEnumeration *p2) {
    return (UA_order(p1, p2, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTENUMERATION]) == UA_ORDER_EQ);
}



/* 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]);
}static UA_INLINE UA_Boolean
UA_QtTestStructType_equal(const UA_QtTestStructType *p1, const UA_QtTestStructType *p2) {
    return (UA_order(p1, p2, &UA_TYPES_QTOPCUATESTMODEL[UA_TYPES_QTOPCUATESTMODEL_QTTESTSTRUCTTYPE]) == UA_ORDER_EQ);
}



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

_UA_END_DECLS

#endif /* TYPES_QTOPCUATESTMODEL_GENERATED_HANDLING_H_ */
