NCBI C++ ToolKit
|
Search Toolkit Book for CSoapMessage
#include <serial/soap/soap_message.hpp>
Public Types | |
enum | EMessagePart { eMsgHeader , eMsgBody , eFaultDetail } |
typedef vector< CConstRef< CSerialObject > > | TSoapContent |
![]() | |
enum | EAllocFillMode { eAllocFillNone = 1 , eAllocFillZero , eAllocFillPattern } |
Control filling of newly allocated memory. More... | |
typedef CObjectCounterLocker | TLockerType |
Default locker type for CRef. More... | |
typedef atomic< Uint8 > | TCounter |
Counter type is CAtomiCounter. More... | |
typedef Uint8 | TCount |
Alias for value type of counter. More... | |
Public Member Functions | |
CSoapMessage (void) | |
CSoapMessage (const string &namespace_name) | |
~CSoapMessage (void) | |
void | SetSoapNamespacePrefix (const string &prefix) |
const string & | GetSoapNamespacePrefix (void) const |
void | SetDefaultObjectNamespaceName (const string &ns_name) |
const string & | GetDefaultObjectNamespaceName (void) const |
void | AddObject (const CSerialObject &obj, EMessagePart destination) |
void | Write (CObjectOStream &out) const |
void | RegisterObjectType (TTypeInfoGetter type_getter) |
void | RegisterObjectType (const CTypeInfo &type) |
void | RegisterObjectType (const CSerialObject &obj) |
void | Read (CObjectIStream &in) |
void | Reset (void) |
const TSoapContent & | GetContent (EMessagePart source) const |
CConstRef< CSerialObject > | GetSerialObject (const string &type_name, EMessagePart source) const |
CConstRef< CAnyContentObject > | GetAnyContentObject (const string &name, EMessagePart source) const |
CSoapFault::ESoap_FaultcodeEnum | GetFaultCode (void) const |
![]() | |
CObject (void) | |
Constructor. More... | |
CObject (const CObject &src) | |
Copy constructor. More... | |
virtual | ~CObject (void) |
Destructor. More... | |
CObject & | operator= (const CObject &src) THROWS_NONE |
Assignment operator. More... | |
bool | CanBeDeleted (void) const THROWS_NONE |
Check if object can be deleted. More... | |
bool | IsAllocatedInPool (void) const THROWS_NONE |
Check if object is allocated in memory pool (not system heap) More... | |
bool | Referenced (void) const THROWS_NONE |
Check if object is referenced. More... | |
bool | ReferencedOnlyOnce (void) const THROWS_NONE |
Check if object is referenced only once. More... | |
void | AddReference (void) const |
Add reference to object. More... | |
void | RemoveReference (void) const |
Remove reference to object. More... | |
void | ReleaseReference (void) const |
Remove reference without deleting object. More... | |
virtual void | DoNotDeleteThisObject (void) |
Mark this object as not allocated in heap – do not delete this object. More... | |
virtual void | DoDeleteThisObject (void) |
Mark this object as allocated in heap – object can be deleted. More... | |
void * | operator new (size_t size) |
Define new operator for memory allocation. More... | |
void * | operator new[] (size_t size) |
Define new[] operator for 'array' memory allocation. More... | |
void | operator delete (void *ptr) |
Define delete operator for memory deallocation. More... | |
void | operator delete[] (void *ptr) |
Define delete[] operator for memory deallocation. More... | |
void * | operator new (size_t size, void *place) |
Define new operator. More... | |
void | operator delete (void *ptr, void *place) |
Define delete operator. More... | |
void * | operator new (size_t size, CObjectMemoryPool *place) |
Define new operator using memory pool. More... | |
void | operator delete (void *ptr, CObjectMemoryPool *place) |
Define delete operator. More... | |
virtual void | DebugDump (CDebugDumpContext ddc, unsigned int depth) const |
Define method for dumping debug information. More... | |
![]() | |
CDebugDumpable (void) | |
virtual | ~CDebugDumpable (void) |
void | DebugDumpText (ostream &out, const string &bundle, unsigned int depth) const |
void | DebugDumpFormat (CDebugDumpFormatter &ddf, const string &bundle, unsigned int depth) const |
void | DumpToConsole (void) const |
Static Public Member Functions | |
static const string | GetSoapNamespace (void) |
![]() | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (void) |
Define method to throw null pointer exception. More... | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (const type_info &type) |
static EAllocFillMode | GetAllocFillMode (void) |
static void | SetAllocFillMode (EAllocFillMode mode) |
static void | SetAllocFillMode (const string &value) |
Set mode from configuration parameter value. More... | |
![]() | |
static void | EnableDebugDump (bool on) |
Private Member Functions | |
void | x_Check (const CSoapEnvelope &env) |
void | x_VerifyFaultObj (bool add_prefix) const |
Private Attributes | |
CSoapFault::ESoap_FaultcodeEnum | m_Fault |
string | m_Prefix |
string | m_DefNamespaceName |
TSoapContent | m_Header |
TSoapContent | m_Body |
TSoapContent | m_FaultDetail |
vector< const CTypeInfo * > | m_Types |
Static Private Attributes | |
static const char * | ms_SoapNamespace |
Additional Inherited Members | |
![]() | |
static const TCount | eCounterBitsCanBeDeleted = 1 << 0 |
Define possible object states. More... | |
static const TCount | eCounterBitsInPlainHeap = 1 << 1 |
Heap signature was found. More... | |
static const TCount | eCounterBitsPlaceMask |
Mask for 'in heap' state flags. More... | |
static const int | eCounterStep = 1 << 2 |
Skip over the "in heap" bits. More... | |
static const TCount | eCounterValid = TCount(1) << (sizeof(TCount) * 8 - 2) |
Minimal value for valid objects (reference counter is zero) Must be a single bit value. More... | |
static const TCount | eCounterStateMask |
Valid object, and object in heap. More... | |
![]() | |
virtual void | DeleteThis (void) |
Virtual method "deleting" this object. More... | |
Definition at line 40 of file soap_message.hpp.
typedef vector< CConstRef<CSerialObject> > CSoapMessage::TSoapContent |
Definition at line 47 of file soap_message.hpp.
Enumerator | |
---|---|
eMsgHeader | |
eMsgBody | |
eFaultDetail |
Definition at line 49 of file soap_message.hpp.
CSoapMessage::CSoapMessage | ( | void | ) |
Definition at line 49 of file soap_message.cpp.
References RegisterObjectType().
Definition at line 55 of file soap_message.cpp.
References RegisterObjectType().
CSoapMessage::~CSoapMessage | ( | void | ) |
Definition at line 62 of file soap_message.cpp.
void CSoapMessage::AddObject | ( | const CSerialObject & | obj, |
EMessagePart | destination | ||
) |
Definition at line 91 of file soap_message.cpp.
References ctll::empty(), eMsgBody, eMsgHeader, CAnyContentObject::GetNamespaceName(), CSerialObject::GetThisTypeInfo(), CSerialObject::HasNamespaceName(), m_Body, m_DefNamespaceName, m_FaultDetail, m_Header, CAnyContentObject::SetNamespaceName(), CTypeInfo::SetNamespaceName(), and XSERIAL_TYPEINFO_WRITELOCK.
Referenced by CSampleSoapClient::DoMath(), CSampleSoapServerApplication::DoMath(), CSampleSoapServerApplication::GetDescription2(), CSampleSoapServerApplication::GetVersion(), CSoapServerApplication::x_FaultMustUnderstand(), CSoapServerApplication::x_FaultNoListeners(), CSoapServerApplication::x_FaultServer(), and CSoapServerApplication::x_FaultVersionMismatch().
CConstRef< CAnyContentObject > CSoapMessage::GetAnyContentObject | ( | const string & | name, |
EMessagePart | source | ||
) | const |
Definition at line 263 of file soap_message.cpp.
References GetContent(), CAnyContentObject::GetName(), and rapidjson::source.
const CSoapMessage::TSoapContent & CSoapMessage::GetContent | ( | EMessagePart | source | ) | const |
Definition at line 237 of file soap_message.cpp.
References eMsgBody, eMsgHeader, m_Body, m_FaultDetail, m_Header, and rapidjson::source.
Referenced by GetAnyContentObject(), GetSerialObject(), x_Check(), and CSoapServerApplication::x_FindListeners().
Definition at line 85 of file soap_message.cpp.
References m_DefNamespaceName.
|
inline |
Definition at line 84 of file soap_message.hpp.
References m_Fault.
Referenced by CSoapServerApplication::x_ProcessSoapRequest().
CConstRef< CSerialObject > CSoapMessage::GetSerialObject | ( | const string & | type_name, |
EMessagePart | source | ||
) | const |
Definition at line 249 of file soap_message.cpp.
References GetContent(), and rapidjson::source.
Referenced by SOAP_GetKnownObject(), and Write().
Definition at line 66 of file soap_message.cpp.
References ms_SoapNamespace.
Definition at line 76 of file soap_message.cpp.
References m_Prefix.
Referenced by x_VerifyFaultObj().
void CSoapMessage::Read | ( | CObjectIStream & | in | ) |
Definition at line 190 of file soap_message.cpp.
References env, in(), m_Body, m_FaultDetail, m_Header, m_Types, Reset(), CObjectTypeInfo::SetLocalReadHook(), x_Check(), and x_VerifyFaultObj().
void CSoapMessage::RegisterObjectType | ( | const CSerialObject & | obj | ) |
Definition at line 222 of file soap_message.cpp.
References CSerialObject::GetThisTypeInfo(), and RegisterObjectType().
Definition at line 215 of file soap_message.cpp.
References m_Types.
void CSoapMessage::RegisterObjectType | ( | TTypeInfoGetter | type_getter | ) |
Definition at line 210 of file soap_message.cpp.
Referenced by CSoapMessage(), CSoapHttpClient::Invoke(), RegisterObjectType(), and CSoapServerApplication::x_ProcessSoapRequest().
void CSoapMessage::Reset | ( | void | ) |
Definition at line 228 of file soap_message.cpp.
References CSoapFault::e_not_set, m_Body, m_Fault, m_FaultDetail, and m_Header.
Referenced by CSoapHttpClient::Invoke(), and Read().
Definition at line 81 of file soap_message.cpp.
References m_DefNamespaceName.
Referenced by CSoapServerApplication::x_ProcessSoapRequest().
Definition at line 71 of file soap_message.cpp.
void CSoapMessage::Write | ( | CObjectOStream & | out | ) | const |
Definition at line 120 of file soap_message.cpp.
References eMsgBody, env, eSerial_Xml, CObjectOStreamXml::GetDefaultSchemaNamespace(), CConstRef< C, Locker >::GetPointer(), CObjectOStreamXml::GetReferenceSchema(), GetSerialObject(), GetSoapNamespace(), CObjectOStreamXml::GetUseSchemaLocation(), m_Body, m_FaultDetail, m_Header, out(), schema, CObjectOStreamXml::SetDefaultSchemaNamespace(), CSoapFault_Base::SetDetail(), CObjectTypeInfo::SetLocalWriteHook(), CObjectOStreamXml::SetReferenceSchema(), CObjectOStreamXml::SetUseSchemaLocation(), and x_VerifyFaultObj().
|
private |
Definition at line 278 of file soap_message.cpp.
References a, eMsgHeader, CSoapFault::eMustUnderstand, env, CSoapFault::eVersionMismatch, CAnyContentObject::GetAttributes(), GetContent(), GetSoapNamespace(), and m_Fault.
Referenced by Read().
|
private |
Definition at line 307 of file soap_message.cpp.
References CSoapFault_Base::GetFaultcode(), CConstRef< C, Locker >::GetPointer(), GetSoapNamespacePrefix(), prefix, CSoapFault_Base::SetFaultcode(), and NStr::SplitInTwo().
|
private |
Definition at line 97 of file soap_message.hpp.
Referenced by AddObject(), GetContent(), Read(), Reset(), and Write().
|
private |
Definition at line 95 of file soap_message.hpp.
Referenced by AddObject(), GetDefaultObjectNamespaceName(), and SetDefaultObjectNamespaceName().
|
private |
Definition at line 93 of file soap_message.hpp.
Referenced by GetFaultCode(), Reset(), and x_Check().
|
private |
Definition at line 98 of file soap_message.hpp.
Referenced by AddObject(), GetContent(), Read(), Reset(), and Write().
|
private |
Definition at line 96 of file soap_message.hpp.
Referenced by AddObject(), GetContent(), Read(), Reset(), and Write().
|
private |
Definition at line 94 of file soap_message.hpp.
Referenced by GetSoapNamespacePrefix(), and SetSoapNamespacePrefix().
Definition at line 99 of file soap_message.hpp.
Referenced by Read(), and RegisterObjectType().
|
staticprivate |
Definition at line 101 of file soap_message.hpp.
Referenced by GetSoapNamespace().