diff options
author | zxu <zxu@google.com> | 2018-04-05 11:52:07 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-05 11:52:07 -0400 |
commit | db717bf6704b444b093d46f53935402c83441854 (patch) | |
tree | 11f69c3ba737c7509f620f3660d6c8d6057fc2d7 /Firestore/Source/Remote | |
parent | 7257c0d22727a7e94867992aa2f1a3e283dc6bb7 (diff) |
Port transform operations to C++ (#1020)
* port FieldMask to C++
* address changes
* address changes
* fix test
* address change
* Port transform operations (FSTTransformOperation, FSTServerTimestampTransform) to C++
* address changes
* address changes
* address changes
* address change
Diffstat (limited to 'Firestore/Source/Remote')
-rw-r--r-- | Firestore/Source/Remote/FSTSerializerBeta.mm | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/Firestore/Source/Remote/FSTSerializerBeta.mm b/Firestore/Source/Remote/FSTSerializerBeta.mm index 3b6f052..5433154 100644 --- a/Firestore/Source/Remote/FSTSerializerBeta.mm +++ b/Firestore/Source/Remote/FSTSerializerBeta.mm @@ -47,7 +47,9 @@ #include "Firestore/core/src/firebase/firestore/model/field_mask.h" #include "Firestore/core/src/firebase/firestore/model/field_path.h" #include "Firestore/core/src/firebase/firestore/model/resource_path.h" +#include "Firestore/core/src/firebase/firestore/model/transform_operations.h" #include "Firestore/core/src/firebase/firestore/util/string_apple.h" +#include "absl/memory/memory.h" namespace util = firebase::firestore::util; using firebase::firestore::model::DatabaseId; @@ -55,6 +57,8 @@ using firebase::firestore::model::DocumentKey; using firebase::firestore::model::FieldMask; using firebase::firestore::model::FieldPath; using firebase::firestore::model::ResourcePath; +using firebase::firestore::model::ServerTimestampTransform; +using firebase::firestore::model::TransformOperation; NS_ASSUME_NONNULL_BEGIN @@ -562,8 +566,8 @@ NS_ASSUME_NONNULL_BEGIN (NSArray<FSTFieldTransform *> *)fieldTransforms { NSMutableArray *protos = [NSMutableArray array]; for (FSTFieldTransform *fieldTransform in fieldTransforms) { - FSTAssert([fieldTransform.transform isKindOfClass:[FSTServerTimestampTransform class]], - @"Unknown transform: %@", fieldTransform.transform); + FSTAssert(fieldTransform.transform->type() == TransformOperation::Type::ServerTimestamp, + @"Unknown transform: %d type", fieldTransform.transform->type()); GCFSDocumentTransform_FieldTransform *proto = [GCFSDocumentTransform_FieldTransform message]; proto.fieldPath = util::WrapNSString(fieldTransform.path.CanonicalString()); proto.setToServerValue = GCFSDocumentTransform_FieldTransform_ServerValue_RequestTime; @@ -579,11 +583,11 @@ NS_ASSUME_NONNULL_BEGIN FSTAssert( proto.setToServerValue == GCFSDocumentTransform_FieldTransform_ServerValue_RequestTime, @"Unknown transform setToServerValue: %d", proto.setToServerValue); - [fieldTransforms - addObject:[[FSTFieldTransform alloc] - initWithPath:FieldPath::FromServerFormat( - util::MakeStringView(proto.fieldPath)) - transform:[FSTServerTimestampTransform serverTimestampTransform]]]; + [fieldTransforms addObject:[[FSTFieldTransform alloc] + initWithPath:FieldPath::FromServerFormat( + util::MakeStringView(proto.fieldPath)) + transform:absl::make_unique<ServerTimestampTransform>( + ServerTimestampTransform::Get())]]; } return fieldTransforms; } |