/**********************************************************
 * This file has been automatically created by "typemaker2"
 * from the file "ct_context.xml".
 * Please do not edit this file, all changes will be lost.
 * Better edit the mentioned source file instead.
 **********************************************************/

#ifndef CT_CONTEXT_H
#define CT_CONTEXT_H


#ifdef __cplusplus
extern "C" {
#endif

/* needed system headers */
#include <gwenhywfar/types.h>
#include <gwenhywfar/list1.h>
#include <gwenhywfar/list2.h>
#include <gwenhywfar/inherit.h>
#include <gwenhywfar/db.h>
#include <gwenhywfar/xml.h>

/* pre-headers */
#include <gwenhywfar/types.h>

typedef struct GWEN_CRYPT_TOKEN_CONTEXT GWEN_CRYPT_TOKEN_CONTEXT;
GWEN_LIST_FUNCTION_LIB_DEFS(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_Crypt_Token_Context, GWENHYWFAR_API)
GWEN_LIST2_FUNCTION_LIB_DEFS(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_Crypt_Token_Context, GWENHYWFAR_API)
GWEN_INHERIT_FUNCTION_LIB_DEFS(GWEN_CRYPT_TOKEN_CONTEXT, GWENHYWFAR_API)


/* post-headers */


/** Constructor. */
GWENHYWFAR_API GWEN_CRYPT_TOKEN_CONTEXT *GWEN_Crypt_Token_Context_new();

/** Destructor. */
GWENHYWFAR_API void GWEN_Crypt_Token_Context_free(GWEN_CRYPT_TOKEN_CONTEXT *p_struct);

GWENHYWFAR_API void GWEN_Crypt_Token_Context_Attach(GWEN_CRYPT_TOKEN_CONTEXT *p_struct);

GWENHYWFAR_API GWEN_CRYPT_TOKEN_CONTEXT *GWEN_Crypt_Token_Context_dup(const GWEN_CRYPT_TOKEN_CONTEXT *p_struct);

/** Getter.
 * Use this function to get the member "id"
*/
GWENHYWFAR_API uint32_t GWEN_Crypt_Token_Context_GetId(const GWEN_CRYPT_TOKEN_CONTEXT *p_struct);

/** Getter.
 * Use this function to get the member "signKeyId"
*/
GWENHYWFAR_API uint32_t GWEN_Crypt_Token_Context_GetSignKeyId(const GWEN_CRYPT_TOKEN_CONTEXT *p_struct);

/** Getter.
 * Use this function to get the member "verifyKeyId"
*/
GWENHYWFAR_API uint32_t GWEN_Crypt_Token_Context_GetVerifyKeyId(const GWEN_CRYPT_TOKEN_CONTEXT *p_struct);

/** Getter.
 * Use this function to get the member "encipherKeyId"
*/
GWENHYWFAR_API uint32_t GWEN_Crypt_Token_Context_GetEncipherKeyId(const GWEN_CRYPT_TOKEN_CONTEXT *p_struct);

/** Getter.
 * Use this function to get the member "decipherKeyId"
*/
GWENHYWFAR_API uint32_t GWEN_Crypt_Token_Context_GetDecipherKeyId(const GWEN_CRYPT_TOKEN_CONTEXT *p_struct);

/** Getter.
 * Use this function to get the member "authSignKeyId"
*/
GWENHYWFAR_API uint32_t GWEN_Crypt_Token_Context_GetAuthSignKeyId(const GWEN_CRYPT_TOKEN_CONTEXT *p_struct);

/** Getter.
 * Use this function to get the member "authVerifyKeyId"
*/
GWENHYWFAR_API uint32_t GWEN_Crypt_Token_Context_GetAuthVerifyKeyId(const GWEN_CRYPT_TOKEN_CONTEXT *p_struct);

/** Getter.
 * Use this function to get the member "tempSignKeyId"
*/
GWENHYWFAR_API uint32_t GWEN_Crypt_Token_Context_GetTempSignKeyId(const GWEN_CRYPT_TOKEN_CONTEXT *p_struct);

/** Getter.
 * Use this function to get the member "serviceId"
*/
GWENHYWFAR_API const char *GWEN_Crypt_Token_Context_GetServiceId(const GWEN_CRYPT_TOKEN_CONTEXT *p_struct);

/** Getter.
 * Use this function to get the member "userId"
*/
GWENHYWFAR_API const char *GWEN_Crypt_Token_Context_GetUserId(const GWEN_CRYPT_TOKEN_CONTEXT *p_struct);

/** Getter.
 * Use this function to get the member "userName"
*/
GWENHYWFAR_API const char *GWEN_Crypt_Token_Context_GetUserName(const GWEN_CRYPT_TOKEN_CONTEXT *p_struct);

/** Getter.
 * Use this function to get the member "peerId"
*/
GWENHYWFAR_API const char *GWEN_Crypt_Token_Context_GetPeerId(const GWEN_CRYPT_TOKEN_CONTEXT *p_struct);

/** Getter.
 * Use this function to get the member "peerName"
*/
GWENHYWFAR_API const char *GWEN_Crypt_Token_Context_GetPeerName(const GWEN_CRYPT_TOKEN_CONTEXT *p_struct);

/** Getter.
 * Use this function to get the member "address"
*/
GWENHYWFAR_API const char *GWEN_Crypt_Token_Context_GetAddress(const GWEN_CRYPT_TOKEN_CONTEXT *p_struct);

/** Getter.
 * Use this function to get the member "port"
*/
GWENHYWFAR_API int GWEN_Crypt_Token_Context_GetPort(const GWEN_CRYPT_TOKEN_CONTEXT *p_struct);

/** Getter.
 * Use this function to get the member "systemId"
*/
GWENHYWFAR_API const char *GWEN_Crypt_Token_Context_GetSystemId(const GWEN_CRYPT_TOKEN_CONTEXT *p_struct);

/** Setter.
 * Use this function to set the member "id"
*/
GWENHYWFAR_API void GWEN_Crypt_Token_Context_SetId(GWEN_CRYPT_TOKEN_CONTEXT *p_struct, uint32_t p_src);

/** Setter.
 * Use this function to set the member "signKeyId"
*/
GWENHYWFAR_API void GWEN_Crypt_Token_Context_SetSignKeyId(GWEN_CRYPT_TOKEN_CONTEXT *p_struct, uint32_t p_src);

/** Setter.
 * Use this function to set the member "verifyKeyId"
*/
GWENHYWFAR_API void GWEN_Crypt_Token_Context_SetVerifyKeyId(GWEN_CRYPT_TOKEN_CONTEXT *p_struct, uint32_t p_src);

/** Setter.
 * Use this function to set the member "encipherKeyId"
*/
GWENHYWFAR_API void GWEN_Crypt_Token_Context_SetEncipherKeyId(GWEN_CRYPT_TOKEN_CONTEXT *p_struct, uint32_t p_src);

/** Setter.
 * Use this function to set the member "decipherKeyId"
*/
GWENHYWFAR_API void GWEN_Crypt_Token_Context_SetDecipherKeyId(GWEN_CRYPT_TOKEN_CONTEXT *p_struct, uint32_t p_src);

/** Setter.
 * Use this function to set the member "authSignKeyId"
*/
GWENHYWFAR_API void GWEN_Crypt_Token_Context_SetAuthSignKeyId(GWEN_CRYPT_TOKEN_CONTEXT *p_struct, uint32_t p_src);

/** Setter.
 * Use this function to set the member "authVerifyKeyId"
*/
GWENHYWFAR_API void GWEN_Crypt_Token_Context_SetAuthVerifyKeyId(GWEN_CRYPT_TOKEN_CONTEXT *p_struct, uint32_t p_src);

/** Setter.
 * Use this function to set the member "tempSignKeyId"
*/
GWENHYWFAR_API void GWEN_Crypt_Token_Context_SetTempSignKeyId(GWEN_CRYPT_TOKEN_CONTEXT *p_struct, uint32_t p_src);

/** Setter.
 * Use this function to set the member "serviceId"
*/
GWENHYWFAR_API void GWEN_Crypt_Token_Context_SetServiceId(GWEN_CRYPT_TOKEN_CONTEXT *p_struct, const char *p_src);

/** Setter.
 * Use this function to set the member "userId"
*/
GWENHYWFAR_API void GWEN_Crypt_Token_Context_SetUserId(GWEN_CRYPT_TOKEN_CONTEXT *p_struct, const char *p_src);

/** Setter.
 * Use this function to set the member "userName"
*/
GWENHYWFAR_API void GWEN_Crypt_Token_Context_SetUserName(GWEN_CRYPT_TOKEN_CONTEXT *p_struct, const char *p_src);

/** Setter.
 * Use this function to set the member "peerId"
*/
GWENHYWFAR_API void GWEN_Crypt_Token_Context_SetPeerId(GWEN_CRYPT_TOKEN_CONTEXT *p_struct, const char *p_src);

/** Setter.
 * Use this function to set the member "peerName"
*/
GWENHYWFAR_API void GWEN_Crypt_Token_Context_SetPeerName(GWEN_CRYPT_TOKEN_CONTEXT *p_struct, const char *p_src);

/** Setter.
 * Use this function to set the member "address"
*/
GWENHYWFAR_API void GWEN_Crypt_Token_Context_SetAddress(GWEN_CRYPT_TOKEN_CONTEXT *p_struct, const char *p_src);

/** Setter.
 * Use this function to set the member "port"
*/
GWENHYWFAR_API void GWEN_Crypt_Token_Context_SetPort(GWEN_CRYPT_TOKEN_CONTEXT *p_struct, int p_src);

/** Setter.
 * Use this function to set the member "systemId"
*/
GWENHYWFAR_API void GWEN_Crypt_Token_Context_SetSystemId(GWEN_CRYPT_TOKEN_CONTEXT *p_struct, const char *p_src);

GWENHYWFAR_API GWEN_CRYPT_TOKEN_CONTEXT_LIST *GWEN_Crypt_Token_Context_List_dup(const GWEN_CRYPT_TOKEN_CONTEXT_LIST *p_src);

GWENHYWFAR_API void GWEN_Crypt_Token_Context_ReadDb(GWEN_CRYPT_TOKEN_CONTEXT *p_struct, GWEN_DB_NODE *p_db);

GWENHYWFAR_API int GWEN_Crypt_Token_Context_WriteDb(const GWEN_CRYPT_TOKEN_CONTEXT *p_struct, GWEN_DB_NODE *p_db);

GWENHYWFAR_API GWEN_CRYPT_TOKEN_CONTEXT *GWEN_Crypt_Token_Context_fromDb(GWEN_DB_NODE *p_db);

GWENHYWFAR_API int GWEN_Crypt_Token_Context_toDb(const GWEN_CRYPT_TOKEN_CONTEXT *p_struct, GWEN_DB_NODE *p_db);

GWENHYWFAR_API void GWEN_Crypt_Token_Context_ReadXml(GWEN_CRYPT_TOKEN_CONTEXT *p_struct, GWEN_XMLNODE *p_db);

GWENHYWFAR_API void GWEN_Crypt_Token_Context_WriteXml(const GWEN_CRYPT_TOKEN_CONTEXT *p_struct, GWEN_XMLNODE *p_db);

GWENHYWFAR_API void GWEN_Crypt_Token_Context_toXml(const GWEN_CRYPT_TOKEN_CONTEXT *p_struct, GWEN_XMLNODE *p_db);

GWENHYWFAR_API GWEN_CRYPT_TOKEN_CONTEXT *GWEN_Crypt_Token_Context_fromXml(GWEN_XMLNODE *p_db);

GWENHYWFAR_API GWEN_CRYPT_TOKEN_CONTEXT *GWEN_Crypt_Token_Context_List_GetById(const GWEN_CRYPT_TOKEN_CONTEXT_LIST *p_list, uint32_t p_cmp);

#ifdef __cplusplus
}
#endif

#endif

