~ubuntu-branches/ubuntu/raring/kbibtex/raring

« back to all changes in this revision

Viewing changes to src/fileexporterexternal.h

  • Committer: Package Import Robot
  • Author(s): Michael Hanke
  • Date: 2011-07-18 09:29:48 UTC
  • mfrom: (1.1.6) (2.1.5 sid)
  • Revision ID: package-import@ubuntu.com-20110718092948-ksxjmg7kdfamolmg
Tags: 0.3-1
* First upstream release for KDE4 (Closes: #634255). A number of search
  engines are still missing, in comparison to the 0.2 series.
* Bumped Standards-Version to 3.9.2, no changes necessary.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/***************************************************************************
2
 
*   Copyright (C) 2004-2006 by Thomas Fischer                             *
3
 
*   fischer@unix-ag.uni-kl.de                                             *
4
 
*                                                                         *
5
 
*   This program is free software; you can redistribute it and/or modify  *
6
 
*   it under the terms of the GNU General Public License as published by  *
7
 
*   the Free Software Foundation; either version 2 of the License, or     *
8
 
*   (at your option) any later version.                                   *
9
 
*                                                                         *
10
 
*   This program is distributed in the hope that it will be useful,       *
11
 
*   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
12
 
*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
13
 
*   GNU General Public License for more details.                          *
14
 
*                                                                         *
15
 
*   You should have received a copy of the GNU General Public License     *
16
 
*   along with this program; if not, write to the                         *
17
 
*   Free Software Foundation, Inc.,                                       *
18
 
*   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
19
 
***************************************************************************/
20
 
#ifndef BIBTEXFILEEXPORTEREXTERNAL_H
21
 
#define BIBTEXFILEEXPORTEREXTERNAL_H
22
 
 
23
 
#include <fileexporter.h>
24
 
#include <settings.h>
25
 
 
26
 
class QWaitCondition;
27
 
class QProcess;
28
 
class QBuffer;
29
 
 
30
 
namespace BibTeX
31
 
{
32
 
 
33
 
    /**
34
 
    @author Thomas Fischer
35
 
    */
36
 
    class FileExporterExternal : public FileExporter
37
 
    {
38
 
        Q_OBJECT
39
 
    public:
40
 
        enum Exporter { exporterNone = 0, exporterXSLT = 1, exporterBib2XHTML = 2, exporterBibTeX2HTML = 3, exporterBibConv = 4 };
41
 
 
42
 
        FileExporterExternal( Exporter exporter, File::FileFormat fileformat );
43
 
        ~FileExporterExternal();
44
 
 
45
 
        bool save( QIODevice* iodevice, const File* bibtexfile, QStringList *errorLog = NULL );
46
 
        bool save( QIODevice* iodevice, const Element* element, QStringList *errorLog = NULL );
47
 
 
48
 
    private:
49
 
        QWaitCondition *wc;
50
 
        QProcess *process;
51
 
        QTextStream *writeTo;
52
 
        Exporter m_exporter;
53
 
        File::FileFormat m_fileformat;
54
 
 
55
 
        bool generateOutput( QBuffer &input, QIODevice* output );
56
 
 
57
 
    private slots:
58
 
        void slotProcessExited();
59
 
        void slotReadProcessOutput();
60
 
        void slotWroteToStdin();
61
 
 
62
 
    };
63
 
 
64
 
}
65
 
 
66
 
#endif