diff options
Diffstat (limited to 'src/cachestorenids.h')
-rw-r--r-- | src/cachestorenids.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/cachestorenids.h b/src/cachestorenids.h index 40213cd..c6a00ce 100644 --- a/src/cachestorenids.h +++ b/src/cachestorenids.h | |||
@@ -97,6 +97,22 @@ namespace Bu | |||
97 | return key; | 97 | return key; |
98 | } | 98 | } |
99 | 99 | ||
100 | virtual void sync() | ||
101 | { | ||
102 | NidsStream ns = nStore.openStream( 0 ); | ||
103 | Bu::Archive ar( ns, Bu::Archive::save ); | ||
104 | ar << hId; | ||
105 | |||
106 | nStore.sync(); | ||
107 | } | ||
108 | |||
109 | virtual void sync( obtype *pSrc, const keytype &key ) | ||
110 | { | ||
111 | int iStream = hId.get( key ); | ||
112 | NidsStream ns = nStore.openStream( iStream ); | ||
113 | __cacheStoreNidsStore<obtype, keytype>( ns, *pSrc, key ); | ||
114 | } | ||
115 | |||
100 | virtual void destroy( obtype *pObj, const keytype &key ) | 116 | virtual void destroy( obtype *pObj, const keytype &key ) |
101 | { | 117 | { |
102 | int iStream = hId.get( key ); | 118 | int iStream = hId.get( key ); |
@@ -105,6 +121,11 @@ namespace Bu | |||
105 | delete pObj; | 121 | delete pObj; |
106 | } | 122 | } |
107 | 123 | ||
124 | virtual bool has( const keytype &key ) | ||
125 | { | ||
126 | return hId.has( key ); | ||
127 | } | ||
128 | |||
108 | virtual Bu::List<keytype> getKeys() | 129 | virtual Bu::List<keytype> getKeys() |
109 | { | 130 | { |
110 | return hId.getKeys(); | 131 | return hId.getKeys(); |