# oxs_ctx.h

Go to the documentation of this file.

    00001 /*
    00002  * Licensed to the Apache Software Foundation (ASF) under one or more
    00003  * contributor license agreements.  See the NOTICE file distributed with
    00004  * this work for additional information regarding copyright ownership.
    00005  * The ASF licenses this file to You under the Apache License, Version 2.0
    00006  * (the "License"); you may not use this file except in compliance with
    00007  * the License.  You may obtain a copy of the License at
    00008  *
    00009  *      http://www.apache.org/licenses/LICENSE-2.0
    00010  *
    00011  * Unless required by applicable law or agreed to in writing, software
    00012  * distributed under the License is distributed on an "AS IS" BASIS,
    00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    00014  * See the License for the specific language governing permissions and
    00015  * limitations under the License.
    00016  */
    00017
    00018 #ifndef OXS_CTX_H
    00019 #define OXS_CTX_H
    00020
    00021
    00027 #include <axis2_defines.h>
    00028 #include <axutil_env.h>
    00029 #include <axiom_node.h>
    00030 #include <oxs_buffer.h>
    00031 #include <oxs_key.h>
    00032
    00033 #ifdef __cplusplus
    00034 extern "C"
    00035 {
    00036 #endif
    00037
    00045     typedef enum  {
    00046         OXS_CTX_OPERATION_NONE = 0,
    00047         OXS_CTX_OPERATION_ENCRYPT,
    00048         OXS_CTX_OPERATION_DECRYPT
    00049     } oxs_ctx_operation_t;
    00050
    00051     typedef enum {
    00052         OXS_CTX_MODE_ENCRYPTED_DATA = 0,
    00053         OXS_CTX_MODE_ENCRYPTED_KEY
    00054     } oxs_ctx_mode_t;
    00055
    00056
    00058     typedef struct oxs_ctx_t oxs_ctx_t;
    00059
    00066     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00067     oxs_ctx_free(
    00068         oxs_ctx_t *ctx,
    00069         const axutil_env_t *env
    00070     );
    00071
    00078     AXIS2_EXTERN oxs_ctx_mode_t AXIS2_CALL
    00079     oxs_ctx_get_mode(
    00080         oxs_ctx_t *ctx,
    00081         const axutil_env_t *env
    00082     );
    00083
    00090     AXIS2_EXTERN oxs_ctx_operation_t AXIS2_CALL
    00091     oxs_ctx_get_operation(
    00092         oxs_ctx_t *ctx,
    00093         const axutil_env_t *env
    00094     );
    00095
    00096
    00103     AXIS2_EXTERN oxs_key_t *AXIS2_CALL
    00104     oxs_ctx_get_key(
    00105         oxs_ctx_t *ctx,
    00106         const axutil_env_t *env
    00107     );
    00108
    00115     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
    00116     oxs_ctx_get_id(
    00117         oxs_ctx_t *ctx,
    00118         const axutil_env_t *env
    00119     );
    00120
    00127     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
    00128     oxs_ctx_get_type(
    00129         oxs_ctx_t *ctx,
    00130         const axutil_env_t *env
    00131     );
    00138     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
    00139     oxs_ctx_get_mime_type(
    00140         oxs_ctx_t *ctx,
    00141         const axutil_env_t *env
    00142     );
    00143
    00150     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
    00151     oxs_ctx_get_encoding(
    00152         oxs_ctx_t *ctx,
    00153         const axutil_env_t *env
    00154     );
    00155
    00162     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
    00163     oxs_ctx_get_recipient(
    00164         oxs_ctx_t *ctx,
    00165         const axutil_env_t *env
    00166     );
    00167
    00174     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
    00175     oxs_ctx_get_ref_key_name(
    00176         oxs_ctx_t *ctx,
    00177         const axutil_env_t *env
    00178     );
    00179
    00186     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
    00187     oxs_ctx_get_enc_mtd_algorithm(
    00188         oxs_ctx_t *ctx,
    00189         const axutil_env_t *env
    00190     );
    00191
    00198     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
    00199     oxs_ctx_get_input_data(
    00200         oxs_ctx_t *ctx,
    00201         const axutil_env_t *env
    00202     );
    00210     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00211     oxs_ctx_set_mode(
    00212         oxs_ctx_t *ctx,
    00213         const axutil_env_t *env,
    00214         oxs_ctx_mode_t mode
    00215     );
    00216
    00224     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00225     oxs_ctx_set_operation(
    00226         oxs_ctx_t *ctx,
    00227         const axutil_env_t *env,
    00228         oxs_ctx_operation_t operation
    00229     );
    00230
    00238     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00239     oxs_ctx_set_key(
    00240         oxs_ctx_t *ctx,
    00241         const axutil_env_t *env,
    00242         oxs_key_t *key
    00243     );
    00251     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00252     oxs_ctx_set_id(
    00253         oxs_ctx_t *ctx,
    00254         const axutil_env_t *env,
    00255         axis2_char_t *id
    00256     );
    00257
    00265     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00266     oxs_ctx_set_type(
    00267         oxs_ctx_t *ctx,
    00268         const axutil_env_t *env,
    00269         axis2_char_t *type
    00270     );
    00271
    00279     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00280     oxs_ctx_set_mime_type(
    00281         oxs_ctx_t *ctx,
    00282         const axutil_env_t *env,
    00283         axis2_char_t *mime_type
    00284     );
    00285
    00286
    00294     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00295     oxs_ctx_set_encoding(
    00296         oxs_ctx_t *ctx,
    00297         const axutil_env_t *env,
    00298         axis2_char_t *encoding
    00299     );
    00300
    00308     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00309     oxs_ctx_set_recipient(
    00310         oxs_ctx_t *ctx,
    00311         const axutil_env_t *env,
    00312         axis2_char_t *recipient
    00313     );
    00314
    00315
    00323     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00324     oxs_ctx_set_ref_key_name(
    00325         oxs_ctx_t *ctx,
    00326         const axutil_env_t *env,
    00327         axis2_char_t *ref_key_name
    00328     );
    00329
    00337     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00338     oxs_ctx_set_enc_mtd_algorithm(
    00339         oxs_ctx_t *ctx,
    00340         const axutil_env_t *env,
    00341         axis2_char_t *enc_mtd_algorithm
    00342     );
    00350     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00351     oxs_ctx_set_input_data(
    00352         oxs_ctx_t *ctx,
    00353         const axutil_env_t *env,
    00354         axis2_char_t *input_data
    00355     );
    00356
    00357
    00358
    00359     /*Create function*/
    00360     AXIS2_EXTERN oxs_ctx_t *AXIS2_CALL
    00361     oxs_ctx_create(const axutil_env_t *env);
    00362
    00363
    00365 #ifdef __cplusplus
    00366 }
    00367 #endif
    00368
    00369 #endif                          /* OXS_CTX_H */