source: ThirdParty/mpqc_open/src/lib/util/state/proxy.cc

Candidate_v1.6.1
Last change on this file was 860145, checked in by Frederik Heber <heber@…>, 8 years ago

Merge commit '0b990dfaa8c6007a996d030163a25f7f5fc8a7e7' as 'ThirdParty/mpqc_open'

  • Property mode set to 100644
File size: 1005 bytes
Line 
1
2#ifdef __GNUG__
3#pragma implementation
4#endif
5
6#include <util/state/state_bin.h>
7#include <util/state/proxy.h>
8#include <util/keyval/keyval.h>
9
10using namespace sc;
11
12static ClassDesc SavableStateProxy_cd(
13 typeid(SavableStateProxy),
14 "SavableStateProxy",1,"public DescribedClassProxy",
15 0,create<SavableStateProxy>);
16
17SavableStateProxy::SavableStateProxy(const Ref<KeyVal> &keyval)
18{
19 Ref<StateIn> statein; statein << keyval->describedclassvalue("statein");
20 if (statein.nonnull()) {
21 char *objectname = keyval->pcharvalue("object");
22 StateIn &si = *(statein.pointer());
23 if (keyval->exists("override")) {
24 si.set_override(new PrefixKeyVal(keyval,"override"));
25 }
26 if (objectname) {
27 object_ = SavableState::dir_restore_state(si, objectname);
28 delete[] objectname;
29 }
30 else {
31 object_= SavableState::restore_state(si);
32 }
33 }
34}
35
36Ref<DescribedClass>
37SavableStateProxy::object()
38{
39 return object_.pointer();
40}
41
Note: See TracBrowser for help on using the repository browser.