/**
 * adb_MetadataType.h
 *
 * This file was auto-generated from WSDL schema
 * by the Apache Axis2/C Native version: 1.0.0
 */

#ifndef ADB_METADATATYPE_H
#define ADB_METADATATYPE_H

#include <stdio.h>
#include <axiom.h>
#include <axutil_utils.h>
#include <axiom_soap.h>
#include <axis2_client.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef struct adb_MetadataType adb_MetadataType_t;

/**
 * Constructor for MetadataType
 */
adb_MetadataType_t* AXIS2_CALL
adb_MetadataType_create(const axutil_env_t *env);

/**
 * Free MetadataType
 */
axis2_status_t AXIS2_CALL
adb_MetadataType_free(adb_MetadataType_t* _this, const axutil_env_t *env);

/**
 * Getter for version
 */
axis2_char_t* AXIS2_CALL
adb_MetadataType_get_version(adb_MetadataType_t* _this, const axutil_env_t *env);

/**
 * Setter for version
 */
axis2_status_t AXIS2_CALL
adb_MetadataType_set_version(adb_MetadataType_t* _this, const axutil_env_t *env, axis2_char_t* value);

/**
 * Getter for created
 */
axutil_date_time_t* AXIS2_CALL
adb_MetadataType_get_created(adb_MetadataType_t* _this, const axutil_env_t *env);

/**
 * Setter for created
 */
axis2_status_t AXIS2_CALL
adb_MetadataType_set_created(adb_MetadataType_t* _this, const axutil_env_t *env, axutil_date_time_t* value);

/**
 * Serialize to axiom_node
 */
axiom_node_t* AXIS2_CALL
adb_MetadataType_serialize(adb_MetadataType_t* _this, const axutil_env_t *env,
                axiom_node_t* parent, axiom_element_t *parent_element,
                int parent_tag_closed, axutil_hash_t* namespaces,
                int *next_ns_index);

/**
 * Deserialize from axiom_node
 */
adb_MetadataType_t* AXIS2_CALL
adb_MetadataType_create_from_node(const axutil_env_t *env, axiom_node_t *node,
                       int dont_care_minoccurs);

#ifdef __cplusplus
}
#endif

#endif /* ADB_METADATATYPE_H */
