00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 #ifndef SAML_REQ_H
00019 #define SAML_REQ_H
00020 
00021 #include <saml.h>
00022 #include <oxs_xml_signature.h>
00023 #include <oxs_sign_ctx.h>
00024 #include <oxs_xml_key_processor.h>
00025 #include <oxs_utility.h>
00026 #include <oxs_transforms_factory.h>
00027 #include <oxs_xml_key_info_builder.h>
00028 #include <oxs_key_mgr.h>
00029 #include <oxs_transform.h>
00030 #include <oxs_x509_cert.h>
00031 
00032 #ifdef __cplusplus
00033 extern "C"
00034 {
00035 #endif
00036 
00037 #define SAML_REQUEST_ID        "RequestID"
00038 #define SAML_SIGNATURE        "Signature"
00039 #define SAML_SUBJECT_QUERY    "SubjectQuery"
00040 #define SAML_ATTRIBUTE_QUERY  "AttributeQuery"
00041 #define SAML_AUTHENTICATION_QUERY    "AuthenticationQuery"
00042 #define SAML_AUTHORIZATION_DECISION_QUERY    "AuthorizationDecisionQuery"
00043 #define SAML_ASSERTION_ID_REF        "AssertionIDReference"
00044 #define SAML_ASSERTION_ARTIFACT    "AssertionArtifact"
00045 #define SAML_RESPOND_WITH            "RespondWith"
00046 #define SAML_ATTRIBUTE_DESIGNATOR        "AttributeDesignator"
00047 #define SAML_RESPONSE_ID            "ResponceID"
00048 #define SAML_IN_RESPONSE_TO        "InResponseTo"
00049 #define SAML_RECEPIENT            "Recipient"
00050 #define SAML_STATUS_CODE            "StatusCode"
00051 #define SAML_STATUS_MESSAGE            "StatusMessage"
00052 #define SAML_STATUS_DETAIL        "StatusDetail"
00053 #define SAML_STATUS_VALUE        "Value"
00054 #define SAML_STATUS                "Status"
00055 #define SAML_PROTOCOL_NMSP                      "urn:oasis:names:tc:SAML:1.0:protocol"
00056 #define SAML_PROTOCOL_PREFIX            "samlp"
00057 #define SAML_REQUEST                            "Request"
00058 #define SAML_RESPONSE                           "Response"
00059 
00060 
00061 
00062 
00063 
00064 
00065 typedef struct saml_artifact
00066 {
00067         axis2_char_t *artifact; 
00068 }saml_artifact_t;
00069 
00070 
00071 
00072 
00073 typedef struct saml_status
00074 {
00075     axutil_qname_t *status_value;
00076     axis2_char_t *status_code;
00077     axis2_char_t *status_msg;
00078     axiom_node_t *status_detail;
00079 
00080 }saml_status_t;
00081 
00082 
00083 
00084 
00085 typedef struct saml_query
00086 {
00087         axis2_char_t *type;
00088         void *query;
00089 }saml_query_t;
00090 
00091 typedef struct saml_subject_query
00092 {
00093     saml_subject_t *subject;
00094 }saml_subject_query_t;
00095 
00096 
00097 
00098 
00099 typedef struct saml_authentication_query
00100 {
00101     saml_subject_t *subject;
00102     
00103     axis2_char_t *auth_method;
00104 
00105 }saml_authentication_query_t;
00106 
00107 
00108 
00109 
00110 typedef struct saml_attr_query
00111 {
00112     saml_subject_t *subject;
00113     axis2_char_t *resource;
00114     axutil_array_list_t *attr_desigs;
00115 }saml_attr_query_t;
00116 
00117 
00118 
00119 
00120 typedef struct saml_autho_decision_query
00121 {
00122     saml_subject_t *subject;
00123     axis2_char_t *resource;
00124     
00125     axutil_array_list_t *saml_actions;
00126     saml_evidence_t *evidence;
00127 
00128 }saml_autho_decision_query_t;
00129 
00130 typedef struct saml_request
00131 {
00132         
00133     axis2_char_t *request_id;
00134 
00135     
00136     axis2_char_t *major_version;
00137 
00138     
00139     axis2_char_t *minor_version;
00140 
00141     
00142     axutil_date_time_t *issue_instant;
00143 
00144     
00145     oxs_sign_ctx_t *sig_ctx;
00146 
00147     
00148 
00149 
00150 
00151     axutil_array_list_t *saml_responds;
00152 
00153     
00154     axutil_array_list_t *saml_asserion_id_ref;
00155 
00156             
00157     axutil_array_list_t *saml_artifacts;
00158 
00159         saml_query_t *query;
00160 
00161         
00162         axiom_node_t *original_xml;
00163 
00164         
00165         axiom_node_t *signature;
00166 }saml_request_t;
00167 
00168 typedef struct saml_response
00169 {
00170         
00171     axis2_char_t *response_id;
00172 
00173         
00174     axis2_char_t *major_version;
00175 
00176         
00177     axis2_char_t *minor_version;
00178 
00179     
00180     axis2_char_t *recepient;
00181 
00182         
00183     axis2_char_t  *request_response_id;
00184 
00185         
00186     axutil_date_time_t *issue_instant;
00187 
00188         
00189     oxs_sign_ctx_t *sig_ctx;
00190 
00191     saml_status_t *status;
00192 
00193     axutil_array_list_t *saml_assertions;
00194 
00195         
00196         axiom_node_t *original_xml;
00197 
00198         
00199         axiom_node_t *signature;
00200 }saml_response_t;
00201 
00202 
00203 
00204 
00205 
00206 
00207 
00208 AXIS2_EXTERN saml_request_t *AXIS2_CALL 
00209 saml_request_create(const axutil_env_t *env);
00210 
00211 
00212 
00213 
00214 
00215 AXIS2_EXTERN void AXIS2_CALL 
00216 saml_request_free(saml_request_t *request, const axutil_env_t *env);
00217 
00218 
00219 
00220 
00221 
00222 
00223 AXIS2_EXTERN int AXIS2_CALL 
00224 saml_request_build(saml_request_t *request, axiom_node_t *node, 
00225                                    const axutil_env_t *env);
00226 
00227 
00228 
00229 
00230 
00231 
00232 
00233 AXIS2_EXTERN axiom_node_t* AXIS2_CALL 
00234 saml_request_to_om(saml_request_t *request, axiom_node_t *parent, 
00235                                    const axutil_env_t *env); 
00236 
00237 
00238 
00239 
00240 
00241 AXIS2_EXTERN axis2_char_t* AXIS2_CALL 
00242 saml_request_get_id(saml_request_t *request, const axutil_env_t *env);
00243 
00244 
00245 
00246 
00247 
00248 
00249 
00250 AXIS2_EXTERN int AXIS2_CALL 
00251 saml_request_set_signature(saml_request_t *request, const axutil_env_t *env, 
00252                                                    oxs_sign_ctx_t *sig_ctx);
00253 
00254 
00255 
00256 
00257 
00258 
00259 
00260 
00261 AXIS2_EXTERN void AXIS2_CALL 
00262 saml_request_set_default_signature(saml_request_t *request, const axutil_env_t *env, 
00263                                                                    oxs_sign_ctx_t *sig_ctx);
00264 
00265 
00266 
00267 
00268 
00269 AXIS2_EXTERN int AXIS2_CALL 
00270 saml_request_unsign(saml_request_t *request, const axutil_env_t *env);
00271 
00272 
00273 
00274 
00275 
00276 
00277 
00278 AXIS2_EXTERN int AXIS2_CALL 
00279 saml_request_sign(saml_request_t *request, axiom_node_t *node, const axutil_env_t *env);
00280 
00281 
00282 
00283 
00284 
00285 
00286  
00287 AXIS2_EXTERN int AXIS2_CALL 
00288 saml_request_set_minor_version(saml_request_t *request, const axutil_env_t *env,
00289                                                            int version);
00290 
00291 
00292 
00293 
00294 
00295  
00296 AXIS2_EXTERN int AXIS2_CALL 
00297 saml_request_set_major_version(saml_request_t *request, 
00298                                                            const axutil_env_t *env, int version);
00299 
00300 
00301 
00302 
00303 
00304 
00305 AXIS2_EXTERN int AXIS2_CALL 
00306 saml_request_set_issue_instant(saml_request_t *request, 
00307                                                            const axutil_env_t *env, axutil_date_time_t *date_time);
00308 
00309 
00310 
00311 
00312 
00313 
00314 AXIS2_EXTERN axutil_date_time_t* AXIS2_CALL 
00315 saml_request_get_issue_instant(saml_request_t *request, const  axutil_env_t *env);
00316 
00317 
00318 
00319 
00320 
00321 
00322 
00323 AXIS2_EXTERN int AXIS2_CALL 
00324 saml_request_set_respond_withs(saml_request_t *request, 
00325                                                            const axutil_env_t *env, axutil_array_list_t *responds);
00326 
00327 
00328 
00329 
00330 
00331 
00332 AXIS2_EXTERN axutil_array_list_t* AXIS2_CALL 
00333 saml_request_get_respond_withs(saml_request_t *request, const axutil_env_t *env);
00334 
00335 
00336 
00337 
00338 
00339 
00340 AXIS2_EXTERN int AXIS2_CALL 
00341 saml_request_add_respond_with(saml_request_t *request, const axutil_env_t *env,
00342                                                           axutil_qname_t *respond);
00343 
00344 
00345 
00346 
00347 
00348 
00349 AXIS2_EXTERN int AXIS2_CALL 
00350 saml_request_remove_respond_with(saml_request_t *request, const axutil_env_t *env, int index);
00351 
00352 
00353 
00354 
00355 
00356 
00357 
00358 AXIS2_EXTERN int AXIS2_CALL 
00359 saml_request_set_query(saml_request_t *request, const axutil_env_t *env, saml_query_t *query);
00360 
00361 
00362 
00363 
00364 
00365 
00366 AXIS2_EXTERN saml_query_t* AXIS2_CALL 
00367 saml_request_get_query(saml_request_t *request, const axutil_env_t *env);
00368 
00369 
00370 
00371 
00372 
00373 
00374 
00375 AXIS2_EXTERN int AXIS2_CALL 
00376 saml_request_set_id_refs(saml_request_t *request, const axutil_env_t *env,
00377                                                  axutil_array_list_t *id_refs);
00378 
00379 
00380 
00381 
00382 
00383 AXIS2_EXTERN axutil_array_list_t* AXIS2_CALL 
00384 saml_request_get_id_refs(saml_request_t *request, const axutil_env_t *env);
00385 
00386 
00387 
00388 
00389 
00390 
00391 
00392 AXIS2_EXTERN int AXIS2_CALL 
00393 saml_request_add_id_refs(saml_request_t *request, const axutil_env_t *env, 
00394                                                  axis2_char_t *id_reference);
00395 
00396 
00397 
00398 
00399 
00400 
00401 AXIS2_EXTERN int AXIS2_CALL 
00402 saml_request_remove_id_refs(saml_request_t *request, 
00403                                                         const axutil_env_t *env, int index);
00404 
00405 
00406 
00407 
00408 
00409 
00410 AXIS2_EXTERN int AXIS2_CALL 
00411 saml_request_set_artifacts(saml_request_t *request, 
00412                                                    const axutil_env_t *env, axutil_array_list_t *artifacts);
00413 
00414 
00415 
00416 
00417 
00418 AXIS2_EXTERN axutil_array_list_t*  AXIS2_CALL 
00419 saml_request_get_artifacts(saml_request_t *request, const axutil_env_t *env);
00420 
00421 
00422 
00423 
00424 
00425 
00426 
00427 AXIS2_EXTERN int AXIS2_CALL 
00428 saml_request_add_artifact(saml_request_t *request, const axutil_env_t *env,
00429                                                   saml_artifact_t *artifact);
00430 
00431 
00432 
00433 
00434 
00435 
00436 AXIS2_EXTERN int AXIS2_CALL 
00437 saml_request_remove_artifact(saml_request_t *request, const axutil_env_t *env,
00438                                                          int index);
00439 
00440 
00441 
00442 
00443 
00444 AXIS2_EXTERN axis2_bool_t AXIS2_CALL 
00445 saml_request_check_validity(saml_request_t *request, const axutil_env_t *env);
00446 
00447 
00448 
00449 
00450 
00451 AXIS2_EXTERN saml_response_t* saml_response_create(const axutil_env_t *env);
00452 
00453 
00454 
00455 
00456 
00457 AXIS2_EXTERN void saml_response_free(saml_response_t *response, 
00458                                                                          const axutil_env_t *env);
00459 
00460 
00461 
00462 
00463 
00464 AXIS2_EXTERN int AXIS2_CALL 
00465 saml_response_build(saml_response_t *response, axiom_node_t *node, 
00466                                         const axutil_env_t *env);
00467 
00468 
00469 
00470 
00471 
00472 
00473 AXIS2_EXTERN axiom_node_t* AXIS2_CALL 
00474 saml_response_to_om(saml_response_t *response, axiom_node_t *parent, 
00475                                         const axutil_env_t *env);
00476 
00477 
00478 
00479 
00480 
00481 AXIS2_EXTERN axis2_char_t* AXIS2_CALL 
00482 saml_response_get_id(saml_response_t *response, const axutil_env_t *env);
00483 
00484 
00485 
00486 
00487 
00488 
00489 
00490 AXIS2_EXTERN int AXIS2_CALL 
00491 saml_response_set_signature(saml_response_t *response, 
00492                                                         const axutil_env_t *env, oxs_sign_ctx_t *sig_ctx);
00493 
00494 AXIS2_EXTERN int AXIS2_CALL 
00495 saml_response_unset_signature(saml_response_t *response, const axutil_env_t *env);
00496 
00497 
00498 
00499 
00500 
00501 
00502 
00503 
00504 AXIS2_EXTERN int AXIS2_CALL 
00505 saml_response_sign(saml_response_t *response, axiom_node_t *node, 
00506                                    const axutil_env_t *env);
00507 
00508 
00509 
00510 
00511 
00512 
00513 
00514 
00515 
00516 AXIS2_EXTERN void AXIS2_CALL 
00517 saml_response_set_default_signature(saml_response_t *response, 
00518                                                                         const axutil_env_t *env, oxs_sign_ctx_t *sig_ctx);
00519 
00520 
00521 
00522 
00523 
00524 
00525 
00526 AXIS2_EXTERN int AXIS2_CALL 
00527 saml_response_set_minor_version(saml_response_t *response, 
00528                                                                 const axutil_env_t *env, int version);
00529 
00530 
00531 
00532 
00533 
00534  
00535 AXIS2_EXTERN int AXIS2_CALL 
00536 saml_response_set_major_version(saml_response_t *response, 
00537                                                                 const axutil_env_t *env, int version);
00538 
00539 
00540 
00541 
00542 
00543 
00544 AXIS2_EXTERN int AXIS2_CALL 
00545 saml_response_set_issue_instant(saml_response_t *response, 
00546                                                                 const axutil_env_t *env, axutil_date_time_t *date_time);
00547 
00548 
00549 
00550 
00551 
00552 AXIS2_EXTERN  axutil_date_time_t* AXIS2_CALL 
00553 saml_response_get_issue_instant(saml_response_t *response, const axutil_env_t *env);
00554 
00555 
00556 
00557 
00558 
00559 
00560 
00561 AXIS2_EXTERN int AXIS2_CALL 
00562 saml_response_set_recepient(saml_response_t *response, const axutil_env_t *env,
00563                                                         axis2_char_t *recepient);
00564 
00565 
00566 
00567 
00568 
00569 AXIS2_EXTERN axis2_char_t* AXIS2_CALL 
00570 saml_response_get_recepient(saml_response_t *response, const axutil_env_t *env);
00571 
00572 
00573 
00574 
00575 
00576 
00577 
00578 AXIS2_EXTERN int AXIS2_CALL 
00579 saml_response_set_status(saml_response_t *response, const axutil_env_t *env,
00580                                                  saml_status_t *status);
00581 
00582 
00583 
00584 
00585 
00586 AXIS2_EXTERN saml_status_t* AXIS2_CALL 
00587 saml_response_get_status(saml_response_t *response, const axutil_env_t *env);
00588 
00589 
00590 
00591 
00592 
00593 
00594 
00595 AXIS2_EXTERN int AXIS2_CALL 
00596 saml_response_set_assertions(saml_response_t *response, 
00597                                                          const axutil_env_t *env, axutil_array_list_t *assertions);
00598 
00599 
00600 
00601 
00602 
00603 
00604 AXIS2_EXTERN axutil_array_list_t* AXIS2_CALL 
00605 saml_response_get_assertions(saml_response_t *response, const axutil_env_t *env);
00606 
00607 
00608 
00609 
00610 
00611 
00612 
00613 AXIS2_EXTERN int AXIS2_CALL 
00614 saml_response_add_assertion(saml_response_t *response, const axutil_env_t *env,
00615                                                         saml_assertion_t *assertion);
00616 
00617 
00618 
00619 
00620 
00621 
00622 
00623 AXIS2_EXTERN int AXIS2_CALL 
00624 saml_response_remove_assertion(saml_response_t *response, const axutil_env_t *env, int index);
00625 
00626 
00627 
00628 
00629 
00630 
00631 
00632 AXIS2_EXTERN int AXIS2_CALL 
00633 saml_response_set_in_reponses_to(saml_response_t *response, 
00634                                                                  const axutil_env_t *env, axis2_char_t *request_response);
00635 
00636 
00637 
00638 
00639 
00640 AXIS2_EXTERN saml_query_t* AXIS2_CALL 
00641 saml_query_create(const axutil_env_t *env);
00642 
00643 
00644 
00645 
00646 
00647 
00648 
00649 AXIS2_EXTERN int AXIS2_CALL 
00650 saml_query_build(saml_query_t *query, axiom_node_t *node, const axutil_env_t *env);
00651 
00652 
00653 
00654 
00655 
00656 
00657 
00658 
00659 AXIS2_EXTERN axiom_node_t* AXIS2_CALL 
00660 saml_query_to_om(saml_query_t *query, axiom_node_t *parent, const axutil_env_t *env);
00661 
00662 
00663 
00664 
00665 
00666 AXIS2_EXTERN void AXIS2_CALL 
00667 saml_query_free(saml_query_t *query, const axutil_env_t *env);
00668 
00669 
00670 
00671 
00672 
00673 
00674 AXIS2_EXTERN saml_subject_query_t* AXIS2_CALL 
00675 saml_subject_query_create(const axutil_env_t *env);
00676 
00677 
00678 
00679 
00680 
00681 AXIS2_EXTERN void AXIS2_CALL 
00682 saml_subject_query_free(saml_subject_query_t* subject_query, const axutil_env_t *env);
00683 
00684 
00685 
00686 
00687 
00688 
00689 
00690 AXIS2_EXTERN int AXIS2_CALL 
00691 saml_subject_query_build(saml_subject_query_t* subject_query, 
00692                                                  axiom_node_t *node, const axutil_env_t *env);
00693 
00694 
00695 
00696 
00697 
00698 
00699 
00700 AXIS2_EXTERN axiom_node_t* AXIS2_CALL 
00701 saml_subject_query_to_om(saml_subject_query_t *subject_query, 
00702                                                  axiom_node_t *parent, const axutil_env_t *env);
00703 
00704 
00705 
00706 
00707 AXIS2_EXTERN saml_authentication_query_t* AXIS2_CALL 
00708 saml_authentication_query_create(const axutil_env_t *env);
00709 
00710 
00711 
00712 
00713 
00714 AXIS2_EXTERN void AXIS2_CALL 
00715 saml_authentication_query_free(saml_authentication_query_t *authentication_query, 
00716                                                            const axutil_env_t *env);
00717 
00718 
00719 
00720 
00721 
00722 
00723 AXIS2_EXTERN int AXIS2_CALL 
00724 saml_authentication_query_build(saml_authentication_query_t* authentication_query, 
00725                                                                 axiom_node_t *node, const axutil_env_t *env);
00726 
00727 
00728 
00729 
00730 
00731 
00732 
00733 AXIS2_EXTERN axiom_node_t* AXIS2_CALL 
00734 saml_authentication_query_to_om(saml_authentication_query_t *authentication_query, 
00735                                                                 axiom_node_t *parent, const axutil_env_t *env);
00736 
00737 
00738 
00739 
00740 
00741 
00742 
00743 AXIS2_EXTERN int AXIS2_CALL 
00744 saml_auth_query_set_authentication_method(
00745         saml_authentication_query_t *authentication_query,
00746         const axutil_env_t *env, 
00747         axis2_char_t *authentication_mtd);
00748 
00749 
00750 
00751 
00752 
00753 
00754 AXIS2_EXTERN axis2_char_t * AXIS2_CALL 
00755 saml_auth_query_get_authentication_method(
00756         saml_authentication_query_t *authentication_query,
00757         const axutil_env_t *env);
00758 
00759 
00760 
00761 
00762 
00763 AXIS2_EXTERN saml_attr_query_t* AXIS2_CALL 
00764 saml_attr_query_create(const axutil_env_t *env);
00765 
00766 
00767 
00768 
00769 
00770 AXIS2_EXTERN void AXIS2_CALL
00771 saml_attr_query_free(saml_attr_query_t* attribute_query, const axutil_env_t *env);
00772 
00773 
00774 
00775 
00776 
00777 
00778 
00779 AXIS2_EXTERN int AXIS2_CALL 
00780 saml_attr_query_build(saml_attr_query_t* attribute_query, 
00781                                           axiom_node_t *node, const axutil_env_t *env);
00782 
00783 
00784 
00785 
00786 
00787 
00788 
00789 AXIS2_EXTERN axiom_node_t* AXIS2_CALL 
00790 saml_attr_query_to_om(saml_attr_query_t *attribute_query, 
00791                                           axiom_node_t *parent, const axutil_env_t *env);
00792 
00793 
00794 
00795 
00796 
00797 
00798 AXIS2_EXTERN saml_subject_t* AXIS2_CALL 
00799 saml_query_get_subject(saml_query_t* query,
00800                                                 const axutil_env_t *env);
00801 
00802 
00803 
00804 
00805 
00806 
00807 AXIS2_EXTERN int AXIS2_CALL 
00808 saml_query_set_subject(saml_query_t *query, const axutil_env_t *env,
00809                                            saml_subject_t *subject);
00810 
00811 
00812 
00813 
00814 
00815 
00816 AXIS2_EXTERN int AXIS2_CALL 
00817 saml_query_set_type(saml_query_t *query, const axutil_env_t *env, axis2_char_t *type);
00818 
00819 
00820 
00821 
00822 
00823 
00824 
00825 
00826 
00827 
00828 AXIS2_EXTERN int AXIS2_CALL 
00829 saml_query_set_query(saml_query_t *query, const axutil_env_t *env,
00830                                          void *spec_query, 
00831                                          axis2_char_t *type);
00832 
00833 
00834 
00835 
00836 
00837 
00838 
00839 AXIS2_EXTERN int AXIS2_CALL 
00840 saml_attr_query_set_resource(saml_attr_query_t *attr_query, 
00841                                                          const axutil_env_t *env, axis2_char_t *resource);
00842 
00843 
00844 
00845 
00846 
00847 
00848 AXIS2_EXTERN axis2_char_t* AXIS2_CALL 
00849 saml_attr_query_get_resource(saml_attr_query_t *attr_query, const axutil_env_t *env);
00850 
00851 
00852 
00853 
00854 
00855 
00856 AXIS2_EXTERN int AXIS2_CALL 
00857 saml_attr_query_set_designators(saml_attr_query_t *attr_query,  
00858                                                                 const axutil_env_t *env,
00859                                                                 axutil_array_list_t *saml_designators);
00860 
00861 
00862 
00863 
00864 
00865 AXIS2_EXTERN axutil_array_list_t* AXIS2_CALL 
00866 saml_attr_query_get_designators(saml_attr_query_t *attr_query, const axutil_env_t *env);
00867 
00868 
00869 
00870 
00871 
00872 
00873 
00874 AXIS2_EXTERN int AXIS2_CALL 
00875 saml_attr_query_add_designators(saml_attr_query_t *attr_query, const axutil_env_t *env,
00876                                                                 saml_attr_desig_t *desig);
00877 
00878 
00879 
00880 
00881 
00882 
00883 AXIS2_EXTERN int AXIS2_CALL 
00884 saml_attr_query_remove_designator(saml_attr_query_t *attr_query, const axutil_env_t *env,
00885                                                                   int index);
00886 
00887 
00888 
00889 
00890 
00891 AXIS2_EXTERN saml_autho_decision_query_t* AXIS2_CALL 
00892 saml_autho_decision_query_create(const axutil_env_t *env);
00893 
00894 
00895 
00896 
00897 
00898 AXIS2_EXTERN void AXIS2_CALL 
00899 saml_autho_decision_query_free(saml_autho_decision_query_t* autho_decision_query, 
00900                                                            const axutil_env_t *env);
00901 
00902 
00903 
00904 
00905 
00906 
00907 
00908 AXIS2_EXTERN int AXIS2_CALL 
00909 saml_autho_decision_query_build(saml_autho_decision_query_t* autho_decision_query, 
00910                                                                 axiom_node_t *node, const axutil_env_t *env);
00911 
00912 
00913 
00914 
00915 
00916 
00917 
00918 AXIS2_EXTERN axiom_node_t* AXIS2_CALL 
00919 saml_autho_decision_query_to_om(saml_autho_decision_query_t *autho_decision_query, 
00920                                                                 axiom_node_t *parent, const axutil_env_t *env);
00921 
00922 
00923 
00924 
00925 
00926 
00927 AXIS2_EXTERN int AXIS2_CALL 
00928 saml_autho_decision_query_set_resource(
00929                         saml_autho_decision_query_t *autho_dec_query,
00930                         const axutil_env_t *env,
00931                         axis2_char_t *resource);
00932 
00933 
00934 
00935 
00936 
00937 AXIS2_EXTERN axis2_char_t* AXIS2_CALL 
00938 saml_autho_decision_query_get_resource(saml_autho_decision_query_t *autho_dec_query,
00939                                                                                                                  const axutil_env_t *env);
00940 
00941 
00942 
00943 
00944 
00945 
00946 AXIS2_EXTERN int AXIS2_CALL 
00947 saml_autho_decision_query_set_actions(
00948                         saml_autho_decision_query_t *autho_dec_query,
00949                         const axutil_env_t *env,
00950                         axutil_array_list_t *actions);
00951 
00952 
00953 
00954 
00955 
00956 AXIS2_EXTERN axutil_array_list_t* AXIS2_CALL 
00957 saml_autho_decision_query_get_actions(
00958                         saml_autho_decision_query_t *autho_dec_query,
00959                         const axutil_env_t *env);
00960                                                                                                                 
00961 
00962 
00963 
00964 
00965 
00966 
00967 AXIS2_EXTERN int AXIS2_CALL 
00968 saml_autho_decision_query_add_action(
00969                         saml_autho_decision_query_t *autho_dec_query,
00970                         const axutil_env_t *env,
00971                         saml_action_t *action);
00972 
00973 
00974 
00975 
00976 
00977 
00978 AXIS2_EXTERN int AXIS2_CALL 
00979 saml_autho_decision_remove_action(saml_autho_decision_query_t *autho_dec_query,
00980                                                                   const axutil_env_t *env,
00981                                                                   int index);
00982 
00983 
00984 
00985 
00986 
00987 
00988 AXIS2_EXTERN int AXIS2_CALL 
00989 saml_autho_decision_query_set_evidence(
00990                         saml_autho_decision_query_t *autho_dec_query,
00991                         const axutil_env_t *env,
00992                         saml_evidence_t *evidence);
00993 
00994 
00995 
00996 
00997 
00998 AXIS2_EXTERN saml_evidence_t* AXIS2_CALL 
00999 saml_autho_decision_query_get_evidence(
01000                         saml_autho_decision_query_t *autho_dec_query,
01001                         const axutil_env_t *env);
01002         
01003 
01004 
01005 
01006 
01007 
01008 
01009 AXIS2_EXTERN int AXIS2_CALL 
01010 saml_status_build(saml_status_t *status, axiom_node_t *node, const axutil_env_t *env);
01011 
01012 
01013 
01014 
01015 
01016 
01017 
01018 AXIS2_EXTERN axiom_node_t* AXIS2_CALL saml_status_to_om(saml_status_t *status, 
01019                                                                                                                 axiom_node_t *parent, 
01020                                                                                                                 const axutil_env_t *env);
01021 
01022 
01023 
01024 
01025 
01026 AXIS2_EXTERN saml_status_t* AXIS2_CALL 
01027 saml_status_create(const axutil_env_t *env);
01028 
01029 
01030 
01031 
01032 
01033 AXIS2_EXTERN void 
01034 saml_status_free(saml_status_t *status, const axutil_env_t *env);
01035 
01036 
01037 
01038 
01039 
01040 
01041 
01042 AXIS2_EXTERN int AXIS2_CALL 
01043 saml_status_set_status_value(saml_status_t *status, 
01044                                                          const axutil_env_t *env, axutil_qname_t *qname);
01045 
01046 
01047 
01048 
01049 
01050 
01051 AXIS2_EXTERN axutil_qname_t* AXIS2_CALL 
01052 saml_status_get_status_value(saml_status_t *status, const axutil_env_t *env);
01053 
01054 
01055 
01056 
01057 
01058 
01059 
01060 AXIS2_EXTERN int AXIS2_CALL 
01061 saml_status_set_status_msg(saml_status_t *status, const axutil_env_t *env,
01062                                                    axis2_char_t *msg);
01063 
01064 
01065 
01066 
01067 
01068 
01069 AXIS2_EXTERN int AXIS2_CALL 
01070 saml_status_set_status_code(saml_status_t *status, const axutil_env_t *env,
01071                                                         axis2_char_t *code);
01072 
01073 
01074 
01075 
01076 
01077 AXIS2_EXTERN axis2_char_t* AXIS2_CALL 
01078 saml_status_get_status_msg(saml_status_t *status, const axutil_env_t *env);
01079 
01080 
01081 
01082 
01083 
01084 
01085 AXIS2_EXTERN int AXIS2_CALL 
01086 saml_status_set_status_detail(saml_status_t *status, axiom_node_t *det, 
01087                                                           const axutil_env_t *env);
01088 
01089 
01090 
01091 
01092 
01093 AXIS2_EXTERN axiom_node_t* AXIS2_CALL 
01094 saml_status_get_status_detail(saml_status_t *status, const axutil_env_t *env);
01095 
01096 
01097 
01098 
01099 
01100 AXIS2_EXTERN saml_artifact_t* AXIS2_CALL 
01101 saml_artifact_create(const axutil_env_t *env);
01102 
01103 
01104 
01105 
01106 
01107 AXIS2_EXTERN void AXIS2_CALL 
01108 saml_artifact_free(saml_artifact_t *artifact, const axutil_env_t *env);
01109 
01110 
01111 
01112 
01113 
01114 
01115 AXIS2_EXTERN axis2_char_t* AXIS2_CALL 
01116 saml_artifact_get_data(saml_artifact_t *artifact, const axutil_env_t *env);
01117 
01118 
01119 
01120 
01121 
01122 
01123 
01124 AXIS2_EXTERN int AXIS2_CALL 
01125 saml_artifact_set_data(saml_artifact_t *artifact, const axutil_env_t *env, 
01126                                            axis2_char_t *data);
01127 
01128 
01129 
01130 
01131 
01132 AXIS2_EXTERN int AXIS2_CALL
01133 saml_response_signature_verify(saml_response_t *response, const axutil_env_t *env);
01134 
01135 
01136 
01137 
01138 
01139 
01140 AXIS2_EXTERN int AXIS2_CALL
01141 saml_response_is_sign_set(saml_response_t *response, const axutil_env_t *env);
01142 
01143 
01144 
01145 
01146 
01147 
01148 AXIS2_EXTERN int AXIS2_CALL
01149 saml_response_is_signed(saml_response_t *response, const axutil_env_t *env);
01150 
01151 
01152 
01153 
01154 
01155 
01156 AXIS2_EXTERN int AXIS2_CALL
01157 saml_request_signature_verify(saml_request_t *request, const axutil_env_t *env);
01158 
01159 
01160 
01161 
01162 
01163 
01164 AXIS2_EXTERN int AXIS2_CALL
01165 saml_request_is_sign_set(saml_request_t *request, const axutil_env_t *env);
01166 
01167 
01168 
01169 
01170 
01171 
01172 AXIS2_EXTERN int AXIS2_CALL
01173 saml_request_is_signed(saml_request_t *request, const axutil_env_t *env);
01174 
01175 #ifdef __cplusplus
01176 }
01177 #endif
01178 
01179 #endif 
01180