]> git.lyx.org Git - lyx.git/blob - src/exporter.h
two patches from john
[lyx.git] / src / exporter.h
1 // -*- C++ -*-
2 /* This file is part of
3  * ====================================================== 
4  * 
5  *           LyX, The Document Processor
6  *        
7  *           Copyright 1995 Matthias Ettrich
8  *           Copyright 1995-2001 The LyX Team.
9  *
10  * ====================================================== */
11
12 #ifndef EXPORTER_H
13 #define EXPORTER_H
14
15 #ifdef __GNUG__
16 #pragma interface
17 #endif
18
19 #include <vector>
20 #include "LString.h"
21
22 class Buffer;
23 class Format;
24
25 class Exporter {
26 public:
27         ///
28         static
29         bool Export(Buffer * buffer, string const & format,
30                     bool put_in_tempdir, string & result_file);
31         ///
32         static
33         bool Export(Buffer * buffer, string const & format,
34                     bool put_in_tempdir);
35         ///
36         static
37         bool Preview(Buffer * buffer, string const & format);
38         ///
39         static
40         bool IsExportable(Buffer const * buffer, string const & format);
41         ///
42         static
43         std::vector<Format const *> const
44         GetExportableFormats(Buffer const * buffer, bool only_viewable);
45         ///
46 private:
47         static
48         string const BufferFormat(Buffer const * buffer);
49         ///
50         static
51         std::vector<string> const Backends(Buffer const * buffer);
52 };
53 #endif