public SynchronizedView(SynchronizedStore store, ViewData data)
        {
            if (store == null)
            {
                throw new ArgumentNullException("store");
            }
            if (data == null)
            {
                throw new ArgumentNullException("data");
            }

            m_store = store;
            m_data = data;
            this.ReadAheadMode = SynchronizedViewReadAheadMode.Page;
        }
 public RecordItemChangeManager(SynchronizedStore store, RecordItemChangeTable changeTable)
 {
     if (store == null)
     {
         throw new ArgumentNullException("store");
     }
     if (changeTable == null)
     {
         throw new ArgumentNullException("changeTable");
     }
     m_store = store;
     m_changeTable = changeTable;
     m_errorHandler = new RecordItemCommitErrorHandler();
     m_workerController = new WorkerController();
 }
 public SynchronizedView(SynchronizedStore store, ItemQuery query, string name)
     : this(store, new ViewData(query, name))
 {
 }
        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);
        }