diff options
author | Campbell Barton <ideasman42@gmail.com> | 2016-04-24 15:42:41 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2016-04-25 12:27:45 +0300 |
commit | beaa57d2699ae945c06a895d41ec5ddfeabc373a (patch) | |
tree | 205db121401f06eb1d51a98cd2480b46ae52c582 /source/blender/blenkernel/BKE_blendfile.h | |
parent | 935998312c44300385588c466ef31fa9e85d385f (diff) |
Refactor BKE_blender into separate headers
- BKE_blender_version.h (only version defines & versionstr).
- BKE_blender_copybuffer.h (currently only used for view3d copy/paste).
- BKE_blender_undo.h (global undo functions).
- BKE_blendfile.h (high level blend file read/write API).
Diffstat (limited to 'source/blender/blenkernel/BKE_blendfile.h')
-rw-r--r-- | source/blender/blenkernel/BKE_blendfile.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_blendfile.h b/source/blender/blenkernel/BKE_blendfile.h new file mode 100644 index 00000000000..6767fce3abd --- /dev/null +++ b/source/blender/blenkernel/BKE_blendfile.h @@ -0,0 +1,67 @@ +/* + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * 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. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * ***** END GPL LICENSE BLOCK ***** + */ +#ifndef __BKE_BLENDFILE_H__ +#define __BKE_BLENDFILE_H__ + +/** \file BKE_blendfile.h + * \ingroup bke + */ + +#ifdef __cplusplus +extern "C" { +#endif + +struct bContext; +struct ID; +struct Main; +struct MemFile; +struct ReportList; + +int BKE_blendfile_read(struct bContext *C, const char *filepath, struct ReportList *reports); + +enum { + BKE_BLENDFILE_READ_FAIL = 0, /* no load */ + BKE_BLENDFILE_READ_OK = 1, /* OK */ + BKE_BLENDFILE_READ_OK_USERPREFS = 2, /* OK, and with new user settings */ +}; + +bool BKE_blendfile_read_from_memory( + struct bContext *C, const void *filebuf, + int filelength, struct ReportList *reports, bool update_defaults); +bool BKE_blendfile_read_from_memfile( + struct bContext *C, struct MemFile *memfile, + struct ReportList *reports); + +int BKE_blendfile_read_userdef(const char *filepath, struct ReportList *reports); +int BKE_blendfile_write_userdef(const char *filepath, struct ReportList *reports); + + +/* partial blend file writing */ +void BKE_blendfile_write_partial_tag_ID(struct ID *id, bool set); +void BKE_blendfile_write_partial_begin(struct Main *bmain_src); +bool BKE_blendfile_write_partial( + struct Main *bmain_src, const char *filepath, const int write_flags, struct ReportList *reports); +void BKE_blendfile_write_partial_end(struct Main *bmain_src); + +#ifdef __cplusplus +} +#endif + +#endif /* __BKE_BLENDFILE_H__ */ |