diff options
Diffstat (limited to 'Firestore')
-rw-r--r-- | Firestore/CMakeLists.txt | 11 | ||||
-rw-r--r-- | Firestore/core/CMakeLists.txt | 3 | ||||
-rw-r--r-- | Firestore/core/src/firebase/firestore/remote/CMakeLists.txt | 23 | ||||
-rw-r--r-- | Firestore/core/src/firebase/firestore/remote/datastore.cc | 31 | ||||
-rw-r--r-- | Firestore/core/src/firebase/firestore/remote/datastore.h | 40 | ||||
-rw-r--r-- | Firestore/core/test/firebase/firestore/remote/CMakeLists.txt | 22 | ||||
-rw-r--r-- | Firestore/core/test/firebase/firestore/remote/datastore_test.cc | 28 |
7 files changed, 153 insertions, 5 deletions
diff --git a/Firestore/CMakeLists.txt b/Firestore/CMakeLists.txt index 9b90815..4e009e0 100644 --- a/Firestore/CMakeLists.txt +++ b/Firestore/CMakeLists.txt @@ -13,9 +13,9 @@ # limitations under the License. cmake_minimum_required(VERSION 2.8.11) -project(firestore) +project(firestore C CXX) -set(FIREBASE_SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/..") +set(FIREBASE_SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/..) # CMAKE_INSTALL_PREFIX should be passed in to this build so that it can find # outputs of the superbuild. This is handled automatically if run via the @@ -23,13 +23,14 @@ set(FIREBASE_SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/..") # # If you want to use this project directly in e.g. CLion, make sure you # configure this. -set(FIREBASE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}") +set(FIREBASE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}) list(INSERT CMAKE_MODULE_PATH 0 ${FIREBASE_SOURCE_DIR}/cmake) include(utils) find_package(GTest REQUIRED) find_package(LevelDB REQUIRED) +find_package(GRPC REQUIRED) if(APPLE) find_package(FirebaseCore REQUIRED) @@ -41,7 +42,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) # Fully qualified imports, project wide -include_directories("${FIREBASE_SOURCE_DIR}") +include_directories(${FIREBASE_SOURCE_DIR}) if(APPLE) # CMake has no special support for Objective-C as a distinct language but enabling modules and @@ -57,5 +58,5 @@ if(APPLE) endif(APPLE) enable_testing() -add_subdirectory(third_party/abseil-cpp EXCLUDE_FROM_ALL) +add_subdirectory(third_party/abseil-cpp) add_subdirectory(core) diff --git a/Firestore/core/CMakeLists.txt b/Firestore/core/CMakeLists.txt index c49b6db..9291fbd 100644 --- a/Firestore/core/CMakeLists.txt +++ b/Firestore/core/CMakeLists.txt @@ -13,4 +13,7 @@ # limitations under the License. add_subdirectory(src/firebase/firestore/util) +add_subdirectory(src/firebase/firestore/remote) + add_subdirectory(test/firebase/firestore/util) +add_subdirectory(test/firebase/firestore/remote) diff --git a/Firestore/core/src/firebase/firestore/remote/CMakeLists.txt b/Firestore/core/src/firebase/firestore/remote/CMakeLists.txt new file mode 100644 index 0000000..74ad80b --- /dev/null +++ b/Firestore/core/src/firebase/firestore/remote/CMakeLists.txt @@ -0,0 +1,23 @@ +# Copyright 2018 Google +# +# 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. + +add_library( + firebase_firestore_remote + datastore.h + datastore.cc +) +target_link_libraries( + firebase_firestore_remote + grpc::grpc +) diff --git a/Firestore/core/src/firebase/firestore/remote/datastore.cc b/Firestore/core/src/firebase/firestore/remote/datastore.cc new file mode 100644 index 0000000..f8a8988 --- /dev/null +++ b/Firestore/core/src/firebase/firestore/remote/datastore.cc @@ -0,0 +1,31 @@ +/* + * Copyright 2018 Google + * + * 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. + */ + +#include "Firestore/core/src/firebase/firestore/remote/datastore.h" + +namespace firebase { +namespace firestore { +namespace remote { + +Datastore::Datastore() { +} + +Datastore::~Datastore() { +} + +} // namespace remote +} // namespace firestore +} // namespace firebase diff --git a/Firestore/core/src/firebase/firestore/remote/datastore.h b/Firestore/core/src/firebase/firestore/remote/datastore.h new file mode 100644 index 0000000..807b75f --- /dev/null +++ b/Firestore/core/src/firebase/firestore/remote/datastore.h @@ -0,0 +1,40 @@ +/* + * Copyright 2018 Google + * + * 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. + */ + +#ifndef FIRESTORE_CORE_SRC_FIREBASE_FIRESTORE_REMOTE_DATASTORE_H_ +#define FIRESTORE_CORE_SRC_FIREBASE_FIRESTORE_REMOTE_DATASTORE_H_ + +namespace firebase { +namespace firestore { +namespace remote { + +class Datastore { + public: + Datastore(); + ~Datastore(); + + Datastore(const Datastore& other) = delete; + Datastore(Datastore&& other) = delete; + + Datastore& operator=(const Datastore& other) = delete; + Datastore& operator=(Datastore&& other) = delete; +}; + +} // namespace remote +} // namespace firestore +} // namespace firebase + +#endif // FIRESTORE_CORE_SRC_FIREBASE_FIRESTORE_REMOTE_DATASTORE_H_ diff --git a/Firestore/core/test/firebase/firestore/remote/CMakeLists.txt b/Firestore/core/test/firebase/firestore/remote/CMakeLists.txt new file mode 100644 index 0000000..f0731c3 --- /dev/null +++ b/Firestore/core/test/firebase/firestore/remote/CMakeLists.txt @@ -0,0 +1,22 @@ +# Copyright 2018 Google +# +# 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. + +cc_test( + firebase_firestore_remote_test + datastore_test.cc +) +target_link_libraries( + firebase_firestore_remote_test + firebase_firestore_remote +) diff --git a/Firestore/core/test/firebase/firestore/remote/datastore_test.cc b/Firestore/core/test/firebase/firestore/remote/datastore_test.cc new file mode 100644 index 0000000..46a19cc --- /dev/null +++ b/Firestore/core/test/firebase/firestore/remote/datastore_test.cc @@ -0,0 +1,28 @@ +/* + * Copyright 2018 Google + * + * 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. + */ + +#include "Firestore/core/src/firebase/firestore/remote/datastore.h" + +#include <grpc/grpc.h> +#include <gtest/gtest.h> + +TEST(Datastore, CanLinkToGrpc) { + // This test doesn't actually do anything interesting as far as actually + // using gRPC is concerned but that it can run at all is proof that all the + // libraries required for gRPC to work are actually linked correctly into the + // test. + grpc_init(); +} |