--- a/upnpmediaserver/contentdirectoryservice/src/upnpelementbean.cpp Fri Sep 17 08:31:21 2010 +0300
+++ b/upnpmediaserver/contentdirectoryservice/src/upnpelementbean.cpp Mon Nov 01 12:37:49 2010 +0200
@@ -1,249 +1,249 @@
-/** @file
-* Copyright (c) 2005-2006 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: Element table data handler
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <xml/dom/xmlengdom.h>
-#include "upnpelementbean.h"
-#include "upnpcontentdirectoryglobals.h"
-#include "upnpcdutils.h"
-#include <upnpelement.h>
-#include <upnpobject.h>
-#include <uriutils.h>
-#include "upnpstring.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CUpnpElementBean::CUpnpElementBean
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CUpnpElementBean::CUpnpElementBean()
-{
-}
-
-// -----------------------------------------------------------------------------
-// CUpnpElementBean::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CUpnpElementBean::ConstructL()
-{
- iElmValue = KNullString8().AllocL();
-}
-// -----------------------------------------------------------------------------
-// CUpnpElementBean::NewLC
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CUpnpElementBean* CUpnpElementBean::NewLC()
-{
- CUpnpElementBean* self = new( ELeave ) CUpnpElementBean;
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
-}
-// -----------------------------------------------------------------------------
-// CUpnpElementBean::NewLC
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CUpnpElementBean* CUpnpElementBean::NewLC(const RDbRowSet& aRowSet)
-{
- CUpnpElementBean* self = NewLC();
- self->SetL(aRowSet);
- return self;
-}
-// -----------------------------------------------------------------------------
-// CUpnpElementBean::~CUpnpElementBean
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CUpnpElementBean::~CUpnpElementBean()
-{
- delete iElmName;
- delete iElmValue;
-}
-
-// -----------------------------------------------------------------------------
-// CUpnpElementBean::SetL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CUpnpElementBean::SetL(const RDbRowSet& aRowSet)
-{
- // get cols' ids
- CDbColSet* colSet = aRowSet.ColSetL();
- CleanupStack::PushL(colSet);
- const TInt idColNo = colSet->ColNo(KElmIdColName);
- const TInt nameColNo = colSet->ColNo(KElmNameColName);
- const TInt hasAttrColNo = colSet->ColNo(KElmHasAttrColName);
- const TInt objIdColNo = colSet->ColNo(KElmObjIdColName);
- const TInt isRequiredColNo = colSet->ColNo(KElmIsRequiredColName);
- const TInt valueColNo = colSet->ColNo(KElmValueColName);
- CleanupStack::PopAndDestroy(colSet);
-
- // for each column call setter
- if( idColNo != KDbNullColNo )
- {
- SetElmId( aRowSet.ColInt(idColNo) );
- }
- if( nameColNo != KDbNullColNo )
- {
- SetElmNameL( aRowSet.ColDes8(nameColNo) );
- }
- if( hasAttrColNo != KDbNullColNo )
- {
- SetElmHasAttribute( aRowSet.ColUint8(hasAttrColNo) );
- }
- if( objIdColNo != KDbNullColNo )
- {
- SetElmObjId( aRowSet.ColInt(objIdColNo) );
- }
- if( isRequiredColNo != KDbNullColNo )
- {
- SetElmIsRequired( aRowSet.ColUint8(isRequiredColNo) );
- }
- if( valueColNo != KDbNullColNo )
- {
- SetElmValueL(aRowSet, valueColNo);
- }
-}
-// -----------------------------------------------------------------------------
-// CUpnpElementBean::SetElmNameL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CUpnpElementBean::SetElmNameL(const TDesC8& aElmName)
-{
- delete iElmName;
- iElmName = NULL;
- iElmName = aElmName.AllocL();
-}
-// -----------------------------------------------------------------------------
-// CUpnpElementBean::SetElmValueL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CUpnpElementBean::SetElmValueL(const RDbRowSet& aRowSet, const TInt aColNo)
-{
- delete iElmValue;
- iElmValue = NULL;
- iElmValue = ReadLongTextColL(aRowSet, aColNo);
-}
-// -----------------------------------------------------------------------------
-// CUpnpElementBean::SetElmValueL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CUpnpElementBean::SetElmValueL(const TDesC8& aVal)
-{
- delete iElmValue;
- iElmValue = NULL;
- iElmValue = aVal.AllocL();
-}
-// -----------------------------------------------------------------------------
-// CUpnpElementBean::ElmName
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TDesC8& CUpnpElementBean::ElmName() const
-{
- return *iElmName;
-}
-// -----------------------------------------------------------------------------
-// CUpnpElementBean::AttachToXmlElmL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TXmlEngElement CUpnpElementBean::AttachElmL(TXmlEngElement aElement) const
-{
- // new element
- TXmlEngElement element;
-
- // Check if it's local name or if it has a namespace prefix also
- TInt pos = iElmName->Find( KColon8 );
- if( pos == KErrNotFound )
- { //local name
- element = aElement.AddNewElementL( *iElmName );
- }
- else
- { //local name with prefix
- element = aElement.AddNewElementUsePrefixL(
- iElmName->Right( iElmName->Length() - pos - 1 ), // name
- iElmName->Left( pos ) ); // prefix
- }
-
- // value
- element.SetValueL( *iElmValue );
-
- return element;
-}
-// -----------------------------------------------------------------------------
-// CUpnpElementBean::ValAsUriL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-HBufC8* CUpnpElementBean::ValAsUriL() const
-{
- // uris have to be properly escaped
- HBufC* tmp = UpnpCdUtils::Des8ToDesLC(*iElmValue);
- TUriParser uripar;
- uripar.Parse(*tmp);
- CUri8* uri = uri = UriUtils::ConvertToInternetFormL(uripar);
- CleanupStack::PopAndDestroy(tmp);
- if (uri->Uri().UriDes().Length())
- {
- HBufC8* tmp2 = UpnpString::StringReplaceL(uri->Uri().UriDes(),KHash8,KHashASCII8);
- delete uri;
- return tmp2;
- }
- HBufC8* uriDes = uri->Uri().UriDes().Alloc();
- delete uri;
- return uriDes;
-
-}
-
-// -----------------------------------------------------------------------------
-// CUpnpElementBean::AttachElmL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CUpnpElement* CUpnpElementBean::AttachElmL(CUpnpObject* aObj)
-{
- // create element
- CUpnpElement* elm = CUpnpElement::NewLC(*iElmName);
-
- // copy values
- elm->SetValueL(*iElmValue);
-
- // is required
- elm->SetIsRequired( ElmIsRequired() );
- // attach
- aObj->AddElementL(elm);
-
- // clean up
- CleanupStack::Pop(elm);
-
- return elm;
-}
-
-
-// End of File
+/** @file
+* Copyright (c) 2005-2006 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: Element table data handler
+*
+*/
+
+
+
+// INCLUDE FILES
+#include <xmlengdom.h>
+#include "upnpelementbean.h"
+#include "upnpcontentdirectoryglobals.h"
+#include "upnpcdutils.h"
+#include <upnpelement.h>
+#include <upnpobject.h>
+#include <uriutils.h>
+#include "upnpstring.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CUpnpElementBean::CUpnpElementBean
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CUpnpElementBean::CUpnpElementBean()
+{
+}
+
+// -----------------------------------------------------------------------------
+// CUpnpElementBean::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CUpnpElementBean::ConstructL()
+{
+ iElmValue = KNullString8().AllocL();
+}
+// -----------------------------------------------------------------------------
+// CUpnpElementBean::NewLC
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CUpnpElementBean* CUpnpElementBean::NewLC()
+{
+ CUpnpElementBean* self = new( ELeave ) CUpnpElementBean;
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ return self;
+}
+// -----------------------------------------------------------------------------
+// CUpnpElementBean::NewLC
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CUpnpElementBean* CUpnpElementBean::NewLC(const RDbRowSet& aRowSet)
+{
+ CUpnpElementBean* self = NewLC();
+ self->SetL(aRowSet);
+ return self;
+}
+// -----------------------------------------------------------------------------
+// CUpnpElementBean::~CUpnpElementBean
+// Destructor
+// -----------------------------------------------------------------------------
+//
+CUpnpElementBean::~CUpnpElementBean()
+{
+ delete iElmName;
+ delete iElmValue;
+}
+
+// -----------------------------------------------------------------------------
+// CUpnpElementBean::SetL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CUpnpElementBean::SetL(const RDbRowSet& aRowSet)
+{
+ // get cols' ids
+ CDbColSet* colSet = aRowSet.ColSetL();
+ CleanupStack::PushL(colSet);
+ const TInt idColNo = colSet->ColNo(KElmIdColName);
+ const TInt nameColNo = colSet->ColNo(KElmNameColName);
+ const TInt hasAttrColNo = colSet->ColNo(KElmHasAttrColName);
+ const TInt objIdColNo = colSet->ColNo(KElmObjIdColName);
+ const TInt isRequiredColNo = colSet->ColNo(KElmIsRequiredColName);
+ const TInt valueColNo = colSet->ColNo(KElmValueColName);
+ CleanupStack::PopAndDestroy(colSet);
+
+ // for each column call setter
+ if( idColNo != KDbNullColNo )
+ {
+ SetElmId( aRowSet.ColInt(idColNo) );
+ }
+ if( nameColNo != KDbNullColNo )
+ {
+ SetElmNameL( aRowSet.ColDes8(nameColNo) );
+ }
+ if( hasAttrColNo != KDbNullColNo )
+ {
+ SetElmHasAttribute( aRowSet.ColUint8(hasAttrColNo) );
+ }
+ if( objIdColNo != KDbNullColNo )
+ {
+ SetElmObjId( aRowSet.ColInt(objIdColNo) );
+ }
+ if( isRequiredColNo != KDbNullColNo )
+ {
+ SetElmIsRequired( aRowSet.ColUint8(isRequiredColNo) );
+ }
+ if( valueColNo != KDbNullColNo )
+ {
+ SetElmValueL(aRowSet, valueColNo);
+ }
+}
+// -----------------------------------------------------------------------------
+// CUpnpElementBean::SetElmNameL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CUpnpElementBean::SetElmNameL(const TDesC8& aElmName)
+{
+ delete iElmName;
+ iElmName = NULL;
+ iElmName = aElmName.AllocL();
+}
+// -----------------------------------------------------------------------------
+// CUpnpElementBean::SetElmValueL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CUpnpElementBean::SetElmValueL(const RDbRowSet& aRowSet, const TInt aColNo)
+{
+ delete iElmValue;
+ iElmValue = NULL;
+ iElmValue = ReadLongTextColL(aRowSet, aColNo);
+}
+// -----------------------------------------------------------------------------
+// CUpnpElementBean::SetElmValueL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CUpnpElementBean::SetElmValueL(const TDesC8& aVal)
+{
+ delete iElmValue;
+ iElmValue = NULL;
+ iElmValue = aVal.AllocL();
+}
+// -----------------------------------------------------------------------------
+// CUpnpElementBean::ElmName
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TDesC8& CUpnpElementBean::ElmName() const
+{
+ return *iElmName;
+}
+// -----------------------------------------------------------------------------
+// CUpnpElementBean::AttachToXmlElmL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TXmlEngElement CUpnpElementBean::AttachElmL(TXmlEngElement aElement) const
+{
+ // new element
+ TXmlEngElement element;
+
+ // Check if it's local name or if it has a namespace prefix also
+ TInt pos = iElmName->Find( KColon8 );
+ if( pos == KErrNotFound )
+ { //local name
+ element = aElement.AddNewElementL( *iElmName );
+ }
+ else
+ { //local name with prefix
+ element = aElement.AddNewElementUsePrefixL(
+ iElmName->Right( iElmName->Length() - pos - 1 ), // name
+ iElmName->Left( pos ) ); // prefix
+ }
+
+ // value
+ element.SetValueL( *iElmValue );
+
+ return element;
+}
+// -----------------------------------------------------------------------------
+// CUpnpElementBean::ValAsUriL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+HBufC8* CUpnpElementBean::ValAsUriL() const
+{
+ // uris have to be properly escaped
+ HBufC* tmp = UpnpCdUtils::Des8ToDesLC(*iElmValue);
+ TUriParser uripar;
+ uripar.Parse(*tmp);
+ CUri8* uri = uri = UriUtils::ConvertToInternetFormL(uripar);
+ CleanupStack::PopAndDestroy(tmp);
+ if (uri->Uri().UriDes().Length())
+ {
+ HBufC8* tmp2 = UpnpString::StringReplaceL(uri->Uri().UriDes(),KHash8,KHashASCII8);
+ delete uri;
+ return tmp2;
+ }
+ HBufC8* uriDes = uri->Uri().UriDes().Alloc();
+ delete uri;
+ return uriDes;
+
+}
+
+// -----------------------------------------------------------------------------
+// CUpnpElementBean::AttachElmL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+CUpnpElement* CUpnpElementBean::AttachElmL(CUpnpObject* aObj)
+{
+ // create element
+ CUpnpElement* elm = CUpnpElement::NewLC(*iElmName);
+
+ // copy values
+ elm->SetValueL(*iElmValue);
+
+ // is required
+ elm->SetIsRequired( ElmIsRequired() );
+ // attach
+ aObj->AddElementL(elm);
+
+ // clean up
+ CleanupStack::Pop(elm);
+
+ return elm;
+}
+
+
+// End of File