Fixed AVController, it was accidentally set to search only for renderers. Now also servers are added to device list. Also some minor changes in package definition xml and platform API xml definition files.
/*
* Copyright (c) 2006-2007 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: Generates XML from an UPNP Item
*
*/
#ifndef C_UPNPITEMTOXML_H
#define C_UPNPITEMTOXML_H
// INCLUDES
#include <e32base.h>
#include <s32mem.h>
// CONSTANTS
// None
// MACROS
// None
// FORWARD DECLARATIONS
class CUpnpItem;
/**
* Converts an UPnP item to xml document
*
* @since Series 60 3.2
* @lib upnpxmlparser.lib
*/
NONSHARABLE_CLASS( CUpnpItemToXML ) : public CBase
{
public: // Constructors and destructor
/**
* Two-phased constructor.
*
* @param aItem
* @return new instance
*/
static CUpnpItemToXML* NewL( const CUpnpItem& aItem );
/**
* Two-phased constructor.
*
* @param aItem
* @return new instance
*/
static CUpnpItemToXML* NewLC( const CUpnpItem& aItem );
/**
* Destructor.
*/
virtual ~CUpnpItemToXML();
public: // Functions from CUPnPObject
/**
* Returns object's XML description
* Leaves in case of errors.
* @since Series 60 3.1
* @param none
* @return HBufC8 pointer to buffer containing XML data
*/
HBufC8* AsXmlL( const TBool aIncludeChilds = ETrue );
/**
* Returns object's XML description. This version of the method
* is used to create the XML with empty <res> tag
* Leaves in case of errors.
* @since Series 60 3.1
* @param None
* @return HBufC8 pointer to buffer containing XML data
*/
HBufC8* AsXmlEmptyL();
/**
* CUpnpItemToXML::AsResultArgumentL
* Returns object's XML description that is embedded inside a
* DIDL-LITE tag. The <res> tag of xml description is empty.
* The returned value is xml encoded can therefore be used
* for example when creating a CreateObject action.
* @since Series 60 3.1
* @param none
* @return TDesC8& the date string
*/
HBufC8* AsResultArgumentL();
/**
* Creates valid XML headers to source data. Do not decode the XML.
*
* @since Series 60 3.1
* @param TDesC8 reference to source data
* @return HBufC8 buffer to valid XML
*/
HBufC8* CreateUnDecodedXmlL( const TDesC8& aData );
private:
/**
* Return value from an element
*
* @param aElemenName (const TDesC8&) name of the element
* @return (const TDesC8&) value of the element
*/
const TDesC8& GetValueFromElement(
const TDesC8& aElementName );
/**
* Validates format of dc:date
*
* @param aDate dc:date string
* @return ETrue if format of dc:date is valid
*/
TBool ValidateDateL( const TDesC8& aDate );
/**
* Validates format of res@duration
*
* @param aDuration res@duration string
* @return ETrue if format of res@duration is valid
*/
TBool ValidateDurationL( const TDesC8& aDuration );
/**
* Parse to a delimeter
*
* @param aLexer lexer
* @param aDelimeter delimeter character
*/
void ParseToDelimeter( TLex8& aLex, TChar aDelimeter );
void FillMetaDataL(RBufWriteStream& aStream);
private:
/**
* C++ default constructor.
*/
CUpnpItemToXML( const CUpnpItem& aItem );
/**
* By default Symbian 2nd phase constructor is private.
*/
void ConstructL();
private: // Data
CUpnpItem* iItem; // Not own
};
#endif // C_UPNPITEMTOXML_H
// End of File