# axiom_processing_instruction.h

    00001
    00002 /*
    00003  * Licensed to the Apache Software Foundation (ASF) under one or more
    00004  * contributor license agreements.  See the NOTICE file distributed with
    00005  * this work for additional information regarding copyright ownership.
    00006  * The ASF licenses this file to You under the Apache License, Version 2.0
    00007  * (the "License"); you may not use this file except in compliance with
    00008  * the License.  You may obtain a copy of the License at
    00009  *
    00010  *      http://www.apache.org/licenses/LICENSE-2.0
    00011  *
    00012  * Unless required by applicable law or agreed to in writing, software
    00013  * distributed under the License is distributed on an "AS IS" BASIS,
    00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    00015  * See the License for the specific language governing permissions and
    00016  * limitations under the License.
    00017  */
    00018
    00019 #ifndef AXIOM_PI_H
    00020 #define AXIOM_PI_H
    00021
    00022 #include <axiom_node.h>
    00023 #include <axiom_output.h>
    00024
    00025 #ifdef __cplusplus
    00026 extern "C"
    00027 {
    00028 #endif
    00029
    00036     typedef struct axiom_processing_instruction
    00037                 axiom_processing_instruction_t;
    00038
    00050     AXIS2_EXTERN axiom_processing_instruction_t *AXIS2_CALL
    00051     axiom_processing_instruction_create(
    00052         const axutil_env_t * env,
    00053         axiom_node_t * parent,
    00054         const axis2_char_t * target,
    00055         const axis2_char_t * value,
    00056         axiom_node_t ** node);
    00057
    00064     AXIS2_EXTERN void AXIS2_CALL
    00065     axiom_processing_instruction_free(
    00066         struct axiom_processing_instruction *om_pi,
    00067         const axutil_env_t * env);
    00068
    00075     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00076     axiom_processing_instruction_set_value(
    00077         struct axiom_processing_instruction *om_pi,
    00078         const axutil_env_t * env,
    00079         const axis2_char_t * value);
    00080
    00089     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00090     axiom_processing_instruction_set_target(
    00091         struct axiom_processing_instruction *om_pi,
    00092         const axutil_env_t * env,
    00093         const axis2_char_t * target);
    00094
    00101     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
    00102     axiom_processing_instruction_get_target(
    00103         struct axiom_processing_instruction *om_pi,
    00104         const axutil_env_t * env);
    00105
    00112     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
    00113     axiom_processing_instruction_get_value(
    00114         struct axiom_processing_instruction *om_pi,
    00115         const axutil_env_t * env);
    00116
    00125     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00126     axiom_processing_instruction_serialize(
    00127         struct axiom_processing_instruction *om_pi,
    00128         const axutil_env_t * env,
    00129         axiom_output_t * om_output);
    00130
    00132 #ifdef __cplusplus
    00133 }
    00134 #endif
    00135
    00136 #endif                          /* AXIOM_PI_H */