/* c/zx-paos-data.h - WARNING: This header was auto generated by xsd2sg.pl. DO NOT EDIT!
 * $Id$ */
/* Datastructure design, topography, and layout
 * Copyright (c) 2006,2010 Sampo Kellomaki (sampo@iki.fi),
 * All Rights Reserved. NO WARRANTY. See file COPYING for
 * terms and conditions of use. Element and attributes names as well
 * as some topography are derived from schema descriptions that were used as
 * input and may be subject to their own copright. */

#ifndef _c_zx_paos_data_h
#define _c_zx_paos_data_h

#include "zx.h"
#include "c/zx-const.h"
#include "c/zx-data.h"

#ifndef ZX_ELEM_EXT
#define ZX_ELEM_EXT  /* This extension point should be defined by who includes this file. */
#endif

/* -------------------------- paos_Request -------------------------- */
/* refby( zx_e_Header_s ) */
#ifndef zx_paos_Request_EXT
#define zx_paos_Request_EXT
#endif
struct zx_paos_Request_s {
  ZX_ELEM_EXT
  zx_paos_Request_EXT
  struct zx_attr_s* messageID;	/* {0,1} attribute xs:string */
  struct zx_attr_s* responseConsumerURL;	/* {1,1} attribute xs:anyURI */
  struct zx_attr_s* service;	/* {1,1} attribute xs:anyURI */
  struct zx_attr_s* actor;	/* {1,1} attribute xs:anyURI */
  struct zx_attr_s* mustUnderstand;	/* {1,1} attribute xs:boolean */
};

#define zx_NEW_paos_Request(c, father) (struct zx_paos_Request_s*)zx_new_elem((c),(father),zx_paos_Request_ELEM)
int zx_DEC_ATTR_paos_Request(struct zx_ctx* c, struct zx_paos_Request_s* x);
int zx_DEC_ELEM_paos_Request(struct zx_ctx* c, struct zx_paos_Request_s* x);

#ifdef ZX_ENA_AUX
struct zx_paos_Request_s* zx_DEEP_CLONE_paos_Request(struct zx_ctx* c, struct zx_paos_Request_s* x, int dup_strs);
void zx_DUP_STRS_paos_Request(struct zx_ctx* c, struct zx_paos_Request_s* x);
int zx_WALK_SO_paos_Request(struct zx_ctx* c, struct zx_paos_Request_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_paos_Request(struct zx_ctx* c, struct zx_paos_Request_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_paos_Request_GET_messageID(struct zx_paos_Request_s* x);
struct zx_attr_s* zx_paos_Request_GET_responseConsumerURL(struct zx_paos_Request_s* x);
struct zx_attr_s* zx_paos_Request_GET_service(struct zx_paos_Request_s* x);
struct zx_attr_s* zx_paos_Request_GET_actor(struct zx_paos_Request_s* x);
struct zx_attr_s* zx_paos_Request_GET_mustUnderstand(struct zx_paos_Request_s* x);





void zx_paos_Request_PUT_messageID(struct zx_paos_Request_s* x, struct zx_attr_s* y);
void zx_paos_Request_PUT_responseConsumerURL(struct zx_paos_Request_s* x, struct zx_attr_s* y);
void zx_paos_Request_PUT_service(struct zx_paos_Request_s* x, struct zx_attr_s* y);
void zx_paos_Request_PUT_actor(struct zx_paos_Request_s* x, struct zx_attr_s* y);
void zx_paos_Request_PUT_mustUnderstand(struct zx_paos_Request_s* x, struct zx_attr_s* y);





#endif
/* -------------------------- paos_Response -------------------------- */
/* refby( zx_e_Header_s ) */
#ifndef zx_paos_Response_EXT
#define zx_paos_Response_EXT
#endif
struct zx_paos_Response_s {
  ZX_ELEM_EXT
  zx_paos_Response_EXT
  struct zx_attr_s* refToMessageID;	/* {0,1} attribute xs:string */
  struct zx_attr_s* actor;	/* {1,1} attribute xs:anyURI */
  struct zx_attr_s* mustUnderstand;	/* {1,1} attribute xs:boolean */
};

#define zx_NEW_paos_Response(c, father) (struct zx_paos_Response_s*)zx_new_elem((c),(father),zx_paos_Response_ELEM)
int zx_DEC_ATTR_paos_Response(struct zx_ctx* c, struct zx_paos_Response_s* x);
int zx_DEC_ELEM_paos_Response(struct zx_ctx* c, struct zx_paos_Response_s* x);

#ifdef ZX_ENA_AUX
struct zx_paos_Response_s* zx_DEEP_CLONE_paos_Response(struct zx_ctx* c, struct zx_paos_Response_s* x, int dup_strs);
void zx_DUP_STRS_paos_Response(struct zx_ctx* c, struct zx_paos_Response_s* x);
int zx_WALK_SO_paos_Response(struct zx_ctx* c, struct zx_paos_Response_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
int zx_WALK_WO_paos_Response(struct zx_ctx* c, struct zx_paos_Response_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx));
#endif

#ifdef ZX_ENA_GETPUT
struct zx_attr_s* zx_paos_Response_GET_refToMessageID(struct zx_paos_Response_s* x);
struct zx_attr_s* zx_paos_Response_GET_actor(struct zx_paos_Response_s* x);
struct zx_attr_s* zx_paos_Response_GET_mustUnderstand(struct zx_paos_Response_s* x);





void zx_paos_Response_PUT_refToMessageID(struct zx_paos_Response_s* x, struct zx_attr_s* y);
void zx_paos_Response_PUT_actor(struct zx_paos_Response_s* x, struct zx_attr_s* y);
void zx_paos_Response_PUT_mustUnderstand(struct zx_paos_Response_s* x, struct zx_attr_s* y);





#endif

#endif
