webservices/wsutils/src/sensoapfault.cpp
changeset 0 62f9d29f7211
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/webservices/wsutils/src/sensoapfault.cpp	Thu Jan 07 16:19:19 2010 +0200
@@ -0,0 +1,179 @@
+/*
+* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:        
+*
+*/
+
+
+
+
+
+
+
+
+// INCLUDE FILES 
+#include "SenSoapFault.h"
+#include "SenSoapEnvelope.h"
+
+EXPORT_C CSenSoapFault* CSenSoapFault::NewL(const TDesC8& aNsUri,
+                                            const TDesC8& aLocalName,
+                                            const TDesC8& aQName,
+                                            const RAttributeArray& aAttributes)
+    {
+    CSenSoapFault* pNew = new (ELeave) CSenSoapFault;
+    CleanupStack::PushL(pNew);
+    pNew->ConstructL(aNsUri, aLocalName, aQName, aAttributes);
+    CleanupStack::Pop(); // pNew;
+    return pNew;
+    }
+
+EXPORT_C CSenSoapFault* CSenSoapFault::NewL(CSenElement& aCopiedSource)
+    {
+    CSenSoapFault* pNew = new (ELeave) CSenSoapFault;
+    CleanupStack::PushL(pNew);
+    pNew->ConstructL(aCopiedSource);
+    CleanupStack::Pop(); // pNew;
+    return pNew;
+    }
+
+
+EXPORT_C CSenSoapFault::~CSenSoapFault()
+    {
+    }
+
+EXPORT_C CSenSoapFault::CSenSoapFault()
+    {
+    }
+
+EXPORT_C void CSenSoapFault::ConstructL(CSenElement& aCopiedSource)
+    {
+    BaseConstructL(aCopiedSource.LocalName());
+    CopyFromL(aCopiedSource);
+    }
+
+
+EXPORT_C void CSenSoapFault::ConstructL(const TDesC8& aNsUri,
+                             const TDesC8& aLocalName,
+                             const TDesC8& aQName,
+                             const RAttributeArray& aAttributes)
+    {
+    BaseConstructL(aNsUri, aLocalName, aQName, aAttributes);
+    }
+EXPORT_C TPtrC8 CSenSoapFault::FaultCode()
+    {
+        if (NamespaceURI().Compare(KSenSoap12EnvelopeXmlns)!=0)
+        {
+                
+            CSenElement* pChild = Element(KNullDesC8, KFaultCodeLocalname);
+            if(pChild)
+                {
+                return pChild->Content();
+                }
+        }
+        else
+        {
+            CSenElement* pChild = Element(KFault12CodeLocalname);
+            if (pChild)
+            {
+                CSenElement* pValue = pChild->Element(KFault12ValueLocalname);
+                if (pValue)
+                {
+                    return pValue->Content();
+                }
+            }
+            
+        }
+        return KNullDesC8();
+    }
+
+EXPORT_C TPtrC8 CSenSoapFault::FaultSubcode()
+    {
+        if (NamespaceURI().Compare(KSenSoap12EnvelopeXmlns)==0)
+        {
+            CSenElement* pChild = Element(KFault12CodeLocalname);
+            if (pChild)
+            {
+                CSenElement* pSubcode = pChild->Element(KFault12SubcodeLocalname);
+                if (pSubcode)
+                {
+                    CSenElement* pValue = pSubcode->Element(KFault12ValueLocalname);
+                    if (pValue)
+                    {
+                        return pValue->Content();
+                    }
+                }
+            }
+            
+        }
+        return KNullDesC8();
+    }
+
+
+EXPORT_C TPtrC8 CSenSoapFault::FaultString()
+    {
+        if (NamespaceURI().Compare(KSenSoap12EnvelopeXmlns)!=0)
+        {
+            CSenElement* pChild = Element(KNullDesC8, KFaultStringLocalname);
+            if(pChild)
+                {
+                return pChild->Content();
+                }
+        }
+        else
+        {
+            CSenElement* pChild = Element(KNullDesC8, KFault12ReasonLocalname);
+            if (pChild)
+            {
+                CSenElement* pText = pChild->Element(KFault12TextLocalname);
+                if (pText)
+                {
+                    return pText->Content();
+                }
+            }
+        }
+    return KNullDesC8();    
+    }
+
+EXPORT_C TPtrC8 CSenSoapFault::FaultActor()
+    {
+    CSenElement* pChild = Element(KNullDesC8, KFaultActorLocalname);
+    if(pChild)
+        {
+        return pChild->Content();
+        }
+    return KNullDesC8();    
+    }
+
+EXPORT_C TPtrC8 CSenSoapFault::Detail()
+    {
+        if (NamespaceURI().Compare(KSenSoap12EnvelopeXmlns)!=0)
+        {
+            CSenElement* pChild = Element(KNullDesC8, KDetailLocalname);
+            if(pChild)
+                {
+                return pChild->Content();
+                }
+        }
+        else
+        {
+            CSenElement* pChild = Element(KFault12DetailLocalname);
+            if (pChild)
+            {
+                    return pChild->Content();
+            }
+        }
+    return KNullDesC8();    
+    }
+
+// End of File