00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
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     
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