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);
        }
Пример #2
0
 public SynchronizedStore(IRecord record, LocalItemStore itemStore)
 {
     if (record == null)
     {
         throw new ArgumentNullException("record");
     }
     if (itemStore == null)
     {
         throw new ArgumentNullException("itemStore");
     }
     m_record = record;
     m_itemStore = itemStore;
     SectionsToFetch = ItemSectionType.Standard;
 }
        internal SynchronizedStore(IRecord record, LocalItemStore localStore, RecordItemChangeTable changeTable)
        {
            if (record == null)
            {
                throw new ArgumentNullException("record");
            }
            if (localStore == null)
            {
                throw new ArgumentNullException("itemStore");
            }
            if (changeTable == null)
            {
                throw new ArgumentNullException("changeTable");
            }

            //m_record = record;
            SectionsToFetch = ItemSectionType.Standard;

            m_localStore = localStore;
            m_remoteStore = new RemoteItemStore(record);
            m_changeManager = new RecordItemChangeManager(this, changeTable);
            m_itemLocks = new RecordItemLockTable();
        }
Пример #4
0
        internal SynchronizedStore(IRecord record, LocalItemStore localStore, RecordItemChangeTable changeTable)
        {
            if (record == null)
            {
                throw new ArgumentNullException("record");
            }
            if (localStore == null)
            {
                throw new ArgumentNullException("itemStore");
            }
            if (changeTable == null)
            {
                throw new ArgumentNullException("changeTable");
            }

            //m_record = record;
            SectionsToFetch = ItemSectionType.Standard;

            m_localStore    = localStore;
            m_remoteStore   = new RemoteItemStore(record);
            m_changeManager = new RecordItemChangeManager(this, changeTable);
            m_itemLocks     = new RecordItemLockTable();
        }
Пример #5
0
        internal async Task EnsureFolders(IObjectStore parentStore, LocalRecordStoreTable recordStoreTable)
        {
            IObjectStore root = await parentStore.CreateChildStoreAsync(m_record.ID);

            IObjectStore child;

            child = await root.CreateChildStoreAsync("Data");

            var itemStore = new LocalItemStore(child, (recordStoreTable != null) ? recordStoreTable.ItemCache : null);
            m_dataStore = new SynchronizedStore(m_record, itemStore);

            child = await root.CreateChildStoreAsync("Metadata");
            m_metadataStore = new LocalStore(child);

            child = await root.CreateChildStoreAsync("Blobs");
            m_blobs = new LocalStore(child);
        }