Example #1
0
/*!
    Parse the contents of \a input and convert it into regular XML text.
*/
QString QWbXmlReader::toXml( QIODevice& input )
{
    QXmlContentHandler *oldHandler = contentHandler();
    QWbXmlToXmlContentHandler handler;
    setContentHandler( &handler );
    parse( input );
    setContentHandler( oldHandler );
    return handler.toString();
}
Example #2
0
/*!
    Parse the contents of \a input and convert it into regular XML text.
*/
QString QWbXmlReader::toXml( const QByteArray& input )
{
    QXmlContentHandler *oldHandler = contentHandler();
    QWbXmlToXmlContentHandler handler;
    setContentHandler( &handler );
    parse( input );
    setContentHandler( oldHandler );
    return handler.toString();
}
Example #3
0
/*!
    Parse a WBXML-encoded OTA \a input message and return a characteristics list
    that describes its contents.
*/
QOtaCharacteristicList *QOtaReader::parseCharacteristics( QIODevice& input )
{
    QXmlContentHandler *oldHandler = contentHandler();
    QOtaContentHandler handler;
    setContentHandler( &handler );
    bool result = parse( input );
    setContentHandler( oldHandler );
    if ( result )
        return handler.list();
    else
        return 0;
}
Example #4
0
bool ParserStatus::parse(const QXmlInputSource * input)
{
  if (! contentHandler())
    return false;

  Q_ASSERT_X(input != 0, "ParserStatus::parse", "input source is undefined");
  if (! input)
    return false;

  QTime timer;
  timer.start();

//  m_source = (QXmlInputSource *) input;
  contentHandler()->setDocumentLocator(m_locator);
  contentHandler()->startDocument();
  m_currState = m_stateMachine->startState();
  bool result = loop();
  contentHandler()->endDocument();

  kDebug(24000) << "Parsing time: " << timer.elapsed() << " ms";
  return result;
}
Example #5
0
void QtActionManager::loadActionData( QIODevice & source )
{
	QXmlSimpleReader actions;
	QtActionContentHandler contentHandler( *this );
	actions.setContentHandler( &contentHandler );
	QtActionErrorHandler errorHandler;
	actions.setErrorHandler( &errorHandler );
	const auto result = actions.parse( QXmlInputSource( &source ) );
	if (!result)
	{
		NGT_ERROR_MSG( "Failed to parse actions\n" );
	}
}
//----------------------------------------------------------------------------------------
// ParseAdXMLFile
//----------------------------------------------------------------------------------------
bool
ZMAdFileFacade::ParseAdXMLFile(
	const PMString &					path,
	ZMstAdSList &						oAdsList,
	uint32 *							oLastUpdateDate) const
{
	if (oLastUpdateDate)
		*oLastUpdateDate = 0;

	bool result = false;
	SDKFileHelper fileHelper(path);
	IDFile fileId = fileHelper.GetIDFile();
	InterfacePtr<IPMStream> fileStream((IPMStream*)StreamUtil::CreateFileStreamRead(fileId));
	if (! fileStream)
		return result;

	//Set last update date
	if (oLastUpdateDate)
		FileUtils::GetModificationDate(fileId, oLastUpdateDate);

	InterfacePtr<IK2ServiceRegistry> serviceRegistry(gSession, UseDefaultIID());
	InterfacePtr<IK2ServiceProvider> xmlProvider(serviceRegistry->QueryServiceProviderByClassID(kXMLParserService, kXMLParserServiceBoss));
	InterfacePtr<ISAXServices> saxServices(xmlProvider, UseDefaultIID());

	InterfacePtr<ISAXContentHandler> contentHandler(static_cast<ISAXContentHandler*>(::CreateObject(kZMSAXAdContentHandlerBoss, ISAXContentHandler::kDefaultIID)));
	InterfacePtr<ISAXEntityResolver> entityResolver(static_cast<ISAXEntityResolver*>(::CreateObject(kXMLEmptyEntityResolverBoss, ISAXEntityResolver::kDefaultIID)));
	if (Utils<IShowAlertRegistryUtils>())
	{
		Utils<IShowAlertRegistryUtils>()->DoSetShouldShowCmd(kXMLEntityNotResolved, kFalse);
		Utils<IShowAlertRegistryUtils>()->DoSetShouldShowCmd(kXMLPublicIDsNotSupported, kFalse);
	}

	// set parser options
	InterfacePtr<ISAXParserOptions> parserOptions(saxServices, UseDefaultIID());
	parserOptions->SetNamespacesFeature(kTrue);
	parserOptions->SetNamespacePrefixesFeature(kTrue);
	parserOptions->SetWarnCaseXMLDECLFeature(kFalse);
	parserOptions->SetWarnCaseDTDFeature(kFalse);
	parserOptions->SetValidationFeature(kFalse);

	saxServices->ParseStream(fileStream, contentHandler, entityResolver);
	ErrorCode err = ErrorUtils::PMGetGlobalErrorCode();
	if (err == kIZMInvalidXMLFileError)
	//if (err == kFailure || err == kIZMInvalidXMLFileError)
	{
		PMString errStr(kIZMediaInvalidXMLFileErrorCodeStringKey);
		ErrorUtils::PMSetGlobalErrorCode(kSuccess);
		CAlert::ErrorAlert(errStr);
		//ErrorUtils::PMSetGlobalErrorCode(kFailure, &errStr);

		//ErrorUtils::PMSetGlobalErrorCode(kFailure, &errStr);
		//InterfacePtr<IXMLServicesError> serviceErr (saxServices, UseDefaultIID());
		//err = serviceErr->GetErrorCode ();
		//if (err == kIZMInvalidXMLFileError)
		//	int x =0;
		//PMString errStr("XML Error");
	}

	if (!err)
	{
		InterfacePtr<const IZMAdFileData> zmAdList(contentHandler, IZMAdFileData::kDefaultIID);
		if (zmAdList)
		{
			const ZMstAdSList & adsList= zmAdList->GetAdsList();
			oAdsList.Copy(adsList, true);	//This will take ownership of objects in adsList

			result = true;
			//Testing code for checking values.
			//ZMstAdSListCIter iter = adsList.begin();
			//ZMstAdSListCIter iterEnd = adsList.end();
			//for (; iter != iterEnd; ++iter)
			//{
			//	const stAd & ad = **iter;
			//	PMString customer = ad.mCustomer;
			//}
		}
	}

	return result;
}