00001 /* 00002 * Copyright 2005-2009 WSO2, Inc. http://wso2.com 00003 * 00004 * Licensed under the Apache License, Version 2.0 (the "License"); 00005 * you may not use this file except in compliance with the License. 00006 * You may obtain a copy of the License at 00007 * 00008 * http://www.apache.org/licenses/LICENSE-2.0 00009 * 00010 * Unless required by applicable law or agreed to in writing, software 00011 * distributed under the License is distributed on an "AS IS" BASIS, 00012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 * See the License for the specific language governing permissions and 00014 * limitations under the License. 00015 */ 00016 00017 #ifndef MESSAGE_CONTEXT_H 00018 #define MESSAGE_CONTEXT_H 00019 00020 #include <WSFDefines.h> 00021 #include <OMElement.h> 00022 #include <string> 00023 #include <axis2_msg_ctx.h> 00024 #include <axis2_conf_ctx.h> 00025 #include <Parameter.h> 00026 #include <Property.h> 00027 #include <Options.h> 00028 #include <Environment.h> 00029 00038 namespace wso2wsf 00039 { 00062 class MessageContext 00063 { 00064 private: 00068 axis2_msg_ctx_t *_msg_ctx; 00069 00070 public: 00071 00075 WSF_EXTERN MessageContext(axis2_msg_ctx_t *_msg_ctx); 00076 00082 WSF_EXTERN axis2_msg_ctx_t * getAxis2MessageContext(); 00083 00093 WSF_EXTERN bool setAxis2MessageContext(axis2_msg_ctx_t *msg_ctx); 00094 00100 WSF_EXTERN std::string WSF_CALL getFaultTo(); 00101 00106 WSF_EXTERN std::string WSF_CALL getFrom(); 00107 00112 WSF_EXTERN bool WSF_CALL getInFaultFlow(); 00113 00120 WSF_EXTERN OMElement *WSF_CALL getSoapEnvelope(); 00121 00126 WSF_EXTERN OMElement* WSF_CALL getResponseSoapEnvelope(); 00127 00132 WSF_EXTERN OMElement* WSF_CALL getFaultSoapEnvelope(); 00139 WSF_EXTERN std::string WSF_CALL getMessageId(); 00140 00146 WSF_EXTERN std::string WSF_CALL getReplyTo(); 00147 00152 WSF_EXTERN bool WSF_CALL getProcessFault(); 00153 00159 WSF_EXTERN bool WSF_CALL getServerSide(); 00160 00166 WSF_EXTERN std::string WSF_CALL getTo(); 00167 00174 WSF_EXTERN bool WSF_CALL setFaultTo(std::string toUri); 00175 00182 WSF_EXTERN bool WSF_CALL setFrom(std::string fromUri); 00183 00189 WSF_EXTERN bool WSF_CALL setInFaultFlow(bool inFault); 00190 00197 WSF_EXTERN bool WSF_CALL setReplyTo(std::string replyToUri); 00198 00206 WSF_EXTERN bool WSF_CALL setServerSide(bool serverSide); 00207 00213 WSF_EXTERN bool WSF_CALL setTo(std::string toUri); 00214 00220 WSF_EXTERN bool WSF_CALL getNewThreadRequired(); 00221 00228 WSF_EXTERN bool WSF_CALL setNewThreadRequired(bool newThreadRequired); 00229 00235 WSF_EXTERN bool WSF_CALL setWSAAction(std::string actionUri); 00236 00241 WSF_EXTERN std::string WSF_CALL getWSAAction(); 00242 00248 WSF_EXTERN bool WSF_CALL setWSAMessageId(std::string messageId); 00249 00254 WSF_EXTERN std::string WSF_CALL getWSAMessageId(); 00255 00262 WSF_EXTERN bool WSF_CALL getPaused(); 00263 00269 WSF_EXTERN bool WSF_CALL setPaused(bool paused); 00270 00278 WSF_EXTERN bool WSF_CALL isKeepAlive(); 00279 00287 WSF_EXTERN bool WSF_CALL setKeepAlive(bool keepAlive); 00288 00293 WSF_EXTERN bool WSF_CALL getOutputWritten(); 00294 00300 WSF_EXTERN bool WSF_CALL setOutputWritten(bool outputWritten); 00301 00308 WSF_EXTERN std::string WSF_CALL getRestHTTPMethod(); 00309 00316 WSF_EXTERN axis2_status_t WSF_CALL setRESTHTTPMethod(std::string HTTPMethod); 00317 00334 WSF_EXTERN Parameter* WSF_CALL getParameter(std::string key); 00335 00341 WSF_EXTERN Property * WSF_CALL getProperty(std::string key); 00342 00348 WSF_EXTERN void* WSF_CALL getPropertyValue(std::string propStr); 00349 00358 WSF_EXTERN bool WSF_CALL setProperty(std::string key, std::string value); 00359 00364 WSF_EXTERN std::string WSF_CALL getPausedHandlerName(); 00365 00370 WSF_EXTERN std::string WSF_CALL getPausedPhaseName(); 00371 00377 WSF_EXTERN bool WSF_CALL setPausedPhaseName(std::string pausedPhaseName); 00378 00383 WSF_EXTERN std::string WSF_CALL getSOAPAction(); 00384 00390 WSF_EXTERN bool WSF_CALL setSOAPAction(std::string action); 00391 00396 WSF_EXTERN bool WSF_CALL getDoingMTOM(); 00397 00403 WSF_EXTERN bool WSF_CALL setDoingMTOM(bool doingMTOM); 00404 00409 WSF_EXTERN bool WSF_CALL getDoingREST(); 00410 00416 WSF_EXTERN bool WSF_CALL setDoingREST(bool doingREST); 00417 00425 WSF_EXTERN bool WSF_CALL setDoRESTThroughPOST(bool doRESTThroughPost); 00426 00433 WSF_EXTERN bool WSF_CALL getDoRESTThroughPOST(); 00434 00439 WSF_EXTERN bool WSF_CALL getManageSession(); 00440 00446 WSF_EXTERN bool WSF_CALL setManageSession(bool manageSession); 00447 00455 WSF_EXTERN bool WSF_CALL getIsSOAP11(); 00456 00463 WSF_EXTERN bool WSF_CALL setIsSOAP11(bool isSOAP11); 00464 00470 WSF_EXTERN Options* WSF_CALL getOptions(); 00471 00476 WSF_EXTERN bool WSF_CALL isPaused(); 00477 00484 WSF_EXTERN bool WSF_CALL setOptions(Options options); 00485 00491 WSF_EXTERN bool WSF_CALL setFlow(int flow); 00492 00497 WSF_EXTERN int WSF_CALL getFlow(); 00498 00504 WSF_EXTERN bool WSF_CALL setSupportedRESTHTTPMethods(std::vector<std::string> *methods); 00505 00512 WSF_EXTERN std::vector<std::string>* WSF_CALL getSupportedRESTHTTPMethods(); 00513 00520 WSF_EXTERN bool WSF_CALL setCurrentHandlerIndex(int index); 00521 00527 WSF_EXTERN int WSF_CALL getCurrentHandlerIndex(); 00528 00534 WSF_EXTERN int WSF_CALL getPausedHandlerIndex(); 00535 00541 WSF_EXTERN bool WSF_CALL setCurrentPhaseIndex(int index); 00542 00547 WSF_EXTERN int WSF_CALL getCurrentPhaseIndex(); 00548 00553 WSF_EXTERN int WSF_CALL getPausedPhaseIndex(); 00554 00559 WSF_EXTERN std::string WSF_CALL getCharsetEncoding(); 00560 00566 WSF_EXTERN bool WSF_CALL setCharsetEncodingStng(std::string str); 00567 00568 00574 WSF_EXTERN int WSF_CALL getStatusCode(); 00575 00576 00582 WSF_EXTERN bool WSF_CALL setStatusCode(int statusCode); 00583 00584 00589 WSF_EXTERN std::vector<std::string>* WSF_CALL getHTTPAcceptCharsetRecordList(); 00590 00596 WSF_EXTERN std::vector<std::string>* WSF_CALL extractHTTPAcceptCharsetRecordList(); 00597 00604 WSF_EXTERN bool WSF_CALL setHTTPAcceptCharsetRecordList(std::vector<std::string> *recordList); 00605 00610 WSF_EXTERN std::vector<std::string>* WSF_CALL getHTTPAcceptLanguageRecordList(); 00611 00617 WSF_EXTERN std::vector<std::string>* WSF_CALL extractHTTPAcceptLanguageRecordList(); 00618 00625 WSF_EXTERN bool WSF_CALL setHTTPAcceptLanguageRecordList(std::vector<std::string> *acceptLanguageRecordList); 00626 00631 WSF_EXTERN std::string WSF_CALL getContentLanguage(); 00632 00638 WSF_EXTERN bool WSF_CALL setContentLanguage(std::string language); 00639 00644 WSF_EXTERN std::vector<std::string>* WSF_CALL getHTTPAcceptRecordList(); 00645 00650 WSF_EXTERN std::vector<std::string>* WSF_CALL extractHTTPAcceptRecordList(); 00651 00657 WSF_EXTERN bool WSF_CALL setHTTPAcceptRecordList(std::vector<std::string>* recordList); 00658 00663 WSF_EXTERN std::string WSF_CALL getTransferEncoding(); 00664 00670 WSF_EXTERN bool WSF_CALL setTransferEncoding(std::string encoding); 00671 00676 WSF_EXTERN std::string WSF_CALL getTransportURL(); 00677 00683 WSF_EXTERN bool WSF_CALL setTransportURL(std::string transportURL); 00684 00693 WSF_EXTERN bool WSF_CALL getNoContent(); 00694 00701 WSF_EXTERN bool WSF_CALL setNoContent(bool noContent); 00702 00708 WSF_EXTERN bool WSF_CALL getAuthFailed(); 00709 00716 WSF_EXTERN bool WSF_CALL setAuthFailed(bool status); 00717 00726 WSF_EXTERN bool WSF_CALL getRequiredAuthIsHTTP(); 00727 00735 WSF_EXTERN bool WSF_CALL setRequiredAuthIsHTTP(bool isHTTP); 00736 00742 WSF_EXTERN bool WSF_CALL setAuthType(std::string authType); 00743 00748 WSF_EXTERN std::string WSF_CALL getAuthType(); 00749 00756 WSF_EXTERN bool WSF_CALL incrementRef(); 00760 WSF_EXTERN virtual WSF_CALL ~MessageContext(); 00761 00762 }; 00765 } 00766 #endif // MESSAGE_CONTEXT_H