You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdeio-apt/src/parsers/parsers.h

92 lines
2.6 KiB

/***************************************************************************
* Copyright (C) 2003 by Sylvain Joyeux *
* sylvain.joyeux@m4x.org *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
***************************************************************************/
#ifndef PARSERS_H
#define PARSERS_H
#include <qstring.h>
namespace KIO
{
class SlaveBase;
}
class QHtmlStream;
class AptProtocol;
/** Here are defined the functional objects that takes the tokens
* sent by AptCache and PackageManager objects, and produces HTML */
namespace Parsers
{
class Parser
{
protected:
int m_result_count;
static void attribute_begin(QHtmlStream& stream, const QString& text);
static void attribute_end(QHtmlStream& stream);
public:
Parser();
virtual ~Parser();
int result_count() const { return m_result_count; }
virtual void operator () (AptProtocol* slave, const QString& tag, const QString& value) = 0;
};
class Search : public Parser
{
public:
void operator () (AptProtocol* slave, const QString& tag, const QString& value);
};
class List : public Parser
{
bool m_links;
public:
List(bool show_links);
void operator () (AptProtocol* slave, const QString& tag, const QString& value);
};
class FileSearch : public Parser
{
public:
void operator () (AptProtocol* slave, const QString& tag, const QString& value);
};
class Show : public Parser
{
QString m_package, m_installed;
bool m_act;
public:
Show(const QString& package, const QString& installed, bool act);
void operator () (AptProtocol* slave, const QString& tag, const QString& value);
};
class Policy : public Parser
{
QString m_package, m_installed;
bool m_has_adept_batch;
bool m_act;
public:
Policy(const QString& package, bool act);
QString getInstalled() const { return m_installed; }
void operator () (AptProtocol* slave, const QString& tag, const QString& value);
};
void operator << (KIO::SlaveBase& slave, const QCString& string);
void operator << (KIO::SlaveBase& slave, const QString& string);
void operator << (KIO::SlaveBase& slave, const char* string);
QString mangle_version(QString version);
}
#endif