#ifndef UPNPACTIONREQUEST_H
#define UPNPACTIONREQUEST_H

/*!
 * \file
 *
 * \brief Header file for UpnpActionRequest methods.
 *
 * Do not edit this file, it is automatically generated. Please look at
 * generator.c.
 *
 * \author Marcelo Roberto Jimenez
 */
#include <stdlib.h> /* for size_t */

#include "UpnpGlobal.h" /* for UPNP_EXPORT_SPEC */

#include "UpnpInet.h"
#include "UpnpString.h"
#include "ixml.h"

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

/*!
 * UpnpActionRequest
 */
typedef struct s_UpnpActionRequest UpnpActionRequest;

/*! Constructor */
UPNP_EXPORT_SPEC UpnpActionRequest *UpnpActionRequest_new(void);
/*! Destructor */
UPNP_EXPORT_SPEC void UpnpActionRequest_delete(UpnpActionRequest *p);
/*! Copy Constructor */
UPNP_EXPORT_SPEC UpnpActionRequest *UpnpActionRequest_dup(
	const UpnpActionRequest *p);
/*! Assignment operator */
UPNP_EXPORT_SPEC int UpnpActionRequest_assign(
	UpnpActionRequest *p, const UpnpActionRequest *q);

/*! UpnpActionRequest_get_ErrCode */
UPNP_EXPORT_SPEC int UpnpActionRequest_get_ErrCode(const UpnpActionRequest *p);
/*! UpnpActionRequest_set_ErrCode */
UPNP_EXPORT_SPEC int UpnpActionRequest_set_ErrCode(UpnpActionRequest *p, int n);

/*! UpnpActionRequest_get_Socket */
UPNP_EXPORT_SPEC int UpnpActionRequest_get_Socket(const UpnpActionRequest *p);
/*! UpnpActionRequest_set_Socket */
UPNP_EXPORT_SPEC int UpnpActionRequest_set_Socket(UpnpActionRequest *p, int n);

/*! UpnpActionRequest_get_ErrStr */
UPNP_EXPORT_SPEC const UpnpString *UpnpActionRequest_get_ErrStr(
	const UpnpActionRequest *p);
/*! UpnpActionRequest_set_ErrStr */
UPNP_EXPORT_SPEC int UpnpActionRequest_set_ErrStr(
	UpnpActionRequest *p, const UpnpString *s);
/*! UpnpActionRequest_get_ErrStr_Length */
UPNP_EXPORT_SPEC size_t UpnpActionRequest_get_ErrStr_Length(
	const UpnpActionRequest *p);
/*! UpnpActionRequest_get_ErrStr_cstr */
UPNP_EXPORT_SPEC const char *UpnpActionRequest_get_ErrStr_cstr(
	const UpnpActionRequest *p);
/*! UpnpActionRequest_strcpy_ErrStr */
UPNP_EXPORT_SPEC int UpnpActionRequest_strcpy_ErrStr(
	UpnpActionRequest *p, const char *s);
/*! UpnpActionRequest_strncpy_ErrStr */
UPNP_EXPORT_SPEC int UpnpActionRequest_strncpy_ErrStr(
	UpnpActionRequest *p, const char *s, size_t n);
/*! UpnpActionRequest_clear_ErrStr */
UPNP_EXPORT_SPEC void UpnpActionRequest_clear_ErrStr(UpnpActionRequest *p);

/*! UpnpActionRequest_get_ActionName */
UPNP_EXPORT_SPEC const UpnpString *UpnpActionRequest_get_ActionName(
	const UpnpActionRequest *p);
/*! UpnpActionRequest_set_ActionName */
UPNP_EXPORT_SPEC int UpnpActionRequest_set_ActionName(
	UpnpActionRequest *p, const UpnpString *s);
/*! UpnpActionRequest_get_ActionName_Length */
UPNP_EXPORT_SPEC size_t UpnpActionRequest_get_ActionName_Length(
	const UpnpActionRequest *p);
/*! UpnpActionRequest_get_ActionName_cstr */
UPNP_EXPORT_SPEC const char *UpnpActionRequest_get_ActionName_cstr(
	const UpnpActionRequest *p);
/*! UpnpActionRequest_strcpy_ActionName */
UPNP_EXPORT_SPEC int UpnpActionRequest_strcpy_ActionName(
	UpnpActionRequest *p, const char *s);
/*! UpnpActionRequest_strncpy_ActionName */
UPNP_EXPORT_SPEC int UpnpActionRequest_strncpy_ActionName(
	UpnpActionRequest *p, const char *s, size_t n);
/*! UpnpActionRequest_clear_ActionName */
UPNP_EXPORT_SPEC void UpnpActionRequest_clear_ActionName(UpnpActionRequest *p);

/*! UpnpActionRequest_get_DevUDN */
UPNP_EXPORT_SPEC const UpnpString *UpnpActionRequest_get_DevUDN(
	const UpnpActionRequest *p);
/*! UpnpActionRequest_set_DevUDN */
UPNP_EXPORT_SPEC int UpnpActionRequest_set_DevUDN(
	UpnpActionRequest *p, const UpnpString *s);
/*! UpnpActionRequest_get_DevUDN_Length */
UPNP_EXPORT_SPEC size_t UpnpActionRequest_get_DevUDN_Length(
	const UpnpActionRequest *p);
/*! UpnpActionRequest_get_DevUDN_cstr */
UPNP_EXPORT_SPEC const char *UpnpActionRequest_get_DevUDN_cstr(
	const UpnpActionRequest *p);
/*! UpnpActionRequest_strcpy_DevUDN */
UPNP_EXPORT_SPEC int UpnpActionRequest_strcpy_DevUDN(
	UpnpActionRequest *p, const char *s);
/*! UpnpActionRequest_strncpy_DevUDN */
UPNP_EXPORT_SPEC int UpnpActionRequest_strncpy_DevUDN(
	UpnpActionRequest *p, const char *s, size_t n);
/*! UpnpActionRequest_clear_DevUDN */
UPNP_EXPORT_SPEC void UpnpActionRequest_clear_DevUDN(UpnpActionRequest *p);

/*! UpnpActionRequest_get_ServiceID */
UPNP_EXPORT_SPEC const UpnpString *UpnpActionRequest_get_ServiceID(
	const UpnpActionRequest *p);
/*! UpnpActionRequest_set_ServiceID */
UPNP_EXPORT_SPEC int UpnpActionRequest_set_ServiceID(
	UpnpActionRequest *p, const UpnpString *s);
/*! UpnpActionRequest_get_ServiceID_Length */
UPNP_EXPORT_SPEC size_t UpnpActionRequest_get_ServiceID_Length(
	const UpnpActionRequest *p);
/*! UpnpActionRequest_get_ServiceID_cstr */
UPNP_EXPORT_SPEC const char *UpnpActionRequest_get_ServiceID_cstr(
	const UpnpActionRequest *p);
/*! UpnpActionRequest_strcpy_ServiceID */
UPNP_EXPORT_SPEC int UpnpActionRequest_strcpy_ServiceID(
	UpnpActionRequest *p, const char *s);
/*! UpnpActionRequest_strncpy_ServiceID */
UPNP_EXPORT_SPEC int UpnpActionRequest_strncpy_ServiceID(
	UpnpActionRequest *p, const char *s, size_t n);
/*! UpnpActionRequest_clear_ServiceID */
UPNP_EXPORT_SPEC void UpnpActionRequest_clear_ServiceID(UpnpActionRequest *p);

/*! UpnpActionRequest_get_ActionRequest */
UPNP_EXPORT_SPEC IXML_Document *UpnpActionRequest_get_ActionRequest(
	const UpnpActionRequest *p);
/*! UpnpActionRequest_set_ActionRequest */
UPNP_EXPORT_SPEC int UpnpActionRequest_set_ActionRequest(
	UpnpActionRequest *p, IXML_Document *n);

/*! UpnpActionRequest_get_ActionResult */
UPNP_EXPORT_SPEC IXML_Document *UpnpActionRequest_get_ActionResult(
	const UpnpActionRequest *p);
/*! UpnpActionRequest_set_ActionResult */
UPNP_EXPORT_SPEC int UpnpActionRequest_set_ActionResult(
	UpnpActionRequest *p, IXML_Document *n);

/*! UpnpActionRequest_get_SoapHeader */
UPNP_EXPORT_SPEC IXML_Document *UpnpActionRequest_get_SoapHeader(
	const UpnpActionRequest *p);
/*! UpnpActionRequest_set_SoapHeader */
UPNP_EXPORT_SPEC int UpnpActionRequest_set_SoapHeader(
	UpnpActionRequest *p, IXML_Document *n);

/*! UpnpActionRequest_get_CtrlPtIPAddr */
UPNP_EXPORT_SPEC const struct sockaddr_storage *
UpnpActionRequest_get_CtrlPtIPAddr(const UpnpActionRequest *p);
/*! UpnpActionRequest_get_CtrlPtIPAddr */
UPNP_EXPORT_SPEC int UpnpActionRequest_set_CtrlPtIPAddr(
	UpnpActionRequest *p, const struct sockaddr_storage *buf);
/*! UpnpActionRequest_get_CtrlPtIPAddr */
UPNP_EXPORT_SPEC void UpnpActionRequest_clear_CtrlPtIPAddr(
	UpnpActionRequest *p);

/*! UpnpActionRequest_get_Os */
UPNP_EXPORT_SPEC const UpnpString *UpnpActionRequest_get_Os(
	const UpnpActionRequest *p);
/*! UpnpActionRequest_set_Os */
UPNP_EXPORT_SPEC int UpnpActionRequest_set_Os(
	UpnpActionRequest *p, const UpnpString *s);
/*! UpnpActionRequest_get_Os_Length */
UPNP_EXPORT_SPEC size_t UpnpActionRequest_get_Os_Length(
	const UpnpActionRequest *p);
/*! UpnpActionRequest_get_Os_cstr */
UPNP_EXPORT_SPEC const char *UpnpActionRequest_get_Os_cstr(
	const UpnpActionRequest *p);
/*! UpnpActionRequest_strcpy_Os */
UPNP_EXPORT_SPEC int UpnpActionRequest_strcpy_Os(
	UpnpActionRequest *p, const char *s);
/*! UpnpActionRequest_strncpy_Os */
UPNP_EXPORT_SPEC int UpnpActionRequest_strncpy_Os(
	UpnpActionRequest *p, const char *s, size_t n);
/*! UpnpActionRequest_clear_Os */
UPNP_EXPORT_SPEC void UpnpActionRequest_clear_Os(UpnpActionRequest *p);

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif /* UPNPACTIONREQUEST_H */
