internal async Task EnsureStores(IObjectStore parentStore, LocalRecordStoreTable recordStoreTable) { m_root = await parentStore.CreateChildStoreAsync(m_record.ID); IObjectStore child; child = await m_root.CreateChildStoreAsync("Data"); LocalItemStore itemStore = new LocalItemStore(child, (recordStoreTable != null) ? recordStoreTable.ItemCache : null); child = await m_root.CreateChildStoreAsync("Changes"); RecordItemChangeTable changeTable = new RecordItemChangeTable(child, null); m_dataStore = new SynchronizedStore(m_record, itemStore, changeTable); child = await m_root.CreateChildStoreAsync("Metadata"); m_metadataStore = new LocalStore(child); child = await m_root.CreateChildStoreAsync("Blobs"); m_blobs = new LocalStore(child); m_synchronizedTypes = new SynchronizedTypeManager(this); }
internal SynchronizedType(SynchronizedTypeManager typeManager, string typeID) { m_typeID = typeID; m_typeManager = typeManager; m_lock = new CrossThreadLock(false); }