00001 #ifndef __ARC_SOAPMESSAGE_H__
00002 #define __ARC_SOAPMESSAGE_H__
00003
00004 #include <stdlib.h>
00005
00006 #include "SOAPEnvelope.h"
00007 #include "Message.h"
00008
00009 namespace Arc {
00010
00012
00016 class SOAPMessage {
00017 private:
00018 SOAPEnvelope* payload_;
00019 MessageAuth* auth_;
00020 MessageAttributes* attributes_;
00024 MessageContext* context_;
00026 SOAPMessage(SOAPMessage& msg);
00028 SOAPMessage& operator=(SOAPMessage& msg);
00029 public:
00031 SOAPMessage(void):payload_(NULL),auth_(NULL),attributes_(NULL),context_(NULL) { };
00033 SOAPMessage(long msg_ptr_addr);
00035 SOAPMessage(Message& msg);
00037 ~SOAPMessage(void);
00039 SOAPEnvelope* Payload(void);
00041 void Payload(SOAPEnvelope* new_payload);
00044 MessageAttributes* Attributes(void) { return attributes_; };
00045 void Attributes(MessageAttributes* attributes) {
00046 attributes_=attributes;
00047 };
00048
00049 MessageAuth *Auth(void) { return auth_; };
00050 void Auth(MessageAuth *auth) {
00051 auth_ = auth;
00052 };
00053 MessageContext* Context(void) { return context_; };
00054 void Context(MessageContext* context) {
00055 context_=context;
00056 };
00057 };
00058
00059 }
00060
00061 #endif
00062