# neethi_engine.h File Reference

`#include <axis2_defines.h>`
`#include <axutil_env.h>`
`#include <neethi_includes.h>`
`#include <neethi_operator.h>`
`#include <neethi_policy.h>`
`#include <neethi_all.h>`
`#include <neethi_exactlyone.h>`
`#include <neethi_reference.h>`
`#include <neethi_registry.h>`
`#include <neethi_assertion.h>`

Go to the source code of this file.

## Functions
AXIS2_EXTERN neethi_policy_t * | neethi_engine_get_policy (const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element)
AXIS2_EXTERN neethi_policy_t * | neethi_engine_get_normalize (const axutil_env_t *env, axis2_bool_t deep, neethi_policy_t *neethi_policy)
AXIS2_EXTERN neethi_policy_t * | neethi_engine_normalize (const axutil_env_t *env, neethi_policy_t *neethi_policy, neethi_registry_t *registry, axis2_bool_t deep)
AXIS2_EXTERN neethi_policy_t * | neethi_engine_merge (const axutil_env_t *env, neethi_policy_t *neethi_policy1, neethi_policy_t *neethi_policy2)
AXIS2_EXTERN axiom_node_t * | neethi_engine_serialize (neethi_policy_t *policy, const axutil_env_t *env)

## Detailed Description

neethi_policy creation logic.

## Function Documentation

AXIS2_EXTERN neethi_policy_t* neethi_engine_get_normalize | ( | const axutil_env_t * | env,
|  | axis2_bool_t | deep,
|  | neethi_policy_t * | neethi_policy |
| ) |  |  |

Given a neethi_policy object this will return the normalized policy object.

Parameters:

  | env | pointer to environment struct
  | deep | to specify whether assertion level normalization needed.
  | neethi_policy_t | to the policy which is not normalized.

Returns:
  pointer to a normalized neethi_policy_t struct

AXIS2_EXTERN neethi_policy_t* neethi_engine_get_policy | ( | const axutil_env_t * | env,
|  | axiom_node_t * | node,
|  | axiom_element_t * | element |
| ) |  |  |

Given an axiom model this function will return a neethi_policy object.

Parameters:

  | env | pointer to environment struct
  | node | to an axiom_node
  | node | to an axiom_element

Returns:
  pointer to a neethi_policy_t struct

AXIS2_EXTERN neethi_policy_t* neethi_engine_normalize | ( | const axutil_env_t * | env,
|  | neethi_policy_t * | neethi_policy,
|  | neethi_registry_t * | registry,
|  | axis2_bool_t | deep |
| ) |  |  |

Given a neethi_policy object this will return the normalized policy object.

Parameters:

  | env | pointer to environment struct
  | deep | to specify whether assertion level normalization needed.
  | neethi_policy_t | to the policy which is not normalized.
  | registry | neethi_registry_t struct which contains policy objects.

Returns:
  pointer to a normalized neethi_policy_t struct