00001 /* vim: set sw=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ 00002 /* 00003 * goffice-app.h: 00004 * 00005 * Copyright (C) 2004 Jody Goldberg (jody@gnome.org) 00006 * 00007 * This program is free software; you can redistribute it and/or 00008 * modify it under the terms of version 2 of the GNU General Public 00009 * License as published by the Free Software Foundation. 00010 * 00011 * This program is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 * GNU General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU General Public License 00017 * along with this program; if not, write to the Free Software 00018 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 00019 * USA 00020 */ 00021 00022 #ifndef GOFFICE_APP_H 00023 #define GOFFICE_APP_H 00024 00025 #include <glib.h> 00026 00027 G_BEGIN_DECLS 00028 00029 typedef struct _GOApp GOApp; 00030 typedef struct _GODoc GODoc; 00031 typedef struct _GODocControl GODocControl; 00032 typedef struct _GOCmdContext GOCmdContext; 00033 00034 typedef struct _GOPlugin GOPlugin; 00035 typedef struct _GOPluginService GOPluginService; 00036 typedef struct _GOPluginLoader GOPluginLoader; 00037 00038 /* temporary */ 00039 typedef struct _ErrorInfo ErrorInfo; 00040 typedef struct _GOFileSaver GOFileSaver; 00041 typedef struct _GOFileOpener GOFileOpener; 00042 typedef struct _IOContext IOContext; 00043 00044 /* 00045 * File probe level tells file opener (its probe method to be exact), how 00046 * hard it should try to recognize the type of the file. File openers may 00047 * ignore this or support only some probe levels, but if specifies 00048 * "reccomened" behaviour. 00049 * Before opening any file we detect its type by calling probe for 00050 * every registered file opener (in order of priority) and passing 00051 * FILE_PROBE_FILE_NAME as probe level. If none of them recogizes the file, 00052 * we increase probe level and try again... 00053 */ 00054 typedef enum { 00055 FILE_PROBE_FILE_NAME, /* Test only file name, don't read file contents */ 00056 FILE_PROBE_CONTENT, /* Read the whole file if it's necessary */ 00057 FILE_PROBE_LAST 00058 } FileProbeLevel; 00059 00060 G_END_DECLS 00061 00062 #endif /* GOFFICE_GRAPH_H */