| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- /*
- * Copyright 2023 Google LLC
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- #import <Foundation/Foundation.h>
- #include <memory>
- #include "Firestore/core/src/api/persistent_cache_index_manager.h"
- NS_ASSUME_NONNULL_BEGIN
- // TODO(sum/avg) move the contents of this category to
- // ../Public/FirebaseFirestore/FIRPersistentCacheIndexManager.h
- /**
- * A PersistentCacheIndexManager which you can config persistent cache indexes used for
- * local query execution.
- */
- NS_SWIFT_NAME(PersistentCacheIndexManager)
- @interface FIRPersistentCacheIndexManager : NSObject
- /** :nodoc: */
- - (instancetype)init
- __attribute__((unavailable("FIRPersistentCacheIndexManager cannot be created directly.")));
- /**
- * Enables SDK to create persistent cache indexes automatically for local query execution when SDK
- * believes cache indexes can help improves performance.
- *
- * This feature is disabled by default.
- */
- - (void)enableIndexAutoCreation NS_SWIFT_NAME(enableIndexAutoCreation());
- /**
- * Stops creating persistent cache indexes automatically for local query execution. The indexes
- * which have been created by calling `enableIndexAutoCreation` still take effect.
- */
- - (void)disableIndexAutoCreation NS_SWIFT_NAME(disableIndexAutoCreation());
- /**
- * Removes all persistent cache indexes. Please note this function will also deletes indexes
- * generated by [[FIRFirestore firestore] setIndexConfigurationFromJSON] and [[FIRFirestore
- * firestore] setIndexConfigurationFromStream], which are deprecated.
- */
- - (void)deleteAllIndexes NS_SWIFT_NAME(deleteAllIndexes());
- @end
- @interface FIRPersistentCacheIndexManager (/* Init */)
- - (instancetype)initWithPersistentCacheIndexManager:
- (std::shared_ptr<const firebase::firestore::api::PersistentCacheIndexManager>)indexManager
- NS_DESIGNATED_INITIALIZER;
- @end
- NS_ASSUME_NONNULL_END
|