00001
00002
00003 #ifndef BASE_SOAP_SOAPTRANSCODER_H
00004 #define BASE_SOAP_SOAPTRANSCODER_H
00005
00006 #include <xercesc/util/TransService.hpp>
00007 #include "SOAPException.h"
00008
00009 namespace base_soap {
00011
00015 class PPBASE_SOAP_EXPORT SOAPTranscoder {
00016 public:
00018
00021 SOAPTranscoder(const char *charset);
00022
00024 ~SOAPTranscoder();
00025
00027
00032 static xercesc::XMLTranscoder *createTranscoder(const char *charset);
00033
00035
00038 static void release(char **ch);
00039
00041
00044 static void release(XMLCh **ch);
00045
00047
00051 static XMLCh *stranscode(const char *src);
00052
00054
00058 static XMLCh *stranscode(const base::String &src);
00059
00061
00065 static char *stranscode(const XMLCh *src);
00066
00068
00072 XMLCh *transcode(const char *src);
00073
00075
00079 XMLCh *transcode(const base::String &src);
00080
00082
00086 char *transcode(const XMLCh *src);
00087
00088 private:
00089 xercesc::XMLTranscoder *_transcoder;
00090 };
00091 }
00092
00093 #endif