summaryrefslogtreecommitdiff
path: root/FireBase/Offline/OfflineCacheAdapter.cs
diff options
context:
space:
mode:
Diffstat (limited to 'FireBase/Offline/OfflineCacheAdapter.cs')
-rw-r--r--FireBase/Offline/OfflineCacheAdapter.cs165
1 files changed, 0 insertions, 165 deletions
diff --git a/FireBase/Offline/OfflineCacheAdapter.cs b/FireBase/Offline/OfflineCacheAdapter.cs
deleted file mode 100644
index a3761a0..0000000
--- a/FireBase/Offline/OfflineCacheAdapter.cs
+++ /dev/null
@@ -1,165 +0,0 @@
-namespace Firebase.Database.Offline
-{
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Linq;
-
- internal class OfflineCacheAdapter<TKey, T> : IDictionary<string, T>, IDictionary
- {
- private readonly IDictionary<string, OfflineEntry> database;
-
- public OfflineCacheAdapter(IDictionary<string, OfflineEntry> database)
- {
- this.database = database;
- }
-
- public void CopyTo(Array array, int index)
- {
- throw new NotImplementedException();
- }
-
- public int Count => this.database.Count;
-
- public bool IsSynchronized { get; }
-
- public object SyncRoot { get; }
-
- public bool IsReadOnly => this.database.IsReadOnly;
-
- object IDictionary.this[object key]
- {
- get
- {
- return this.database[key.ToString()].Deserialize<T>();
- }
-
- set
- {
- var keyString = key.ToString();
- if (this.database.ContainsKey(keyString))
- {
- this.database[keyString] = new OfflineEntry(keyString, value, this.database[keyString].Priority, this.database[keyString].SyncOptions);
- }
- else
- {
- this.database[keyString] = new OfflineEntry(keyString, value, 1, SyncOptions.None);
- }
- }
- }
-
- public ICollection<string> Keys => this.database.Keys;
-
- ICollection IDictionary.Values { get; }
-
- ICollection IDictionary.Keys { get; }
-
- public ICollection<T> Values => this.database.Values.Select(o => o.Deserialize<T>()).ToList();
-
- public T this[string key]
- {
- get
- {
- return this.database[key].Deserialize<T>();
- }
-
- set
- {
- if (this.database.ContainsKey(key))
- {
- this.database[key] = new OfflineEntry(key, value, this.database[key].Priority, this.database[key].SyncOptions);
- }
- else
- {
- this.database[key] = new OfflineEntry(key, value, 1, SyncOptions.None);
- }
- }
- }
-
- public bool Contains(object key)
- {
- return this.ContainsKey(key.ToString());
- }
-
- IDictionaryEnumerator IDictionary.GetEnumerator()
- {
- throw new NotImplementedException();
- }
-
- public void Remove(object key)
- {
- this.Remove(key.ToString());
- }
-
- public bool IsFixedSize => false;
-
- public IEnumerator<KeyValuePair<string, T>> GetEnumerator()
- {
- return this.database.Select(d => new KeyValuePair<string, T>(d.Key, d.Value.Deserialize<T>())).GetEnumerator();
- }
-
- IEnumerator IEnumerable.GetEnumerator()
- {
- return this.GetEnumerator();
- }
-
- public void Add(KeyValuePair<string, T> item)
- {
- this.Add(item.Key, item.Value);
- }
-
- public void Add(object key, object value)
- {
- this.Add(key.ToString(), (T)value);
- }
-
- public void Clear()
- {
- this.database.Clear();
- }
-
- public bool Contains(KeyValuePair<string, T> item)
- {
- return this.ContainsKey(item.Key);
- }
-
- public void CopyTo(KeyValuePair<string, T>[] array, int arrayIndex)
- {
- throw new NotImplementedException();
- }
-
- public bool Remove(KeyValuePair<string, T> item)
- {
- return this.database.Remove(item.Key);
- }
-
- public void Add(string key, T value)
- {
- this.database.Add(key, new OfflineEntry(key, value, 1, SyncOptions.None));
- }
-
- public bool ContainsKey(string key)
- {
- return this.database.ContainsKey(key);
- }
-
- public bool Remove(string key)
- {
- return this.database.Remove(key);
- }
-
- public bool TryGetValue(string key, out T value)
- {
- OfflineEntry val;
-
- if (this.database.TryGetValue(key, out val))
- {
- value = val.Deserialize<T>();
- return true;
- }
-
- value = default(T);
- return false;
- }
- }
-}