]> git.decadent.org.uk Git - ion3.git/blob - ioncore/saveload.h
bc2ad6c4fe810154a6e57bc68e7acfc82be53ac6
[ion3.git] / ioncore / saveload.h
1 /*
2  * ion/ioncore/saveload.h
3  *
4  * Copyright (c) Tuomo Valkonen 1999-2007. 
5  *
6  * Ion is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU Lesser General Public License as published by
8  * the Free Software Foundation; either version 2.1 of the License, or
9  * (at your option) any later version.
10  */
11
12 #ifndef ION_IONCORE_SAVELOAD_H
13 #define ION_IONCORE_SAVELOAD_H
14
15 #include <libextl/extl.h>
16 #include "common.h"
17 #include "region.h"
18 #include "screen.h"
19 #include "pholder.h"
20
21 extern WRegion *create_region_load(WWindow *par, const WFitParams *fp, 
22                                    ExtlTab tab);
23
24 extern bool region_supports_save(WRegion *reg);
25 DYNFUN ExtlTab region_get_configuration(WRegion *reg);
26 extern ExtlTab region_get_base_configuration(WRegion *reg);
27
28 extern bool ioncore_init_layout();
29 extern bool ioncore_save_layout();
30
31 /* Session management support */
32
33 typedef bool SMAddCallback(WPHolder *ph, ExtlTab tab);
34 typedef void SMCfgCallback(WClientWin *cwin, ExtlTab tab);
35 typedef WPHolder *SMPHolderCallback();
36     
37 extern void ioncore_set_sm_callbacks(SMAddCallback *add, SMCfgCallback *cfg);
38 extern void ioncore_get_sm_callbacks(SMAddCallback **add, SMCfgCallback **cfg);
39 extern void ioncore_set_sm_pholder_callback(SMPHolderCallback *phcb);
40 extern void ioncore_clientwin_load_missing();
41
42 #endif /* ION_IONCORE_SAVELOAD_H */
43