diff options
author | Gil <mcg@google.com> | 2018-01-31 11:23:55 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-31 11:23:55 -0800 |
commit | 729b8d176c75ecc0cbbd137cc6811116a64e310a (patch) | |
tree | 22b793b03611ce5ad615b7c7d9579f5ba5206b4a /Firestore/Source/Local | |
parent | 693d0649bfcc9c32201e2431ae08ea85fdbdb617 (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.h | 14 | ||||
-rw-r--r-- | Firestore/Source/Local/FSTLevelDBKey.h | 4 | ||||
-rw-r--r-- | Firestore/Source/Local/FSTLevelDBMigrations.h | 8 | ||||
-rw-r--r-- | Firestore/Source/Local/FSTLevelDBMutationQueue.h | 11 | ||||
-rw-r--r-- | Firestore/Source/Local/FSTLevelDBQueryCache.h | 15 | ||||
-rw-r--r-- | Firestore/Source/Local/FSTLevelDBRemoteDocumentCache.h | 11 | ||||
-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.h | 13 | ||||
-rw-r--r-- | Firestore/Source/Local/FSTWriteGroupTracker.mm (renamed from Firestore/Source/Local/FSTWriteGroupTracker.m) | 0 | ||||
-rw-r--r-- | Firestore/Source/Local/StringView.h | 4 |
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> |