Pol
Revision:cb584c9
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
savedata.h
Go to the documentation of this file.
1
7
#ifndef SAVEDATA_H
8
#define SAVEDATA_H
9
10
#include <boost/noncopyable.hpp>
11
#include <fstream>
12
#include <future>
13
#include <string>
14
15
#include "../clib/streamsaver.h"
16
17
namespace
Pol
18
{
19
namespace
Core
20
{
21
class
SaveContext
: boost::noncopyable
22
{
23
// typedef Clib::ThreadedOFStreamWriter SaveStrategy; // too many context switches!
24
typedef
Clib::OFStreamWriter
SaveStrategy
;
25
26
private
:
27
std::ofstream
_pol
;
28
std::ofstream
_objects
;
29
std::ofstream
_pcs
;
30
std::ofstream
_pcequip
;
31
std::ofstream
_npcs
;
32
std::ofstream
_npcequip
;
33
std::ofstream
_items
;
34
std::ofstream
_multis
;
35
std::ofstream
_storage
;
36
std::ofstream
_resource
;
37
std::ofstream
_guilds
;
38
std::ofstream
_datastore
;
39
std::ofstream
_party
;
40
41
public
:
42
SaveContext
();
43
~SaveContext
();
44
SaveStrategy
pol
;
45
SaveStrategy
objects
;
46
SaveStrategy
pcs
;
47
SaveStrategy
pcequip
;
48
SaveStrategy
npcs
;
49
SaveStrategy
npcequip
;
50
SaveStrategy
items
;
51
SaveStrategy
multis
;
52
SaveStrategy
storage
;
53
SaveStrategy
resource
;
54
SaveStrategy
guilds
;
55
SaveStrategy
datastore
;
56
SaveStrategy
party
;
57
static
std::shared_future<bool>
finished
;
58
static
void
ready
();
59
};
60
61
int
save_incremental
(
unsigned
int
& dirty_writes,
unsigned
int
& clean_objects,
62
long
long
& elapsed_ms );
63
64
void
write_system_data
(
Clib::StreamWriter
& sw );
65
void
write_global_properties
(
Clib::StreamWriter
& sw );
66
void
write_shadow_realms
(
Clib::StreamWriter
& sw );
67
68
bool
commit
(
const
std::string& basename );
69
void
commit_incremental_saves
();
70
bool
should_write_data
();
71
}
72
}
73
#endif
Pol::Core::SaveContext::SaveStrategy
Clib::OFStreamWriter SaveStrategy
Definition:
savedata.h:24
Pol::Core::SaveContext::items
SaveStrategy items
Definition:
savedata.h:50
Pol::Core::SaveContext::guilds
SaveStrategy guilds
Definition:
savedata.h:54
Pol::Core::SaveContext::ready
static void ready()
blocks till possible last commit finishes
Definition:
uimport.cpp:798
Pol::Core::SaveContext::npcequip
SaveStrategy npcequip
Definition:
savedata.h:49
Pol::Core::write_system_data
void write_system_data(Clib::StreamWriter &sw)
Definition:
uimport.cpp:816
Pol::Core::SaveContext::_party
std::ofstream _party
Definition:
savedata.h:39
Pol::Clib::StreamWriter
Definition:
streamsaver.h:21
Pol::Core::SaveContext::pcequip
SaveStrategy pcequip
Definition:
savedata.h:47
Pol::Core::SaveContext::_multis
std::ofstream _multis
Definition:
savedata.h:34
Pol::Core::SaveContext::finished
static std::shared_future< bool > finished
Definition:
savedata.h:57
Pol::Core::SaveContext::pol
SaveStrategy pol
Definition:
savedata.h:44
Pol::Core::write_shadow_realms
void write_shadow_realms(Clib::StreamWriter &sw)
Definition:
uimport.cpp:827
Pol::Core::SaveContext::_pcequip
std::ofstream _pcequip
Definition:
savedata.h:30
Pol::Core::SaveContext::_pcs
std::ofstream _pcs
Definition:
savedata.h:29
Pol::Core::SaveContext::_datastore
std::ofstream _datastore
Definition:
savedata.h:38
Pol::Core::SaveContext::_resource
std::ofstream _resource
Definition:
savedata.h:36
Pol::Core::SaveContext::SaveContext
SaveContext()
Definition:
uimport.cpp:692
Pol::Core::SaveContext::datastore
SaveStrategy datastore
Definition:
savedata.h:55
Pol::Core::SaveContext::multis
SaveStrategy multis
Definition:
savedata.h:51
Pol::Core::commit_incremental_saves
void commit_incremental_saves()
Definition:
savedata.cpp:302
Pol::Core::SaveContext::party
SaveStrategy party
Definition:
savedata.h:56
Pol::Core::SaveContext::storage
SaveStrategy storage
Definition:
savedata.h:52
Pol::Core::SaveContext::pcs
SaveStrategy pcs
Definition:
savedata.h:46
Pol::Core::should_write_data
bool should_write_data()
Definition:
uimport.cpp:1015
Pol::Core::write_global_properties
void write_global_properties(Clib::StreamWriter &sw)
Definition:
uimport.cpp:808
Pol::Core::SaveContext::_npcequip
std::ofstream _npcequip
Definition:
savedata.h:32
Pol::Core::SaveContext::_guilds
std::ofstream _guilds
Definition:
savedata.h:37
Pol::Core::save_incremental
int save_incremental(unsigned int &dirty, unsigned int &clean, long long &elapsed_ms)
Definition:
savedata.cpp:229
Pol::Core::SaveContext::npcs
SaveStrategy npcs
Definition:
savedata.h:48
Pol::Core::SaveContext::_npcs
std::ofstream _npcs
Definition:
savedata.h:31
Pol::Core::SaveContext::_pol
std::ofstream _pol
Definition:
savedata.h:27
Pol::Core::SaveContext::_objects
std::ofstream _objects
Definition:
savedata.h:28
Pol::Core::SaveContext
Definition:
savedata.h:21
Pol::Core::commit
bool commit(const std::string &basename)
Definition:
uimport.cpp:968
Pol::Core::SaveContext::~SaveContext
~SaveContext()
Definition:
uimport.cpp:780
Pol::Core::SaveContext::objects
SaveStrategy objects
Definition:
savedata.h:45
Pol::Core::SaveContext::resource
SaveStrategy resource
Definition:
savedata.h:53
Pol::Core::SaveContext::_items
std::ofstream _items
Definition:
savedata.h:33
Pol::Clib::OFStreamWriter
Definition:
streamsaver.h:45
Pol::Core::SaveContext::_storage
std::ofstream _storage
Definition:
savedata.h:35
Pol
Definition:
berror.cpp:12
pol
savedata.h
Generated on Wed Oct 10 2018 02:42:27 for Pol by
1.8.11