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 */

Generated on Wed Oct 14 01:02:16 2009 for Rampart/C by  doxygen 1.5.7.1