aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore/Source/Local/FSTLevelDB.mm
diff options
context:
space:
mode:
Diffstat (limited to 'Firestore/Source/Local/FSTLevelDB.mm')
-rw-r--r--Firestore/Source/Local/FSTLevelDB.mm25
1 files changed, 17 insertions, 8 deletions
diff --git a/Firestore/Source/Local/FSTLevelDB.mm b/Firestore/Source/Local/FSTLevelDB.mm
index d163ed5..7fb3a66 100644
--- a/Firestore/Source/Local/FSTLevelDB.mm
+++ b/Firestore/Source/Local/FSTLevelDB.mm
@@ -19,18 +19,24 @@
#include <leveldb/db.h>
#import "FIRFirestoreErrors.h"
-#import "Firestore/Source/Core/FSTDatabaseInfo.h"
#import "Firestore/Source/Local/FSTLevelDBMigrations.h"
#import "Firestore/Source/Local/FSTLevelDBMutationQueue.h"
#import "Firestore/Source/Local/FSTLevelDBQueryCache.h"
#import "Firestore/Source/Local/FSTLevelDBRemoteDocumentCache.h"
#import "Firestore/Source/Local/FSTWriteGroup.h"
#import "Firestore/Source/Local/FSTWriteGroupTracker.h"
-#import "Firestore/Source/Model/FSTDatabaseID.h"
#import "Firestore/Source/Remote/FSTSerializerBeta.h"
#import "Firestore/Source/Util/FSTAssert.h"
#import "Firestore/Source/Util/FSTLogger.h"
+#include "Firestore/core/src/firebase/firestore/core/database_info.h"
+#include "Firestore/core/src/firebase/firestore/model/database_id.h"
+#include "Firestore/core/src/firebase/firestore/util/string_apple.h"
+
+namespace util = firebase::firestore::util;
+using firebase::firestore::core::DatabaseInfo;
+using firebase::firestore::model::DatabaseId;
+
NS_ASSUME_NONNULL_BEGIN
static NSString *const kReservedPathComponent = @"firestore";
@@ -89,7 +95,7 @@ using leveldb::WriteOptions;
#endif
}
-+ (NSString *)storageDirectoryForDatabaseInfo:(FSTDatabaseInfo *)databaseInfo
++ (NSString *)storageDirectoryForDatabaseInfo:(const DatabaseInfo &)databaseInfo
documentsDirectory:(NSString *)documentsDirectory {
// Use two different path formats:
//
@@ -99,11 +105,14 @@ using leveldb::WriteOptions;
// projectIDs are DNS-compatible names and cannot contain dots so there's
// no danger of collisions.
NSString *directory = documentsDirectory;
- directory = [directory stringByAppendingPathComponent:databaseInfo.persistenceKey];
-
- NSString *segment = databaseInfo.databaseID.projectID;
- if (![databaseInfo.databaseID isDefaultDatabase]) {
- segment = [NSString stringWithFormat:@"%@.%@", segment, databaseInfo.databaseID.databaseID];
+ directory = [directory
+ stringByAppendingPathComponent:util::WrapNSStringNoCopy(databaseInfo.persistence_key())];
+
+ NSString *segment = util::WrapNSStringNoCopy(databaseInfo.database_id().project_id());
+ if (!databaseInfo.database_id().IsDefaultDatabase()) {
+ segment = [NSString
+ stringWithFormat:@"%@.%@", segment,
+ util::WrapNSStringNoCopy(databaseInfo.database_id().database_id())];
}
directory = [directory stringByAppendingPathComponent:segment];