aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore/Source/Local
diff options
context:
space:
mode:
authorGravatar Gil <mcg@google.com>2018-01-31 11:23:55 -0800
committerGravatar GitHub <noreply@github.com>2018-01-31 11:23:55 -0800
commit729b8d176c75ecc0cbbd137cc6811116a64e310a (patch)
tree22b793b03611ce5ad615b7c7d9579f5ba5206b4a /Firestore/Source/Local
parent693d0649bfcc9c32201e2431ae08ea85fdbdb617 (diff)
Move all Firestore Objective-C to Objective-C++ (#734)
* Move all Firestore files to Objective-C++ * Update project file references * Don't use module imports from Objective-C++ * Use extern "C" for C-accessible globals * Work around more stringent type checking in Objective-C++ * NSMutableDictionary ivars aren't implicitly casted to NSDictionary * FSTMaybeDocument callback can't be passed a function that accepts FSTDocument * NSComparisonResult can't be multiplied by -1 without casting * Add a #include <inttypes.h> where needed * Avoid using C++ keywords as variables * Remove #if __cplusplus guards
Diffstat (limited to 'Firestore/Source/Local')
-rw-r--r--Firestore/Source/Local/FSTEagerGarbageCollector.mm (renamed from Firestore/Source/Local/FSTEagerGarbageCollector.m)0
-rw-r--r--Firestore/Source/Local/FSTLevelDB.h14
-rw-r--r--Firestore/Source/Local/FSTLevelDBKey.h4
-rw-r--r--Firestore/Source/Local/FSTLevelDBMigrations.h8
-rw-r--r--Firestore/Source/Local/FSTLevelDBMutationQueue.h11
-rw-r--r--Firestore/Source/Local/FSTLevelDBQueryCache.h15
-rw-r--r--Firestore/Source/Local/FSTLevelDBRemoteDocumentCache.h11
-rw-r--r--Firestore/Source/Local/FSTLocalDocumentsView.mm (renamed from Firestore/Source/Local/FSTLocalDocumentsView.m)0
-rw-r--r--Firestore/Source/Local/FSTLocalSerializer.mm (renamed from Firestore/Source/Local/FSTLocalSerializer.m)2
-rw-r--r--Firestore/Source/Local/FSTLocalViewChanges.mm (renamed from Firestore/Source/Local/FSTLocalViewChanges.m)0
-rw-r--r--Firestore/Source/Local/FSTLocalWriteResult.mm (renamed from Firestore/Source/Local/FSTLocalWriteResult.m)0
-rw-r--r--Firestore/Source/Local/FSTMemoryPersistence.mm (renamed from Firestore/Source/Local/FSTMemoryPersistence.m)0
-rw-r--r--Firestore/Source/Local/FSTMemoryQueryCache.mm (renamed from Firestore/Source/Local/FSTMemoryQueryCache.m)0
-rw-r--r--Firestore/Source/Local/FSTMemoryRemoteDocumentCache.mm (renamed from Firestore/Source/Local/FSTMemoryRemoteDocumentCache.m)0
-rw-r--r--Firestore/Source/Local/FSTNoOpGarbageCollector.mm (renamed from Firestore/Source/Local/FSTNoOpGarbageCollector.m)0
-rw-r--r--Firestore/Source/Local/FSTQueryData.mm (renamed from Firestore/Source/Local/FSTQueryData.m)0
-rw-r--r--Firestore/Source/Local/FSTReferenceSet.mm (renamed from Firestore/Source/Local/FSTReferenceSet.m)0
-rw-r--r--Firestore/Source/Local/FSTRemoteDocumentChangeBuffer.mm (renamed from Firestore/Source/Local/FSTRemoteDocumentChangeBuffer.m)0
-rw-r--r--Firestore/Source/Local/FSTWriteGroup.h13
-rw-r--r--Firestore/Source/Local/FSTWriteGroupTracker.mm (renamed from Firestore/Source/Local/FSTWriteGroupTracker.m)0
-rw-r--r--Firestore/Source/Local/StringView.h4
21 files changed, 14 insertions, 68 deletions
diff --git a/Firestore/Source/Local/FSTEagerGarbageCollector.m b/Firestore/Source/Local/FSTEagerGarbageCollector.mm
index 77a577e..77a577e 100644
--- a/Firestore/Source/Local/FSTEagerGarbageCollector.m
+++ b/Firestore/Source/Local/FSTEagerGarbageCollector.mm
diff --git a/Firestore/Source/Local/FSTLevelDB.h b/Firestore/Source/Local/FSTLevelDB.h
index 6819116..520557a 100644
--- a/Firestore/Source/Local/FSTLevelDB.h
+++ b/Firestore/Source/Local/FSTLevelDB.h
@@ -16,17 +16,10 @@
#import <Foundation/Foundation.h>
-#import "Firestore/Source/Local/FSTPersistence.h"
-
-#ifdef __cplusplus
#include <memory>
-namespace leveldb {
-class DB;
-class ReadOptions;
-class Status;
-}
-#endif
+#import "Firestore/Source/Local/FSTPersistence.h"
+#include "leveldb/db.h"
@class FSTDatabaseInfo;
@class FSTLocalSerializer;
@@ -69,7 +62,6 @@ NS_ASSUME_NONNULL_BEGIN
*/
- (BOOL)start:(NSError **)error;
-#ifdef __cplusplus
// What follows is the Objective-C++ extension to the API.
/**
* @return A standard set of read options
@@ -103,8 +95,6 @@ NS_ASSUME_NONNULL_BEGIN
/** The native db pointer, allocated during start. */
@property(nonatomic, assign, readonly) std::shared_ptr<leveldb::DB> ptr;
-#endif
-
@end
NS_ASSUME_NONNULL_END
diff --git a/Firestore/Source/Local/FSTLevelDBKey.h b/Firestore/Source/Local/FSTLevelDBKey.h
index e5e7fbb..f3f4bcf 100644
--- a/Firestore/Source/Local/FSTLevelDBKey.h
+++ b/Firestore/Source/Local/FSTLevelDBKey.h
@@ -14,10 +14,6 @@
* limitations under the License.
*/
-#ifndef __cplusplus
-#error "FSTLevelDBKey is Objective-C++ and can only be included from .mm files"
-#endif
-
#import <Foundation/Foundation.h>
#import "Firestore/Source/Core/FSTTypes.h"
diff --git a/Firestore/Source/Local/FSTLevelDBMigrations.h b/Firestore/Source/Local/FSTLevelDBMigrations.h
index 46c7c93..24fb5c8 100644
--- a/Firestore/Source/Local/FSTLevelDBMigrations.h
+++ b/Firestore/Source/Local/FSTLevelDBMigrations.h
@@ -15,14 +15,10 @@
*/
#import <Foundation/Foundation.h>
-#include <memory>
-#ifdef __cplusplus
+#include <memory>
-namespace leveldb {
-class DB;
-}
-#endif
+#include "leveldb/db.h"
NS_ASSUME_NONNULL_BEGIN
diff --git a/Firestore/Source/Local/FSTLevelDBMutationQueue.h b/Firestore/Source/Local/FSTLevelDBMutationQueue.h
index dd2ed4f..cc05db7 100644
--- a/Firestore/Source/Local/FSTLevelDBMutationQueue.h
+++ b/Firestore/Source/Local/FSTLevelDBMutationQueue.h
@@ -16,15 +16,10 @@
#import <Foundation/Foundation.h>
-#import "Firestore/Source/Local/FSTMutationQueue.h"
-
-#ifdef __cplusplus
#include <memory>
-namespace leveldb {
-class DB;
-}
-#endif
+#import "Firestore/Source/Local/FSTMutationQueue.h"
+#include "leveldb/db.h"
@class FSTLevelDB;
@class FSTLocalSerializer;
@@ -41,7 +36,6 @@ NS_ASSUME_NONNULL_BEGIN
/** The garbage collector to notify about potential garbage keys. */
@property(nonatomic, weak, readwrite, nullable) id<FSTGarbageCollector> garbageCollector;
-#ifdef __cplusplus
/**
* Creates a new mutation queue for the given user, in the given LevelDB.
*
@@ -57,7 +51,6 @@ NS_ASSUME_NONNULL_BEGIN
* returns 0. Note that batch IDs are global.
*/
+ (FSTBatchID)loadNextBatchIDFromDB:(std::shared_ptr<leveldb::DB>)db;
-#endif
@end
diff --git a/Firestore/Source/Local/FSTLevelDBQueryCache.h b/Firestore/Source/Local/FSTLevelDBQueryCache.h
index 67c6575..1f6fbd4 100644
--- a/Firestore/Source/Local/FSTLevelDBQueryCache.h
+++ b/Firestore/Source/Local/FSTLevelDBQueryCache.h
@@ -16,38 +16,30 @@
#import <Foundation/Foundation.h>
-#import "Firestore/Source/Local/FSTQueryCache.h"
-
-#ifdef __cplusplus
#include <memory>
-namespace leveldb {
-class DB;
-}
-#endif
+#import "Firestore/Source/Local/FSTQueryCache.h"
+#include "leveldb/db.h"
@class FSTLocalSerializer;
-@protocol FSTGarbageCollector;
@class FSTPBTargetGlobal;
+@protocol FSTGarbageCollector;
NS_ASSUME_NONNULL_BEGIN
/** Cached Queries backed by LevelDB. */
@interface FSTLevelDBQueryCache : NSObject <FSTQueryCache>
-#ifdef __cplusplus
/**
* Retrieves the global singleton metadata row from the given database, if it exists.
*/
+ (nullable FSTPBTargetGlobal *)readTargetMetadataFromDB:(std::shared_ptr<leveldb::DB>)db;
-#endif
- (instancetype)init NS_UNAVAILABLE;
/** The garbage collector to notify about potential garbage keys. */
@property(nonatomic, weak, readwrite, nullable) id<FSTGarbageCollector> garbageCollector;
-#ifdef __cplusplus
/**
* Creates a new query cache in the given LevelDB.
*
@@ -55,7 +47,6 @@ NS_ASSUME_NONNULL_BEGIN
*/
- (instancetype)initWithDB:(std::shared_ptr<leveldb::DB>)db
serializer:(FSTLocalSerializer *)serializer NS_DESIGNATED_INITIALIZER;
-#endif
@end
diff --git a/Firestore/Source/Local/FSTLevelDBRemoteDocumentCache.h b/Firestore/Source/Local/FSTLevelDBRemoteDocumentCache.h
index 1da3cca..20942e2 100644
--- a/Firestore/Source/Local/FSTLevelDBRemoteDocumentCache.h
+++ b/Firestore/Source/Local/FSTLevelDBRemoteDocumentCache.h
@@ -16,15 +16,10 @@
#import <Foundation/Foundation.h>
-#import "Firestore/Source/Local/FSTRemoteDocumentCache.h"
-
-#ifdef __cplusplus
#include <memory>
-namespace leveldb {
-class DB;
-}
-#endif
+#import "Firestore/Source/Local/FSTRemoteDocumentCache.h"
+#include "leveldb/db.h"
@class FSTLocalSerializer;
@@ -35,7 +30,6 @@ NS_ASSUME_NONNULL_BEGIN
- (instancetype)init NS_UNAVAILABLE;
-#ifdef __cplusplus
/**
* Creates a new remote documents cache in the given leveldb.
*
@@ -43,7 +37,6 @@ NS_ASSUME_NONNULL_BEGIN
*/
- (instancetype)initWithDB:(std::shared_ptr<leveldb::DB>)db
serializer:(FSTLocalSerializer *)serializer NS_DESIGNATED_INITIALIZER;
-#endif
@end
diff --git a/Firestore/Source/Local/FSTLocalDocumentsView.m b/Firestore/Source/Local/FSTLocalDocumentsView.mm
index 0e88958..0e88958 100644
--- a/Firestore/Source/Local/FSTLocalDocumentsView.m
+++ b/Firestore/Source/Local/FSTLocalDocumentsView.mm
diff --git a/Firestore/Source/Local/FSTLocalSerializer.m b/Firestore/Source/Local/FSTLocalSerializer.mm
index 82aec4d..c531c77 100644
--- a/Firestore/Source/Local/FSTLocalSerializer.m
+++ b/Firestore/Source/Local/FSTLocalSerializer.mm
@@ -16,6 +16,8 @@
#import "Firestore/Source/Local/FSTLocalSerializer.h"
+#include <inttypes.h>
+
#import "Firestore/Protos/objc/firestore/local/MaybeDocument.pbobjc.h"
#import "Firestore/Protos/objc/firestore/local/Mutation.pbobjc.h"
#import "Firestore/Protos/objc/firestore/local/Target.pbobjc.h"
diff --git a/Firestore/Source/Local/FSTLocalViewChanges.m b/Firestore/Source/Local/FSTLocalViewChanges.mm
index 9a7f445..9a7f445 100644
--- a/Firestore/Source/Local/FSTLocalViewChanges.m
+++ b/Firestore/Source/Local/FSTLocalViewChanges.mm
diff --git a/Firestore/Source/Local/FSTLocalWriteResult.m b/Firestore/Source/Local/FSTLocalWriteResult.mm
index c1753fe..c1753fe 100644
--- a/Firestore/Source/Local/FSTLocalWriteResult.m
+++ b/Firestore/Source/Local/FSTLocalWriteResult.mm
diff --git a/Firestore/Source/Local/FSTMemoryPersistence.m b/Firestore/Source/Local/FSTMemoryPersistence.mm
index e301820..e301820 100644
--- a/Firestore/Source/Local/FSTMemoryPersistence.m
+++ b/Firestore/Source/Local/FSTMemoryPersistence.mm
diff --git a/Firestore/Source/Local/FSTMemoryQueryCache.m b/Firestore/Source/Local/FSTMemoryQueryCache.mm
index bcab174..bcab174 100644
--- a/Firestore/Source/Local/FSTMemoryQueryCache.m
+++ b/Firestore/Source/Local/FSTMemoryQueryCache.mm
diff --git a/Firestore/Source/Local/FSTMemoryRemoteDocumentCache.m b/Firestore/Source/Local/FSTMemoryRemoteDocumentCache.mm
index 9bbc047..9bbc047 100644
--- a/Firestore/Source/Local/FSTMemoryRemoteDocumentCache.m
+++ b/Firestore/Source/Local/FSTMemoryRemoteDocumentCache.mm
diff --git a/Firestore/Source/Local/FSTNoOpGarbageCollector.m b/Firestore/Source/Local/FSTNoOpGarbageCollector.mm
index e03b599..e03b599 100644
--- a/Firestore/Source/Local/FSTNoOpGarbageCollector.m
+++ b/Firestore/Source/Local/FSTNoOpGarbageCollector.mm
diff --git a/Firestore/Source/Local/FSTQueryData.m b/Firestore/Source/Local/FSTQueryData.mm
index 6bb716a..6bb716a 100644
--- a/Firestore/Source/Local/FSTQueryData.m
+++ b/Firestore/Source/Local/FSTQueryData.mm
diff --git a/Firestore/Source/Local/FSTReferenceSet.m b/Firestore/Source/Local/FSTReferenceSet.mm
index 2acd64b..2acd64b 100644
--- a/Firestore/Source/Local/FSTReferenceSet.m
+++ b/Firestore/Source/Local/FSTReferenceSet.mm
diff --git a/Firestore/Source/Local/FSTRemoteDocumentChangeBuffer.m b/Firestore/Source/Local/FSTRemoteDocumentChangeBuffer.mm
index bca587a..bca587a 100644
--- a/Firestore/Source/Local/FSTRemoteDocumentChangeBuffer.m
+++ b/Firestore/Source/Local/FSTRemoteDocumentChangeBuffer.mm
diff --git a/Firestore/Source/Local/FSTWriteGroup.h b/Firestore/Source/Local/FSTWriteGroup.h
index 5ea0387..c21ff72 100644
--- a/Firestore/Source/Local/FSTWriteGroup.h
+++ b/Firestore/Source/Local/FSTWriteGroup.h
@@ -16,17 +16,10 @@
#import <Foundation/Foundation.h>
-#ifdef __cplusplus
#include <memory>
#include "Firestore/Source/Local/StringView.h"
-
-namespace leveldb {
-class DB;
-class Status;
-}
-
-#endif
+#include "leveldb/db.h"
NS_ASSUME_NONNULL_BEGIN
@@ -61,8 +54,6 @@ NS_ASSUME_NONNULL_BEGIN
/** Returns YES if the write group has no messages in it. */
- (BOOL)isEmpty;
-#ifdef __cplusplus
-
/**
* Marks the given key for deletion.
*
@@ -90,8 +81,6 @@ NS_ASSUME_NONNULL_BEGIN
/** Writes the contents to the given LevelDB. */
- (leveldb::Status)writeToDB:(std::shared_ptr<leveldb::DB>)db;
-#endif
-
@end
NS_ASSUME_NONNULL_END
diff --git a/Firestore/Source/Local/FSTWriteGroupTracker.m b/Firestore/Source/Local/FSTWriteGroupTracker.mm
index 7e3bf60..7e3bf60 100644
--- a/Firestore/Source/Local/FSTWriteGroupTracker.m
+++ b/Firestore/Source/Local/FSTWriteGroupTracker.mm
diff --git a/Firestore/Source/Local/StringView.h b/Firestore/Source/Local/StringView.h
index 8156193..4e36cff 100644
--- a/Firestore/Source/Local/StringView.h
+++ b/Firestore/Source/Local/StringView.h
@@ -17,10 +17,6 @@
#ifndef IPHONE_FIRESTORE_SOURCE_LOCAL_STRING_VIEW_H_
#define IPHONE_FIRESTORE_SOURCE_LOCAL_STRING_VIEW_H_
-#ifndef __cplusplus
-#error "StringView is Objective-C++ and can only be included from .mm files"
-#endif
-
#import <Foundation/Foundation.h>
#include <leveldb/slice.h>