1 /*
2 * Authors:
3 * Ted Gould <ted@gould.cx>
4 *
5 * Copyright (C) 2002-2004 Authors
6 *
7 * Released under GNU GPL, read the file 'COPYING' for more information
8 */
11 #ifndef INKSCAPE_EXTENSION_INPUT_H__
12 #define INKSCAPE_EXTENSION_INPUT_H__
14 #include <glib.h>
15 #include "extension.h"
16 #include "xml/repr.h"
17 #include "document.h"
18 #include <gtk/gtkdialog.h>
20 namespace Inkscape {
21 namespace Extension {
23 class Input : public Extension {
24 gchar *mimetype; /**< What is the mime type this inputs? */
25 gchar *extension; /**< The extension of the input files */
26 gchar *filetypename; /**< A userfriendly name for the file type */
27 gchar *filetypetooltip; /**< A more detailed description of the filetype */
29 public: /* this is a hack for this release, this will be private shortly */
30 gchar *output_extension; /**< Setting of what output extension should be used */
32 public:
33 class open_failed {}; /**< Generic failure for an undescribed reason */
34 class no_extension_found {}; /**< Failed because we couldn't find an extension to match the filename */
36 Input (Inkscape::XML::Node * in_repr,
37 Implementation::Implementation * in_imp);
38 virtual ~Input (void);
39 virtual bool check (void);
40 SPDocument * open (gchar const *uri);
41 gchar * get_mimetype (void);
42 gchar * get_extension (void);
43 gchar * get_filetypename (void);
44 gchar * get_filetypetooltip (void);
45 bool prefs (gchar const *uri);
46 };
48 } } /* namespace Inkscape, Extension */
49 #endif /* INKSCAPE_EXTENSION_INPUT_H__ */
51 /*
52 Local Variables:
53 mode:c++
54 c-file-style:"stroustrup"
55 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
56 indent-tabs-mode:nil
57 fill-column:99
58 End:
59 */
60 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :