From c5bee40abb197ffa8521486e477945fc9c5f376a Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Sat, 4 Nov 2023 15:40:50 -0700 Subject: [PATCH 01/60] use SHA hash for pinning cosign-installer version --- .github/workflows/docker-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 1e96f352..c4b4b9aa 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -51,7 +51,7 @@ jobs: - name: cosign-installer if: github.event_name != 'pull_request' - uses: sigstore/cosign-installer@v3.1.2 + uses: sigstore/cosign-installer@11086d25041f77fe8fe7b9ea4e48e3b9192b8f19 # v3.1.2 # Workaround: https://github.com/docker/build-push-action/issues/461 - name: Setup Docker buildx From 3299f615c97deb3ad9bf882dbf6b9e51d3245feb Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Sat, 4 Nov 2023 15:41:25 -0700 Subject: [PATCH 02/60] use full relative path to data file when printing a parse_info/parse_error --- OdbDesignLib/FileModel/parse_info.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OdbDesignLib/FileModel/parse_info.cpp b/OdbDesignLib/FileModel/parse_info.cpp index 35251296..978c349c 100644 --- a/OdbDesignLib/FileModel/parse_info.cpp +++ b/OdbDesignLib/FileModel/parse_info.cpp @@ -14,7 +14,7 @@ namespace Odb::Lib::FileModel if (!dataFile.empty() || !dataLine.empty() || !dataToken.empty()) { - ss << "current file: [" << dataFile.filename().string() << ":" << dataLineNumber << "]" << std::endl + ss << "current file: [" << dataFile.relative_path().string() << ":" << dataLineNumber << "]" << std::endl << "current line: [" << dataLine << "]" << std::endl << "current token: [" << dataToken << "]"; } From 13c006e8a22ac46edc47f42d4cec936305ce3360 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Sat, 4 Nov 2023 15:41:36 -0700 Subject: [PATCH 03/60] remove blank line --- OdbDesignTests/CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/OdbDesignTests/CMakeLists.txt b/OdbDesignTests/CMakeLists.txt index 3a27a32e..4e9964dc 100644 --- a/OdbDesignTests/CMakeLists.txt +++ b/OdbDesignTests/CMakeLists.txt @@ -5,7 +5,6 @@ enable_testing() add_executable(OdbDesignTests OdbDesignTests.h - "FileArchiveLoadFixture.h" "FileArchiveLoadFixture.cpp" "FileArchiveLoadTests.cpp" "TestTests.cpp") From 24c95effc22043b4b3051653a7eb570fe258ca40 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Sat, 4 Nov 2023 15:41:49 -0700 Subject: [PATCH 04/60] add tests for final samples --- OdbDesignTests/FileArchiveLoadTests.cpp | 49 ++++++++++++++++++------- 1 file changed, 36 insertions(+), 13 deletions(-) diff --git a/OdbDesignTests/FileArchiveLoadTests.cpp b/OdbDesignTests/FileArchiveLoadTests.cpp index b11b9507..b9c37763 100644 --- a/OdbDesignTests/FileArchiveLoadTests.cpp +++ b/OdbDesignTests/FileArchiveLoadTests.cpp @@ -110,21 +110,25 @@ namespace Odb::Test ASSERT_NE(pFileArchive, nullptr); } -#endif // (RUN_SUCCEEDING_TESTS || RUN_ALL_TESTS) + TEST_F(FileArchiveLoadFixture, Load_FileArchive_Succeeds_Panel__Mss_Demo_Project_tgz) + { + auto pFileArchive = m_pDesignCache->GetFileArchive("Panel - Mss_Demo_Project"); + ASSERT_NE(pFileArchive, nullptr); + } - //TEST_F(FileArchiveLoadFixture, Load_FileArchive_Succeeds_Panel__Demo1230_tgz) - //{ - // auto pFileArchive = m_pDesignCache->GetFileArchive("Panel - Demo1230"); - // ASSERT_NE(pFileArchive, nullptr); - //} + TEST_F(FileArchiveLoadFixture, Load_FileArchive_Succeeds_roundboard_tgz) + { + auto pFileArchive = m_pDesignCache->GetFileArchive("roundboard"); + ASSERT_NE(pFileArchive, nullptr); + } - //TEST_F(FileArchiveLoadFixture, Load_FileArchive_Succeeds_designodb_zip) - //{ - // auto pFileArchive = m_pDesignCache->GetFileArchive("designodb"); - // ASSERT_NE(pFileArchive, nullptr); - //} + TEST_F(FileArchiveLoadFixture, Load_FileArchive_Succeeds_Panel__vplanproject_1230_tgz) + { + auto pFileArchive = m_pDesignCache->GetFileArchive("Panel - vplanproject_1230"); + ASSERT_NE(pFileArchive, nullptr); + } - +#endif // (RUN_SUCCEEDING_TESTS || RUN_ALL_TESTS) // // Fails @@ -178,7 +182,8 @@ namespace Odb::Test // //Parse Error: //current file : [data:73383] - //current line : [PIN PIN_61 T - 14.1 0 0 N R ID = 3996] + //current line : [PIN PIN_61 T -14.1 0 0 N R ID=3996] + // ~^~ //current token : [N] //location : EdaDataFile.cpp : 824 @@ -199,6 +204,24 @@ namespace Odb::Test parse_error); } + TEST_F(FileArchiveLoadFixture, Load_FileArchive_Fails_Panel__Rotation_Test_Board_tgz) + { + // throws parse_error because: + // + //Parse Error : + //current file : [designs\Panel - Rotation Test Board\Panel - Rotation Test Board\steps\rotation - test - board\eda\data\data:180] + //current line : [PIN 1 U -0.3984522 -0.0977426 0 U U ID=30] + // ~^~ + //current token : [U] + //location : EdaDataFile.cpp : 790 + + EXPECT_THROW( + { + auto pFileArchive = m_pDesignCache->GetFileArchive("Panel - Rotation Test Board"); + }, + parse_error); + } + #endif // (RUN_FAILING_TESTS || RUN_ALL_TESTS) } \ No newline at end of file From a73f2063eb92fd5447e955cd776de9a0e6b5868a Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Sat, 4 Nov 2023 15:42:11 -0700 Subject: [PATCH 05/60] minor formatting --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index befb28a6..b6c52b6c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,7 +14,9 @@ set(CMAKE_CXX_STANDARD_REQUIRED True) # required for SWIG python wrapper #set(CMAKE_POSITION_INDEPENDENT_CODE ON) +# # GoogleTest support +# include(FetchContent) FetchContent_Declare( googletest @@ -70,8 +72,6 @@ add_subdirectory("OdbDesignTests") # # Doxygen # - -# look for Doxygen package find_package(Doxygen) if (DOXYGEN_FOUND) From bc8e359ae8aa31cad21ed3b6445244c96bc29839 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Sun, 5 Nov 2023 11:16:24 -0800 Subject: [PATCH 06/60] ignore generated test directories --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index fb182499..f1008bb8 100644 --- a/.gitignore +++ b/.gitignore @@ -24,7 +24,8 @@ build/ /cmake-build-debug-visual-studio /.idea/workspace.xml ssl/ -Testing/Temporary/ artifacts/ doxygen/docs/ /TEST_DATA +OdbDesignTests/Testing/ +Testing/ From 802405b3057099043e0c7d0f11cc7a22bdc76997 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Sun, 5 Nov 2023 11:22:32 -0800 Subject: [PATCH 07/60] run workflows on nam20485 branch --- .github/workflows/cmake-multi-platform.yml | 4 ++-- .github/workflows/codeql.yml | 4 ++-- .github/workflows/dependency-review.yml | 2 +- .github/workflows/docker-publish.yml | 4 ++-- .github/workflows/docker-scout-scan.yml | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index 513299ba..c318e86c 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -3,9 +3,9 @@ name: CMake Build Multi-Platform on: push: - branches: [ "development", "main", "release" ] + branches: [ "development", "main", "release", "nam20485" ] pull_request: - branches: [ "development", "main", "release" ] + branches: [ "development", "main", "release", "nam20485" ] permissions: contents: read diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 3047c5c7..e3009e2d 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -13,9 +13,9 @@ name: "CodeQL Security Scan" on: push: - branches: [ "development", "main", "release" ] + branches: [ "development", "main", "release", "nam20485" ] pull_request: - branches: [ "development", "main", "release" ] + branches: [ "development", "main", "release", "nam20485" ] env: VCPKG_ROOT: ${{ github.workspace }}/vcpkg diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index 0bb334d0..0977e57e 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -9,7 +9,7 @@ name: 'Dependency Review' on: pull_request: - branches: [ "main", "release", "development" ] + branches: [ "main", "release", "development", "nam20485" ] permissions: contents: read diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index c4b4b9aa..f9e6c75c 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -7,9 +7,9 @@ name: Docker Publish on: push: - branches: [ "development", "main", "release" ] + branches: [ "development", "main", "release", "nam20485" ] pull_request: - branches: [ "development", "main", "release" ] + branches: [ "development", "main", "release", "nam20485" ] env: # Use docker.io for Docker Hub if empty diff --git a/.github/workflows/docker-scout-scan.yml b/.github/workflows/docker-scout-scan.yml index 768cb9b6..ba131987 100644 --- a/.github/workflows/docker-scout-scan.yml +++ b/.github/workflows/docker-scout-scan.yml @@ -7,9 +7,9 @@ name: Docker Scout Scan on: push: - branches: [ "development", "main", "release" ] + branches: [ "development", "main", "release", "nam20485" ] pull_request: - branches: [ "development", "main", "release" ] + branches: [ "development", "main", "release", "nam20485" ] env: # Use docker.io for Docker Hub if empty From d1ed3ed03800b5680b64a5180851015b70019a49 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Sun, 5 Nov 2023 11:23:03 -0800 Subject: [PATCH 08/60] fix run tests command and add step to report test result to github --- .github/workflows/cmake-multi-platform.yml | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index c318e86c..edaff59c 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -142,7 +142,22 @@ jobs: run: cmake --build --preset ${{matrix.preset}} - name: CMake Test - run: ctest --preset ${{matrix.preset}} -V + id: cmake-test + run: | + cd ./out/build/${{matrix.preset}}/OdbDesignTests + ctest -V -O testlog.txt --output-junit testlog.xml + # let the report step fail the job if it finds failed tests + continue-on-error: true + + # report test results + - name: Report Test Results + uses: dorny/test-reporter@v1.7.0 + if: ${{steps.cmake-test.outcome}} == 'success' || ${{steps.cmake-test.outcome}} == 'failure' + with: + name: ${{ matrix.os }}_test-results + path: ./out/build/${{matrix.preset}}/OdbDesignTests/testlog.xml + reporter: junit-xml + fail-on-error: true # # Artifacts From a33dee03677f4b61362e6543daa8497996158116 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Sun, 5 Nov 2023 11:37:00 -0800 Subject: [PATCH 09/60] fix value for test-reporter input --- .github/workflows/cmake-multi-platform.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index edaff59c..f7ce2d3f 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -156,7 +156,7 @@ jobs: with: name: ${{ matrix.os }}_test-results path: ./out/build/${{matrix.preset}}/OdbDesignTests/testlog.xml - reporter: junit-xml + reporter: java-junit fail-on-error: true # From 636bc91914467411cc6d72ac3a03c17c75c56efb Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Sun, 5 Nov 2023 11:47:50 -0800 Subject: [PATCH 10/60] add checks: write permission to job needed for test results report step --- .github/workflows/cmake-multi-platform.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index f7ce2d3f..6200b97e 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -25,6 +25,7 @@ jobs: runs-on: ${{ matrix.os }} permissions: contents: write + checks: write strategy: # Set fail-fast to false to ensure that feedback is delivered for all matrix combinations. Consider changing this to true when your workflow is stable. From 4d5bbc70e6607d13bfb0eba454247fddb91bd358 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Sun, 5 Nov 2023 12:23:02 -0800 Subject: [PATCH 11/60] run ctest from main workspace directory and specify tests directory via arguments --- .github/workflows/cmake-multi-platform.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index 6200b97e..7b4bda2a 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -144,9 +144,7 @@ jobs: - name: CMake Test id: cmake-test - run: | - cd ./out/build/${{matrix.preset}}/OdbDesignTests - ctest -V -O testlog.txt --output-junit testlog.xml + run: ctest --test-dir ./out/build/${{matrix.preset}}/OdbDesignTests --output-log testlog.txt --output-junit testlog.xml -V # let the report step fail the job if it finds failed tests continue-on-error: true @@ -156,7 +154,7 @@ jobs: if: ${{steps.cmake-test.outcome}} == 'success' || ${{steps.cmake-test.outcome}} == 'failure' with: name: ${{ matrix.os }}_test-results - path: ./out/build/${{matrix.preset}}/OdbDesignTests/testlog.xml + path: testlog.xml reporter: java-junit fail-on-error: true From 3404f63ec928d6245d55718c123cc67923455120 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Sun, 5 Nov 2023 12:23:21 -0800 Subject: [PATCH 12/60] ignore generated test log files --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index f1008bb8..6bb67f55 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,6 @@ doxygen/docs/ /TEST_DATA OdbDesignTests/Testing/ Testing/ +testlog.txt +testlog.txt.tmp28357 +testlog.xml From 24918a1d320af19e924c840310571efde55f6689 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Sun, 5 Nov 2023 12:24:04 -0800 Subject: [PATCH 13/60] ignore generated test log tmp files --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 6bb67f55..1e1632cf 100644 --- a/.gitignore +++ b/.gitignore @@ -30,5 +30,5 @@ doxygen/docs/ OdbDesignTests/Testing/ Testing/ testlog.txt -testlog.txt.tmp28357 +testlog.txt.tmp* testlog.xml From 5d2ff2ab12f5d8f8d99ec4e2b9bf33ed0e49fb75 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Sun, 5 Nov 2023 12:32:53 -0800 Subject: [PATCH 14/60] fix path to junit test output log --- .github/workflows/cmake-multi-platform.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index 7b4bda2a..90e04db3 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -154,7 +154,7 @@ jobs: if: ${{steps.cmake-test.outcome}} == 'success' || ${{steps.cmake-test.outcome}} == 'failure' with: name: ${{ matrix.os }}_test-results - path: testlog.xml + path: ./out/build/${{matrix.preset}}/OdbDesignTests/testlog.xml reporter: java-junit fail-on-error: true From ca697795507aced03993c5e086a0b7d52d95bbc5 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Sun, 5 Nov 2023 13:15:16 -0800 Subject: [PATCH 15/60] move testlog.xml test result output file to workspace dir root --- .github/workflows/cmake-multi-platform.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index 90e04db3..c94ef2b8 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -144,7 +144,7 @@ jobs: - name: CMake Test id: cmake-test - run: ctest --test-dir ./out/build/${{matrix.preset}}/OdbDesignTests --output-log testlog.txt --output-junit testlog.xml -V + run: ctest --test-dir ./out/build/${{matrix.preset}}/OdbDesignTests --output-log ${{github.workspace}}/testlog.txt --output-junit ${{github.workspace}}/testlog.xml -V # let the report step fail the job if it finds failed tests continue-on-error: true @@ -154,7 +154,7 @@ jobs: if: ${{steps.cmake-test.outcome}} == 'success' || ${{steps.cmake-test.outcome}} == 'failure' with: name: ${{ matrix.os }}_test-results - path: ./out/build/${{matrix.preset}}/OdbDesignTests/testlog.xml + path: ${{github.workspace}}/testlog.xml reporter: java-junit fail-on-error: true From 1d94ea031be6c21d9a62230180db9786d4336da6 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Sun, 5 Nov 2023 13:28:41 -0800 Subject: [PATCH 16/60] disable running automated tests --- .github/workflows/cmake-multi-platform.yml | 28 +++++++++++----------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index c94ef2b8..1fc7d89d 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -142,21 +142,21 @@ jobs: - name: CMake Build run: cmake --build --preset ${{matrix.preset}} - - name: CMake Test - id: cmake-test - run: ctest --test-dir ./out/build/${{matrix.preset}}/OdbDesignTests --output-log ${{github.workspace}}/testlog.txt --output-junit ${{github.workspace}}/testlog.xml -V - # let the report step fail the job if it finds failed tests - continue-on-error: true + # - name: CMake Test + # id: cmake-test + # run: ctest --test-dir ./out/build/${{matrix.preset}}/OdbDesignTests --output-log ${{github.workspace}}/testlog.txt --output-junit ${{github.workspace}}/testlog.xml -V + # # let the report step fail the job if it finds failed tests + # continue-on-error: true - # report test results - - name: Report Test Results - uses: dorny/test-reporter@v1.7.0 - if: ${{steps.cmake-test.outcome}} == 'success' || ${{steps.cmake-test.outcome}} == 'failure' - with: - name: ${{ matrix.os }}_test-results - path: ${{github.workspace}}/testlog.xml - reporter: java-junit - fail-on-error: true + # # report test results + # - name: Report Test Results + # uses: dorny/test-reporter@v1.7.0 + # if: ${{steps.cmake-test.outcome}} == 'success' || ${{steps.cmake-test.outcome}} == 'failure' + # with: + # name: ${{ matrix.os }}_test-results + # path: ${{github.workspace}}/testlog.xml + # reporter: java-junit + # fail-on-error: true # # Artifacts From cabd8e2c2b5a63d9517bb49df9bd4548e8f47dc9 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Sun, 5 Nov 2023 13:32:41 -0800 Subject: [PATCH 17/60] add missing comma in string array --- OdbDesignLib/FileModel/Design/MatrixFile.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OdbDesignLib/FileModel/Design/MatrixFile.h b/OdbDesignLib/FileModel/Design/MatrixFile.h index 71ddab13..79e7bd42 100644 --- a/OdbDesignLib/FileModel/Design/MatrixFile.h +++ b/OdbDesignLib/FileModel/Design/MatrixFile.h @@ -118,7 +118,7 @@ namespace Odb::Lib::FileModel::Design "ADD_TYPE", "ID", "DIELECTRIC_TYPE", - "DIELECTRIC_NAME" + "DIELECTRIC_NAME", "FORM", "CU_TOP", "CU_BOTTOM", From f88adaeb6884ba8b75d4d7cd871e09e97197abc6 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Mon, 6 Nov 2023 15:32:22 -0800 Subject: [PATCH 18/60] don't throw exception when test data dir path can't be fetched from ebv var or does not exist on disk and also don't remove uncompressed directories --- OdbDesignTests/FileArchiveLoadFixture.cpp | 30 +++++++---------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/OdbDesignTests/FileArchiveLoadFixture.cpp b/OdbDesignTests/FileArchiveLoadFixture.cpp index a6325f84..fbd08d44 100644 --- a/OdbDesignTests/FileArchiveLoadFixture.cpp +++ b/OdbDesignTests/FileArchiveLoadFixture.cpp @@ -28,8 +28,8 @@ namespace Odb::Test std::string FileArchiveLoadFixture::getTestDataDir() { auto szTestDataDir = std::getenv("ODB_TEST_DATA_DIR"); - if (szTestDataDir == nullptr) throw std::runtime_error("ODB_TEST_DATA_DIR environment variable is not set"); - if (!exists(szTestDataDir)) throw std::runtime_error("ODB_TEST_DATA_DIR environment variable is set to a non-existent directory"); + //if (szTestDataDir == nullptr) throw std::runtime_error("ODB_TEST_DATA_DIR environment variable is not set"); + //if (!exists(szTestDataDir)) throw std::runtime_error("ODB_TEST_DATA_DIR environment variable is set to a non-existent directory"); return szTestDataDir; } @@ -37,29 +37,17 @@ namespace Odb::Test { if (m_removeDecompressedDirectories) { - //if (!m_pDesignCache->getLoadedDesignNames().empty()) - //{ - // for (const auto& loadedName : m_pDesignCache->getLoadedFileArchiveNames()) - // { - // if (is_directory(getDesignPath(loadedName))) - // { - // remove_all(getDesignPath(loadedName)); - // } - // } - //} - //else - //{ - - // delete uncompressed directories - for (const auto& entry : directory_iterator(m_testDataDir)) + if (exists(m_testDataDir)) { - if (is_directory(entry)) + // delete uncompressed directories + for (const auto& entry : directory_iterator(m_testDataDir)) { - remove_all(entry.path()); + if (is_directory(entry)) + { + remove_all(entry.path()); + } } } - - //} } } From ce94955a01e23a4ddab544cf04d615c82e74762e Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Mon, 6 Nov 2023 15:32:42 -0800 Subject: [PATCH 19/60] ignore local tests file --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 1e1632cf..80f63203 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,4 @@ Testing/ testlog.txt testlog.txt.tmp* testlog.xml +/OdbDesignTests/FileArchiveLoadTests_Local.cpp From 1db7153d7b3b73085d2eeeb5c882a590f50aec3a Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Mon, 6 Nov 2023 15:33:12 -0800 Subject: [PATCH 20/60] add test --- OdbDesignTests/FileArchiveLoadTests.cpp | 144 ++---------------------- 1 file changed, 9 insertions(+), 135 deletions(-) diff --git a/OdbDesignTests/FileArchiveLoadTests.cpp b/OdbDesignTests/FileArchiveLoadTests.cpp index b9c37763..7e7e6a03 100644 --- a/OdbDesignTests/FileArchiveLoadTests.cpp +++ b/OdbDesignTests/FileArchiveLoadTests.cpp @@ -19,19 +19,7 @@ namespace Odb::Test #endif #if (RUN_SUCCEEDING_TESTS || RUN_ALL_TESTS) - - TEST_F(FileArchiveLoadFixture, Load_FileArchive_Succeeds_Turbot_zip) - { - auto pFileArchive = m_pDesignCache->GetFileArchive("Turbot"); - ASSERT_NE(pFileArchive, nullptr); - } - - TEST_F(FileArchiveLoadFixture, Load_FileArchive_Succeeds_35041017_rev1_odbjob_v7_tgz) - { - auto pFileArchive = m_pDesignCache->GetFileArchive("350-41017_rev1_odbjob_v7"); - ASSERT_NE(pFileArchive, nullptr); - } - + TEST_F(FileArchiveLoadFixture, Load_FileArchive_Succeeds_sample_design_tgz) { auto pFileArchive = m_pDesignCache->GetFileArchive("sample_design"); @@ -44,90 +32,6 @@ namespace Odb::Test ASSERT_NE(pFileArchive, nullptr); } - TEST_F(FileArchiveLoadFixture, Load_FileArchive_Succeeds_200_40628_Rev1_v7_tgz) - { - auto pFileArchive = m_pDesignCache->GetFileArchive("200-40628_Rev1_v7"); - ASSERT_NE(pFileArchive, nullptr); - } - - TEST_F(FileArchiveLoadFixture, Load_FileArchive_Succeeds_odb_zip) - { - auto pFileArchive = m_pDesignCache->GetFileArchive("odb"); - ASSERT_NE(pFileArchive, nullptr); - } - - TEST_F(FileArchiveLoadFixture, Load_FileArchive_Succeeds_Panel__Demo1210_zip) - { - auto pFileArchive = m_pDesignCache->GetFileArchive("Panel - Demo1210"); - ASSERT_NE(pFileArchive, nullptr); - } - - TEST_F(FileArchiveLoadFixture, Load_FileArchive_Succeeds_Panel__g7162_31800_odb_tgz) - { - auto pFileArchive = m_pDesignCache->GetFileArchive("Panel - g7162-31800_odb"); - ASSERT_NE(pFileArchive, nullptr); - } - - TEST_F(FileArchiveLoadFixture, Load_FileArchive_Succeeds_3_1712_xxa00odb_zip) - { - auto pFileArchive = m_pDesignCache->GetFileArchive("3.1712.xxa00odb"); - ASSERT_NE(pFileArchive, nullptr); - } - - TEST_F(FileArchiveLoadFixture, Load_FileArchive_Succeeds_ap50132476_tgz) - { - auto pFileArchive = m_pDesignCache->GetFileArchive("ap50132476"); - ASSERT_NE(pFileArchive, nullptr); - } - - TEST_F(FileArchiveLoadFixture, Load_FileArchive_Succeeds_comav331NEW_DFT_DFT_TGZ) - { - auto pFileArchive = m_pDesignCache->GetFileArchive("comav331NEW_DFT_DFT"); - ASSERT_NE(pFileArchive, nullptr); - } - - TEST_F(FileArchiveLoadFixture, Load_FileArchive_Succeeds_design_1_no_bom_tgz) - { - auto pFileArchive = m_pDesignCache->GetFileArchive("design_1_no_bom"); - ASSERT_NE(pFileArchive, nullptr); - } - - TEST_F(FileArchiveLoadFixture, Load_FileArchive_Succeeds_designodb_zip) - { - auto pFileArchive = m_pDesignCache->GetFileArchive("designodb"); - ASSERT_NE(pFileArchive, nullptr); - } - - TEST_F(FileArchiveLoadFixture, Load_FileArchive_Succeeds_kitara_tgz) - { - auto pFileArchive = m_pDesignCache->GetFileArchive("kitara"); - ASSERT_NE(pFileArchive, nullptr); - } - - TEST_F(FileArchiveLoadFixture, Load_FileArchive_Succeeds_PAB_SAYISAL_KART_RevX2_tgz) - { - auto pFileArchive = m_pDesignCache->GetFileArchive("PAB_SAYISAL_KART_RevX2"); - ASSERT_NE(pFileArchive, nullptr); - } - - TEST_F(FileArchiveLoadFixture, Load_FileArchive_Succeeds_Panel__Mss_Demo_Project_tgz) - { - auto pFileArchive = m_pDesignCache->GetFileArchive("Panel - Mss_Demo_Project"); - ASSERT_NE(pFileArchive, nullptr); - } - - TEST_F(FileArchiveLoadFixture, Load_FileArchive_Succeeds_roundboard_tgz) - { - auto pFileArchive = m_pDesignCache->GetFileArchive("roundboard"); - ASSERT_NE(pFileArchive, nullptr); - } - - TEST_F(FileArchiveLoadFixture, Load_FileArchive_Succeeds_Panel__vplanproject_1230_tgz) - { - auto pFileArchive = m_pDesignCache->GetFileArchive("Panel - vplanproject_1230"); - ASSERT_NE(pFileArchive, nullptr); - } - #endif // (RUN_SUCCEEDING_TESTS || RUN_ALL_TESTS) // @@ -136,47 +40,27 @@ namespace Odb::Test #if (RUN_FAILING_TESTS || RUN_ALL_TESTS) - TEST_F(FileArchiveLoadFixture, Load_FileArchive_Fails_pcb_1039N05890_v02_tar) + TEST_F(FileArchiveLoadFixture, Load_FileArchive_Missing_Standard_Fonts_File_Throws_InvalidOdbError) { // assert throws invalid_odb_error b/c missing fonts/standard file EXPECT_THROW( { - auto pFileArchive = m_pDesignCache->GetFileArchive("pcb_1039N05890_v02"); - }, - invalid_odb_error); - } - - TEST_F(FileArchiveLoadFixture, Load_FileArchive_Fails_odb1_zip) - { - // throws invalid_odb_error because missing misc/info file - EXPECT_THROW( - { - auto pFileArchive = m_pDesignCache->GetFileArchive("odb1"); - }, - invalid_odb_error); - } - - TEST_F(FileArchiveLoadFixture, Load_FileArchive_Fails_3687504951_zip) - { - // throws invalid_odb_error because missing misc/info file - EXPECT_THROW( - { - auto pFileArchive = m_pDesignCache->GetFileArchive("3687504951"); + auto pFileArchive = m_pDesignCache->GetFileArchive("designodb_rigidflex - missing_fonts_standard"); }, invalid_odb_error); } - TEST_F(FileArchiveLoadFixture, Load_FileArchive_Fails_dft_zip) + TEST_F(FileArchiveLoadFixture, Load_FileArchive_Missing_Misc_Info_File_Throws_InvalidOdbError) { // throws invalid_odb_error because missing misc/info file EXPECT_THROW( { - auto pFileArchive = m_pDesignCache->GetFileArchive("dft"); + auto pFileArchive = m_pDesignCache->GetFileArchive("designodb_rigidflex - missing_misc_info"); }, invalid_odb_error); } - TEST_F(FileArchiveLoadFixture, Load_FileArchive_Fails_Panel__Demo1230_tgz) + TEST_F(FileArchiveLoadFixture, Load_FileArchive_InvalidPinElectricalType_Throws_ParseError) { // throws parse_error because: // @@ -189,22 +73,12 @@ namespace Odb::Test EXPECT_THROW( { - auto pFileArchive = m_pDesignCache->GetFileArchive("Panel - Demo1230"); - }, - parse_error); - } - - TEST_F(FileArchiveLoadFixture, Load_FileArchive_Fails_Panel_Turbot_odb_panel_tgz) - { - // TODO: throws parse_error because ??? - EXPECT_THROW( - { - auto pFileArchive = m_pDesignCache->GetFileArchive("Turbot_odb_panel"); + auto pFileArchive = m_pDesignCache->GetFileArchive("designodb_rigidflex - pin_invalid_electricaltype"); }, parse_error); } - TEST_F(FileArchiveLoadFixture, Load_FileArchive_Fails_Panel__Rotation_Test_Board_tgz) + TEST_F(FileArchiveLoadFixture, Load_FileArchive_InvalidPinType_Throws_ParseError) { // throws parse_error because: // @@ -217,7 +91,7 @@ namespace Odb::Test EXPECT_THROW( { - auto pFileArchive = m_pDesignCache->GetFileArchive("Panel - Rotation Test Board"); + auto pFileArchive = m_pDesignCache->GetFileArchive("designodb_rigidflex - pin_invalid_type"); }, parse_error); } From 321c76371178cf580190bedf5f5f642ba089dc95 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Tue, 7 Nov 2023 12:03:16 -0800 Subject: [PATCH 21/60] move test fixture classes into a fixtures folder --- OdbDesignTests/CMakeLists.txt | 8 ++++---- OdbDesignTests/FileArchiveLoadTests.cpp | 3 ++- OdbDesignTests/{ => Fixtures}/FileArchiveLoadFixture.cpp | 4 ++-- OdbDesignTests/{ => Fixtures}/FileArchiveLoadFixture.h | 2 +- OdbDesignTests/TestTests.cpp | 3 ++- 5 files changed, 11 insertions(+), 9 deletions(-) rename OdbDesignTests/{ => Fixtures}/FileArchiveLoadFixture.cpp (95%) rename OdbDesignTests/{ => Fixtures}/FileArchiveLoadFixture.h (94%) diff --git a/OdbDesignTests/CMakeLists.txt b/OdbDesignTests/CMakeLists.txt index 4e9964dc..3f02a938 100644 --- a/OdbDesignTests/CMakeLists.txt +++ b/OdbDesignTests/CMakeLists.txt @@ -4,10 +4,10 @@ enable_testing() add_executable(OdbDesignTests - OdbDesignTests.h - "FileArchiveLoadFixture.h" "FileArchiveLoadFixture.cpp" - "FileArchiveLoadTests.cpp" - "TestTests.cpp") + "Fixtures/FileArchiveLoadFixture.h" + "Fixtures/FileArchiveLoadFixture.cpp" + "FileArchiveLoadTests.cpp" + "TestTests.cpp" "DesignLoadTests.cpp" "Fixtures/DesignNameValueParamTest.h" "DesignNameTests.cpp" "FileArchiveLoadTests_Local.cpp") target_link_libraries(OdbDesignTests PRIVATE GTest::gtest_main) diff --git a/OdbDesignTests/FileArchiveLoadTests.cpp b/OdbDesignTests/FileArchiveLoadTests.cpp index 7e7e6a03..455b6aa9 100644 --- a/OdbDesignTests/FileArchiveLoadTests.cpp +++ b/OdbDesignTests/FileArchiveLoadTests.cpp @@ -1,9 +1,10 @@ #include -#include "FileArchiveLoadFixture.h" +#include "Fixtures/FileArchiveLoadFixture.h" #include "OdbDesign.h" //using namespace Odb::Lib::App; using namespace Odb::Lib::FileModel; +using namespace Odb::Test::Fixtures; namespace Odb::Test { diff --git a/OdbDesignTests/FileArchiveLoadFixture.cpp b/OdbDesignTests/Fixtures/FileArchiveLoadFixture.cpp similarity index 95% rename from OdbDesignTests/FileArchiveLoadFixture.cpp rename to OdbDesignTests/Fixtures/FileArchiveLoadFixture.cpp index fbd08d44..db2de856 100644 --- a/OdbDesignTests/FileArchiveLoadFixture.cpp +++ b/OdbDesignTests/Fixtures/FileArchiveLoadFixture.cpp @@ -2,10 +2,10 @@ #include using namespace std::filesystem; -using namespace Odb::Lib; +//using namespace Odb::Lib; using namespace Odb::Lib::App; -namespace Odb::Test +namespace Odb::Test::Fixtures { FileArchiveLoadFixture::FileArchiveLoadFixture() : m_testDataDir() diff --git a/OdbDesignTests/FileArchiveLoadFixture.h b/OdbDesignTests/Fixtures/FileArchiveLoadFixture.h similarity index 94% rename from OdbDesignTests/FileArchiveLoadFixture.h rename to OdbDesignTests/Fixtures/FileArchiveLoadFixture.h index 7ec3c8b4..17ec34c9 100644 --- a/OdbDesignTests/FileArchiveLoadFixture.h +++ b/OdbDesignTests/Fixtures/FileArchiveLoadFixture.h @@ -6,7 +6,7 @@ #include #include -namespace Odb::Test +namespace Odb::Test::Fixtures { class FileArchiveLoadFixture : public ::testing::Test { diff --git a/OdbDesignTests/TestTests.cpp b/OdbDesignTests/TestTests.cpp index 5b286326..211fa881 100644 --- a/OdbDesignTests/TestTests.cpp +++ b/OdbDesignTests/TestTests.cpp @@ -1,8 +1,9 @@ #include -#include "FileArchiveLoadFixture.h" +#include "Fixtures/FileArchiveLoadFixture.h" #include using namespace std::filesystem; +using namespace Odb::Test::Fixtures; namespace Odb::Test { From bdddefc2b8ebfee94036a840e4c78cab6dbb895c Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Tue, 7 Nov 2023 12:03:39 -0800 Subject: [PATCH 22/60] add isWindows() and isLinux() methods --- Utils/CommandLineArgs.cpp | 13 +++++++++++++ Utils/CommandLineArgs.h | 4 ++++ 2 files changed, 17 insertions(+) diff --git a/Utils/CommandLineArgs.cpp b/Utils/CommandLineArgs.cpp index 3e68ed4b..66aa2871 100644 --- a/Utils/CommandLineArgs.cpp +++ b/Utils/CommandLineArgs.cpp @@ -7,6 +7,8 @@ #include "CommandLineArgs.h" #include "CommandLineArgs.h" #include "CommandLineArgs.h" +#include "CommandLineArgs.h" +#include "CommandLineArgs.h" #include #include #include "str_trim.h" @@ -90,6 +92,17 @@ namespace Utils return executable().filename().string(); } + bool CommandLineArgs::isWindows() const + { + auto pos = executableName().find(EXE_EXTENSION); + return (pos >= 0 && pos == executableName().length()-strlen(EXE_EXTENSION)); + } + + bool CommandLineArgs::isLinux() const + { + return !isWindows(); + } + std::string CommandLineArgs::getArgValue(const std::string& name) const { auto findIt = m_mapArguments.find(name); diff --git a/Utils/CommandLineArgs.h b/Utils/CommandLineArgs.h index d7da740d..551cfe4b 100644 --- a/Utils/CommandLineArgs.h +++ b/Utils/CommandLineArgs.h @@ -25,6 +25,9 @@ namespace Utils std::filesystem::path executableDirectory() const; std::string executableName() const; + bool isWindows() const; + bool isLinux() const; + void printUsage() const; protected: @@ -38,6 +41,7 @@ namespace Utils virtual std::string getUsageString() const = 0; const char* EXECUTABLE_ARG_NAME = "executable"; + const char* EXE_EXTENSION = ".exe"; }; } From a4e385fecc55a84ba85b281422c2f4ff0398fb7c Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Tue, 7 Nov 2023 12:03:46 -0800 Subject: [PATCH 23/60] remove file --- OdbDesignTests/OdbDesignTests.h | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 OdbDesignTests/OdbDesignTests.h diff --git a/OdbDesignTests/OdbDesignTests.h b/OdbDesignTests/OdbDesignTests.h deleted file mode 100644 index 7da85ccc..00000000 --- a/OdbDesignTests/OdbDesignTests.h +++ /dev/null @@ -1,3 +0,0 @@ -// OdbDesignTests.h : Header file for your target. - -#pragma once From 0e9bf7eda5e524995373ded5967b681f2c1614e5 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Tue, 7 Nov 2023 12:04:31 -0800 Subject: [PATCH 24/60] add DesignNames fixture --- .../Fixtures/DesignNameValueParamTest.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 OdbDesignTests/Fixtures/DesignNameValueParamTest.h diff --git a/OdbDesignTests/Fixtures/DesignNameValueParamTest.h b/OdbDesignTests/Fixtures/DesignNameValueParamTest.h new file mode 100644 index 00000000..b0bbcf04 --- /dev/null +++ b/OdbDesignTests/Fixtures/DesignNameValueParamTest.h @@ -0,0 +1,17 @@ +#pragma once + +#include "gtest/gtest.h" +#include +#include "OdbDesign.h" +#include +#include +#include "FileArchiveLoadFixture.h" + +namespace Odb::Test::Fixtures +{ + class DesignNameValueParamTest : public FileArchiveLoadFixture, + public testing::WithParamInterface + { + + }; +} \ No newline at end of file From 5673b164b608716f40a0ca85f6015122ea1a8d23 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Tue, 7 Nov 2023 12:05:11 -0800 Subject: [PATCH 25/60] add test cases for loading designs --- OdbDesignTests/DesignLoadTests.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 OdbDesignTests/DesignLoadTests.cpp diff --git a/OdbDesignTests/DesignLoadTests.cpp b/OdbDesignTests/DesignLoadTests.cpp new file mode 100644 index 00000000..47041c74 --- /dev/null +++ b/OdbDesignTests/DesignLoadTests.cpp @@ -0,0 +1,22 @@ +#include +#include "Fixtures/FileArchiveLoadFixture.h" +#include "OdbDesign.h" + +//using namespace Odb::Lib::App; +using namespace Odb::Lib::FileModel; +using namespace Odb::Test::Fixtures; + +namespace Odb::Test +{ + TEST_F(FileArchiveLoadFixture, Load_Design_Succeeds_sample_design_tgz) + { + auto pDesign = m_pDesignCache->GetDesign("sample_design"); + ASSERT_NE(pDesign, nullptr); + } + + TEST_F(FileArchiveLoadFixture, Load_Design_Succeeds_designodb_rigidflex_tgz) + { + auto pDesign = m_pDesignCache->GetDesign("designodb_rigidflex"); + ASSERT_NE(pDesign, nullptr); + } +} \ No newline at end of file From d107b1a9926c8d23aa84f541fe3da4dd3338e384 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Tue, 7 Nov 2023 12:06:03 -0800 Subject: [PATCH 26/60] add capability to load a design on startup (commented out) --- OdbDesignLib/App/OdbAppBase.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/OdbDesignLib/App/OdbAppBase.cpp b/OdbDesignLib/App/OdbAppBase.cpp index 05bf0c73..6f5748f1 100644 --- a/OdbDesignLib/App/OdbAppBase.cpp +++ b/OdbDesignLib/App/OdbAppBase.cpp @@ -39,7 +39,9 @@ namespace Odb::Lib::App { try { - auto pFileArchive = designs().GetFileArchive(args().loadDesign()); + auto pFileArchive = + //designs().GetDesign(args().loadDesign()); + designs().GetFileArchive(args().loadDesign()); if (pFileArchive == nullptr) { logerror("Failed to load design specified in arguments \"" + args().loadDesign() + "\""); From 7201479679539b774aa22023dfc1a29504a773e7 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Tue, 7 Nov 2023 12:07:00 -0800 Subject: [PATCH 27/60] switch index type from size_type to unsigned int --- OdbDesignLib/FileModel/Design/EdaDataFile.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/OdbDesignLib/FileModel/Design/EdaDataFile.h b/OdbDesignLib/FileModel/Design/EdaDataFile.h index 50993bcc..f19c6bec 100644 --- a/OdbDesignLib/FileModel/Design/EdaDataFile.h +++ b/OdbDesignLib/FileModel/Design/EdaDataFile.h @@ -110,6 +110,7 @@ namespace Odb::Lib::FileModel::Design FillType fillType; CutoutType cutoutType; float fillSize; + unsigned int index; inline static const std::string RECORD_TOKEN = "SNT"; inline static const std::string RECORD_TYPE_TRACE_TOKEN = "TRC"; @@ -131,7 +132,7 @@ namespace Odb::Lib::FileModel::Design std::string name; std::string attributesIdString; // TODO: store index of records - unsigned long index; + unsigned int index; SubnetRecord::Vector m_subnetRecords; PropertyRecord::Vector m_propertyRecords; @@ -309,6 +310,7 @@ namespace Odb::Lib::FileModel::Design float xMin, yMin; float xMax, yMax; std::string attributesIdString; + unsigned int index; OutlineRecord::Vector m_outlineRecords; PinRecord::Vector m_pinRecords; From b8b4f745696e0801e0dd58725cd5e305788f949c Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Tue, 7 Nov 2023 12:07:42 -0800 Subject: [PATCH 28/60] set net, subnet, and package records' index --- OdbDesignLib/FileModel/Design/EdaDataFile.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/OdbDesignLib/FileModel/Design/EdaDataFile.cpp b/OdbDesignLib/FileModel/Design/EdaDataFile.cpp index 547da12c..b9a9718e 100644 --- a/OdbDesignLib/FileModel/Design/EdaDataFile.cpp +++ b/OdbDesignLib/FileModel/Design/EdaDataFile.cpp @@ -484,6 +484,7 @@ namespace Odb::Lib::FileModel::Design // create new net record pCurrentNetRecord = std::make_shared(); pCurrentNetRecord->name = token; + pCurrentNetRecord->index = static_cast(m_netRecords.size()); lineStream >> pCurrentNetRecord->attributesIdString; } @@ -509,6 +510,7 @@ namespace Odb::Lib::FileModel::Design } pCurrentSubnetRecord = std::make_shared(); + pCurrentSubnetRecord->index = static_cast(pCurrentNetRecord->m_subnetRecords.size()); // subnet type lineStream >> token; @@ -700,6 +702,7 @@ namespace Odb::Lib::FileModel::Design } pCurrentPackageRecord = std::make_shared(); + pCurrentPackageRecord->index = static_cast(m_packageRecords.size()); // name if (!(lineStream >> pCurrentPackageRecord->name)) @@ -763,6 +766,7 @@ namespace Odb::Lib::FileModel::Design } pCurrentPinRecord = std::make_shared(); + //pCurrentPinRecord->index = static_cast(pCurrentPackageRecord->m_pinRecords.size()); // name lineStream >> pCurrentPinRecord->name; From f0e48521f6dd262d68036e8c456574537d3e64cf Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Tue, 7 Nov 2023 12:08:55 -0800 Subject: [PATCH 29/60] log warning or throw parse error when component records' toeprints' netNumber or subnetNumber field is -1 --- .../Design/ComponentLayerDirectory.cpp | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/OdbDesignLib/FileModel/Design/ComponentLayerDirectory.cpp b/OdbDesignLib/FileModel/Design/ComponentLayerDirectory.cpp index 81e5af89..16b1452b 100644 --- a/OdbDesignLib/FileModel/Design/ComponentLayerDirectory.cpp +++ b/OdbDesignLib/FileModel/Design/ComponentLayerDirectory.cpp @@ -218,6 +218,8 @@ namespace Odb::Lib::FileModel::Design lineStream >> pCurrentComponentRecord->partName; lineStream >> pCurrentComponentRecord->attributes; + pCurrentComponentRecord->index = m_componentRecords.size(); + // TODO: parse attributes and id string //std::string strId; //lineStream >> strId; @@ -308,10 +310,34 @@ namespace Odb::Lib::FileModel::Design char mirror; lineStream >> mirror; - pToeprintRecord->mirror = (mirror == 'M'); + pToeprintRecord->mirror = (mirror == 'M' || mirror == 'm'); lineStream >> pToeprintRecord->netNumber; + if (pToeprintRecord->netNumber == (unsigned int)-1) + { + // netNumber == -1 + parse_info pi(m_path, line, lineNumber); + logwarn(pi.toString("Component Toeprint record with netNumber = -1")); + + if (!m_allowToepintNetNumbersOfNegative1) + { + throw_parse_error(m_path, line, token, lineNumber); + } + } + lineStream >> pToeprintRecord->subnetNumber; + if (pToeprintRecord->subnetNumber == (unsigned int)-1) + { + // subnetNumber == -1 + parse_info pi(m_path, line, lineNumber); + logwarn(pi.toString("Component Toeprint record with subnetNumber = -1")); + + if (!m_allowToepintNetNumbersOfNegative1) + { + throw_parse_error(m_path, line, token, lineNumber); + } + } + lineStream >> pToeprintRecord->name; pCurrentComponentRecord->m_toeprintRecords.push_back(pToeprintRecord); From ad533e052da46756427381b9a957c176f3862914 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Tue, 7 Nov 2023 12:09:37 -0800 Subject: [PATCH 30/60] change order of trying componentsN files from 3->2->1 to 1->2->3 --- .../FileModel/Design/ComponentLayerDirectory.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/OdbDesignLib/FileModel/Design/ComponentLayerDirectory.h b/OdbDesignLib/FileModel/Design/ComponentLayerDirectory.h index fcc86ff7..ae5d1a71 100644 --- a/OdbDesignLib/FileModel/Design/ComponentLayerDirectory.h +++ b/OdbDesignLib/FileModel/Design/ComponentLayerDirectory.h @@ -34,7 +34,7 @@ namespace Odb::Lib::FileModel::Design std::string attributes; unsigned int id; // TODO: deal with index of records - size_t index; + unsigned int index; // constants inline static const std::string RECORD_TOKEN = "CMP"; @@ -99,11 +99,13 @@ namespace Odb::Lib::FileModel::Design // TODO: add records to maps by name while adding to their vectors ComponentRecord::StringMap m_componentRecordsByName; - inline static const char* COMPONENTS_FILENAMES[] = + const bool m_allowToepintNetNumbersOfNegative1 = true; + + constexpr inline static const char* COMPONENTS_FILENAMES[] = { - "components3", + "components", "components2", - "components" + "components3" }; inline static const char* UNITS_TOKEN = "UNITS"; From 911b344440be4e256260dd1065f703f04c65d0f6 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Tue, 7 Nov 2023 12:10:19 -0800 Subject: [PATCH 31/60] bug: fix comparison of new component layer directory pointer to nullptr --- OdbDesignLib/ProductModel/Design.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OdbDesignLib/ProductModel/Design.cpp b/OdbDesignLib/ProductModel/Design.cpp index 0f18d16b..a4e8fbc0 100644 --- a/OdbDesignLib/ProductModel/Design.cpp +++ b/OdbDesignLib/ProductModel/Design.cpp @@ -50,7 +50,7 @@ namespace Odb::Lib::ProductModel // top components layer auto pTopComponentsLayerDir = pStepDirectory->GetTopComponentLayerDir(); - if (pTopComponentsLayerDir != nullptr) return false; + if (pTopComponentsLayerDir == nullptr) return false; if (! BuildLayerComponents(pTopComponentsLayerDir)) return false; // bottom layer components From 83611b31fb8c421acdf313e9c478d8044887f068 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Tue, 7 Nov 2023 12:11:43 -0800 Subject: [PATCH 32/60] use records' index field when setting product model objects' index --- OdbDesignLib/ProductModel/Design.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/OdbDesignLib/ProductModel/Design.cpp b/OdbDesignLib/ProductModel/Design.cpp index a4e8fbc0..41db713f 100644 --- a/OdbDesignLib/ProductModel/Design.cpp +++ b/OdbDesignLib/ProductModel/Design.cpp @@ -67,7 +67,7 @@ namespace Odb::Lib::ProductModel for (const auto& pComponentRecord : componentRecords) { auto& pPackage = m_packages[pComponentRecord->pkgRef]; - auto index = static_cast(m_components.size()); + auto index = pComponentRecord->index; auto pComponent = std::make_shared(pComponentRecord->compName, pComponentRecord->partName, pPackage, index, pComponentsLayerDir->GetSide()); m_components.push_back(pComponent); @@ -90,7 +90,7 @@ namespace Odb::Lib::ProductModel for (const auto& pNetRecord : netRecords) { - auto pNet = std::make_shared(pNetRecord->name, static_cast(m_nets.size())); + auto pNet = std::make_shared(pNetRecord->name, pNetRecord->index); m_nets.push_back(pNet); m_netsByName[pNet->GetName()] = pNet; } @@ -111,7 +111,8 @@ namespace Odb::Lib::ProductModel for (const auto& pPackageRecord : packageRecords) { - auto pPackage = std::make_shared(pPackageRecord->name, static_cast(m_packages.size())); + auto index = pPackageRecord->index; + auto pPackage = std::make_shared(pPackageRecord->name, index); for (const auto& pPinRecord : pPackageRecord->m_pinRecords) { From 5e05815a637c0b0f4b2fcb3d081a28f47c1ba441 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Tue, 7 Nov 2023 12:13:00 -0800 Subject: [PATCH 33/60] do not create PinConnections when a Component's ToePrint record has netNumber or subnetNumber set to -1 (must be component toeprints that are not connected to anything?) --- OdbDesignLib/ProductModel/Design.cpp | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/OdbDesignLib/ProductModel/Design.cpp b/OdbDesignLib/ProductModel/Design.cpp index 41db713f..193b2955 100644 --- a/OdbDesignLib/ProductModel/Design.cpp +++ b/OdbDesignLib/ProductModel/Design.cpp @@ -1,5 +1,6 @@ #include "Design.h" #include "Package.h" +#include "Logger.h" namespace Odb::Lib::ProductModel { @@ -192,21 +193,29 @@ namespace Odb::Lib::ProductModel const auto& toeprintRecords = pComponentRecord->m_toeprintRecords; for (const auto& pToeprintRecord : toeprintRecords) { - auto& toeprintName = pToeprintRecord->name;; + auto& toeprintName = pToeprintRecord->name; auto pinNumber = pToeprintRecord->pinNumber; auto netNumber = pToeprintRecord->netNumber; //auto subnetNumber = pToeprintRecord->subnetNumber; - auto& pComponent = m_componentsByName[pComponentRecord->compName]; - if (pComponent == nullptr) return false; + if (netNumber < m_nets.size()) + { + auto& pComponent = m_componentsByName[pComponentRecord->compName]; + if (pComponent == nullptr) return false; - auto pPin = pComponent->GetPackage()->GetPin(pinNumber); - if (pPin == nullptr) return false; + auto pPin = pComponent->GetPackage()->GetPin(pinNumber); + if (pPin == nullptr) return false; - auto& pNet = m_nets[netNumber]; - if (pNet == nullptr) return false; - if (! pNet->AddPinConnection(pComponent, pPin, toeprintName)) return false; + auto& pNet = m_nets[netNumber]; + if (pNet == nullptr) return false; + + if (!pNet->AddPinConnection(pComponent, pPin, toeprintName)) return false; + } + else + { + logerror("netNumber out of range: " + std::to_string(netNumber) + ", size = " + std::to_string(m_nets.size())); + } } } From fac72659c092c83fd7fe4b3e86683bac711a306a Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Tue, 7 Nov 2023 12:23:25 -0800 Subject: [PATCH 34/60] remvoe local tests from source control --- OdbDesignTests/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OdbDesignTests/CMakeLists.txt b/OdbDesignTests/CMakeLists.txt index 3f02a938..5c4bb224 100644 --- a/OdbDesignTests/CMakeLists.txt +++ b/OdbDesignTests/CMakeLists.txt @@ -7,7 +7,7 @@ add_executable(OdbDesignTests "Fixtures/FileArchiveLoadFixture.h" "Fixtures/FileArchiveLoadFixture.cpp" "FileArchiveLoadTests.cpp" - "TestTests.cpp" "DesignLoadTests.cpp" "Fixtures/DesignNameValueParamTest.h" "DesignNameTests.cpp" "FileArchiveLoadTests_Local.cpp") + "TestTests.cpp" "DesignLoadTests.cpp" "Fixtures/DesignNameValueParamTest.h" ) target_link_libraries(OdbDesignTests PRIVATE GTest::gtest_main) From 3674f3a0d97b02a27f3ba16f103ca2ce117727c1 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Tue, 7 Nov 2023 12:23:31 -0800 Subject: [PATCH 35/60] remove file --- OdbDesignTests/OdbDesignTests.cpp | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 OdbDesignTests/OdbDesignTests.cpp diff --git a/OdbDesignTests/OdbDesignTests.cpp b/OdbDesignTests/OdbDesignTests.cpp deleted file mode 100644 index da75db89..00000000 --- a/OdbDesignTests/OdbDesignTests.cpp +++ /dev/null @@ -1,5 +0,0 @@ -// OdbDesignTests.cpp : Source file for your target. -// - -#include "OdbDesignTests.h" - From 097e1bc3535e8781a54adc6948e94e9e57abded8 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Tue, 7 Nov 2023 12:23:53 -0800 Subject: [PATCH 36/60] ignore local test file --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 80f63203..8428759e 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,4 @@ testlog.txt testlog.txt.tmp* testlog.xml /OdbDesignTests/FileArchiveLoadTests_Local.cpp +/OdbDesignTests/DesignNameTests.cpp From 1237a15c1afc38994311dd7ff13e69feb6650d33 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Tue, 7 Nov 2023 13:09:44 -0800 Subject: [PATCH 37/60] #include for strlen to fix compile error --- Utils/CommandLineArgs.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/Utils/CommandLineArgs.cpp b/Utils/CommandLineArgs.cpp index 66aa2871..857dc086 100644 --- a/Utils/CommandLineArgs.cpp +++ b/Utils/CommandLineArgs.cpp @@ -14,6 +14,7 @@ #include "str_trim.h" #include #include +#include namespace Utils From 915149cb1bde771829e9a2a9fbc3c62d5470be26 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Wed, 8 Nov 2023 09:51:17 -0800 Subject: [PATCH 38/60] only run login to dockerhub step in docker scout workflow if its not a PR or it is and its not targeting development or if it is only if its coming from nam20485 branch --- .github/workflows/docker-scout-scan.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-scout-scan.yml b/.github/workflows/docker-scout-scan.yml index ba131987..365f103a 100644 --- a/.github/workflows/docker-scout-scan.yml +++ b/.github/workflows/docker-scout-scan.yml @@ -71,7 +71,7 @@ jobs: # Login against Docker Hub to allow running Docker Scout # https://github.com/docker/login-action - name: Log into Docker Hub registry - # if: github.event_name != 'pull_request' + if: github.event_name != 'pull_request' || github.base_ref != 'development' || github.head_ref == 'nam20485' uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d with: username: ${{ secrets.DOCKERHUB_USERNAME }} From e64167124e4400754dda94145de274b0cfd0eb3a Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Wed, 8 Nov 2023 10:29:30 -0800 Subject: [PATCH 39/60] add methods for serializing/deserializing from/to Protocol Buffer strings and input/output streams --- OdbDesignLib/IProtoBuffable.h | 46 ++++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/OdbDesignLib/IProtoBuffable.h b/OdbDesignLib/IProtoBuffable.h index 2b5de625..18d59769 100644 --- a/OdbDesignLib/IProtoBuffable.h +++ b/OdbDesignLib/IProtoBuffable.h @@ -5,6 +5,8 @@ #include #include "IJsonable.h" #include "odbdesign_export.h" +#include +#include namespace Odb::Lib @@ -16,9 +18,17 @@ namespace Odb::Lib virtual std::unique_ptr to_protobuf() const = 0; virtual void from_protobuf(const TPbMessage& message) = 0; + // to and from Protocol Buffer string + bool to_pbstring(std::string& pb_string) const; + bool from_pbstring(const std::string& pb_string); + + // to and from output and input streams + bool serializeTo(std::ostream& outputStream) const; + bool parseFrom(std::istream& inputSream); + // Inherited via IJsonConvertable std::string to_json() const override; - void from_json(const std::string& json) override; + void from_json(const std::string& json) override; protected: // abstract class @@ -30,6 +40,40 @@ namespace Odb::Lib }; + template + inline bool IProtoBuffable::to_pbstring(std::string& pb_string) const + { + auto pMessage = to_protobuf(); + if (pMessage == nullptr) return false; + return pMessage->SerializeToString(&pb_string); + } + + template + inline bool IProtoBuffable::from_pbstring(const std::string& pb_string) + { + auto pMessage = std::unique_ptr(); + if (!pMessage->ParseFromString(pb_string)) return false; + from_protobuf(*pMessage); + return true; + } + + template + inline bool IProtoBuffable::serializeTo(std::ostream& outputStream) const + { + auto pMessage = to_protobuf(); + if (pMessage == nullptr) return false; + return pMessage->SerializeToOstream(&outputStream); + } + + template + inline bool IProtoBuffable::parseFrom(std::istream& inputSream) + { + auto pMessage = std::unique_ptr(); + if (!pMessage->ParseFromIstream(&inputSream)) return false; + from_protobuf(*pMessage); + return true; + } + template std::string IProtoBuffable::to_json() const { From 351dcf94a5c50ca70f78eb391afc5d7a31f61317 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Wed, 8 Nov 2023 10:52:05 -0800 Subject: [PATCH 40/60] cast size_t to uint to fix warning --- OdbDesignLib/FileModel/Design/ComponentLayerDirectory.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/OdbDesignLib/FileModel/Design/ComponentLayerDirectory.cpp b/OdbDesignLib/FileModel/Design/ComponentLayerDirectory.cpp index 16b1452b..02a3b35f 100644 --- a/OdbDesignLib/FileModel/Design/ComponentLayerDirectory.cpp +++ b/OdbDesignLib/FileModel/Design/ComponentLayerDirectory.cpp @@ -218,7 +218,12 @@ namespace Odb::Lib::FileModel::Design lineStream >> pCurrentComponentRecord->partName; lineStream >> pCurrentComponentRecord->attributes; - pCurrentComponentRecord->index = m_componentRecords.size(); + if (m_componentRecords.size() > UINT_MAX) + { + throw_parse_error(m_path, line, token, lineNumber); + } + + pCurrentComponentRecord->index = static_cast(m_componentRecords.size()); // TODO: parse attributes and id string //std::string strId; From a1d9380900492a106ce513e9540ad0638beaac73 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Fri, 10 Nov 2023 12:22:27 -0800 Subject: [PATCH 41/60] disable running entire docker-scout job on PRs into development branch from branches that aren't nam20485 (i.e. dependabot and other PRs/branches) --- .github/workflows/docker-scout-scan.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-scout-scan.yml b/.github/workflows/docker-scout-scan.yml index 365f103a..98a934a9 100644 --- a/.github/workflows/docker-scout-scan.yml +++ b/.github/workflows/docker-scout-scan.yml @@ -38,6 +38,9 @@ jobs: pull-requests: write security-events: write + # don't run on PRs into development from branches that aren't nam20485 (i.e. dependabot PRs) + if: github.event_name != 'pull_request' || github.base_ref != 'development' || github.head_ref == 'nam20485' + steps: - name: Checkout repository uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 @@ -70,8 +73,7 @@ jobs: # Login against Docker Hub to allow running Docker Scout # https://github.com/docker/login-action - - name: Log into Docker Hub registry - if: github.event_name != 'pull_request' || github.base_ref != 'development' || github.head_ref == 'nam20485' + - name: Log into Docker Hub registry uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d with: username: ${{ secrets.DOCKERHUB_USERNAME }} From d83d074cbe67e961caf8afb53c550bfdca4fe500 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Fri, 10 Nov 2023 12:45:06 -0800 Subject: [PATCH 42/60] add header include for UINT_MAX (missing on linux build) --- OdbDesignLib/FileModel/Design/ComponentLayerDirectory.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/OdbDesignLib/FileModel/Design/ComponentLayerDirectory.cpp b/OdbDesignLib/FileModel/Design/ComponentLayerDirectory.cpp index 02a3b35f..c08ba025 100644 --- a/OdbDesignLib/FileModel/Design/ComponentLayerDirectory.cpp +++ b/OdbDesignLib/FileModel/Design/ComponentLayerDirectory.cpp @@ -8,6 +8,7 @@ #include #include #include "../invalid_odb_error.h" +#include using namespace std::filesystem; From 1e381d608fb78e61b44013c392cbc4a109e880f3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 10 Nov 2023 21:18:08 +0000 Subject: [PATCH 43/60] Bump actions/dependency-review-action from 3.1.0 to 3.1.2 Bumps [actions/dependency-review-action](https://github.com/actions/dependency-review-action) from 3.1.0 to 3.1.2. - [Release notes](https://github.com/actions/dependency-review-action/releases) - [Commits](https://github.com/actions/dependency-review-action/compare/6c5ccdad469c9f8a2996bfecaec55a631a347034...fde92acd0840415674c16b39c7d703fc28bc511e) --- updated-dependencies: - dependency-name: actions/dependency-review-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/dependency-review.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index 0977e57e..b49125df 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -24,6 +24,6 @@ jobs: - name: 'Checkout Repository' uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: 'Dependency Review' - uses: actions/dependency-review-action@6c5ccdad469c9f8a2996bfecaec55a631a347034 # v3.1.0 + uses: actions/dependency-review-action@fde92acd0840415674c16b39c7d703fc28bc511e # v3.1.2 with: comment-summary-in-pr: true From 645724e20679be9d7e71487615f56bcebd126283 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 12 Nov 2023 17:42:12 +0000 Subject: [PATCH 44/60] Bump sigstore/cosign-installer from 3.1.2 to 3.2.0 Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 3.1.2 to 3.2.0. - [Release notes](https://github.com/sigstore/cosign-installer/releases) - [Commits](https://github.com/sigstore/cosign-installer/compare/v3.1.2...v3.2.0) --- updated-dependencies: - dependency-name: sigstore/cosign-installer dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/docker-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index f9e6c75c..42d1b0b6 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -51,7 +51,7 @@ jobs: - name: cosign-installer if: github.event_name != 'pull_request' - uses: sigstore/cosign-installer@11086d25041f77fe8fe7b9ea4e48e3b9192b8f19 # v3.1.2 + uses: sigstore/cosign-installer@1fc5bd396d372bee37d608f955b336615edf79c8 # v3.2.0 # Workaround: https://github.com/docker/build-push-action/issues/461 - name: Setup Docker buildx From 3271995b5b9a5ecd5a6423a3768a928a3878167f Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Sun, 19 Nov 2023 09:23:22 -0800 Subject: [PATCH 45/60] move FeatureIdRecord out to EdaDataFile scope and add FeatureGroupRecords --- OdbDesignLib/FileModel/Design/EdaDataFile.cpp | 44 +- OdbDesignLib/FileModel/Design/EdaDataFile.h | 14 +- OdbDesignLib/ProtoBuf/edadatafile.pb.cc | 705 +++++++++++++---- OdbDesignLib/ProtoBuf/edadatafile.pb.h | 714 +++++++++++++++--- OdbDesignLib/protoc/edadatafile.proto | 40 +- 5 files changed, 1221 insertions(+), 296 deletions(-) diff --git a/OdbDesignLib/FileModel/Design/EdaDataFile.cpp b/OdbDesignLib/FileModel/Design/EdaDataFile.cpp index b9a9718e..4575ba70 100644 --- a/OdbDesignLib/FileModel/Design/EdaDataFile.cpp +++ b/OdbDesignLib/FileModel/Design/EdaDataFile.cpp @@ -121,17 +121,40 @@ namespace Odb::Lib::FileModel::Design } - std::unique_ptr + std::unique_ptr EdaDataFile::FeatureIdRecord::to_protobuf() const { - std::unique_ptr pFeatureIdRecordMessage(new Odb::Lib::Protobuf::EdaDataFile::NetRecord::SubnetRecord::FeatureIdRecord); - pFeatureIdRecordMessage->set_type((Odb::Lib::Protobuf::EdaDataFile::NetRecord::SubnetRecord::FeatureIdRecord::Type) type); + std::unique_ptr pFeatureIdRecordMessage(new Odb::Lib::Protobuf::EdaDataFile::FeatureIdRecord); + pFeatureIdRecordMessage->set_type((Odb::Lib::Protobuf::EdaDataFile::FeatureIdRecord::Type) type); pFeatureIdRecordMessage->set_layernumber(layerNumber); pFeatureIdRecordMessage->set_featurenumber(featureNumber); return pFeatureIdRecordMessage; } - void EdaDataFile::FeatureIdRecord::from_protobuf(const Odb::Lib::Protobuf::EdaDataFile::NetRecord::SubnetRecord::FeatureIdRecord& message) + void EdaDataFile::FeatureIdRecord::from_protobuf(const Odb::Lib::Protobuf::EdaDataFile::FeatureIdRecord& message) + { + + } + + std::unique_ptr + EdaDataFile::FeatureGroupRecord::to_protobuf() const + { + std::unique_ptr pFeatureGroupRecordMessage(new Odb::Lib::Protobuf::EdaDataFile::FeatureGroupRecord); + pFeatureGroupRecordMessage->set_type(type); + for (const auto& featureIdRecord : m_featureIdRecords) + { + auto pFeatureIdRecordMessage = pFeatureGroupRecordMessage->add_featureidrecords(); + pFeatureIdRecordMessage->CopyFrom(*featureIdRecord->to_protobuf()); + } + for (const auto& propertyRecord : m_propertyRecords) + { + auto pPropertyRecordMessage = pFeatureGroupRecordMessage->add_featureidrecords(); + pPropertyRecordMessage->CopyFrom(*propertyRecord->to_protobuf()); + } + return pFeatureGroupRecordMessage; + } + + void EdaDataFile::FeatureGroupRecord::from_protobuf(const Odb::Lib::Protobuf::EdaDataFile::FeatureGroupRecord& message) { } @@ -216,7 +239,18 @@ namespace Odb::Lib::FileModel::Design for (const auto& kvPackageRecord : m_packageRecordsByName) { (*pEdaDataFileMessage->mutable_packagerecordsbyname())[kvPackageRecord.first] = *kvPackageRecord.second->to_protobuf(); - } + } + for (const auto& pPropertyRecord : m_propertyRecords) + { + auto pPropertyRecordMessage = pEdaDataFileMessage->add_propertyrecords(); + pPropertyRecordMessage->CopyFrom(*pPropertyRecord->to_protobuf()); + } + for (const auto& pFeatureGroupRecord : m_featureGroupRecords) + { + auto pFeatureGroupRecordMessage = pEdaDataFileMessage->add_featuregrouprecords(); + pFeatureGroupRecordMessage->CopyFrom(*pFeatureGroupRecord->to_protobuf()); + } + return pEdaDataFileMessage; } diff --git a/OdbDesignLib/FileModel/Design/EdaDataFile.h b/OdbDesignLib/FileModel/Design/EdaDataFile.h index f19c6bec..59442cbf 100644 --- a/OdbDesignLib/FileModel/Design/EdaDataFile.h +++ b/OdbDesignLib/FileModel/Design/EdaDataFile.h @@ -45,7 +45,7 @@ namespace Odb::Lib::FileModel::Design void from_protobuf(const Odb::Lib::Protobuf::EdaDataFile::PropertyRecord& message) override; }; - struct ODBDESIGN_EXPORT FeatureIdRecord : public IProtoBuffable + struct ODBDESIGN_EXPORT FeatureIdRecord : public IProtoBuffable { enum class Type { @@ -61,8 +61,8 @@ namespace Odb::Lib::FileModel::Design unsigned int featureNumber; // Inherited via IProtoBuffable - std::unique_ptr to_protobuf() const override; - void from_protobuf(const Odb::Lib::Protobuf::EdaDataFile::NetRecord::SubnetRecord::FeatureIdRecord& message) override; + std::unique_ptr to_protobuf() const override; + void from_protobuf(const Odb::Lib::Protobuf::EdaDataFile::FeatureIdRecord& message) override; }; struct ODBDESIGN_EXPORT NetRecord : public IProtoBuffable @@ -323,7 +323,7 @@ namespace Odb::Lib::FileModel::Design }; // PackageRecord - struct FeatureGroupRecord + struct FeatureGroupRecord : public IProtoBuffable { ~FeatureGroupRecord() { @@ -337,7 +337,11 @@ namespace Odb::Lib::FileModel::Design FeatureIdRecord::Vector m_featureIdRecords; typedef std::shared_ptr shared_ptr; - typedef std::vector Vector; + typedef std::vector Vector; + + // Inherited via IProtoBuffable + std::unique_ptr to_protobuf() const override; + void from_protobuf(const Odb::Lib::Protobuf::EdaDataFile::FeatureGroupRecord& message) override; }; // FeatureGroupRecord diff --git a/OdbDesignLib/ProtoBuf/edadatafile.pb.cc b/OdbDesignLib/ProtoBuf/edadatafile.pb.cc index 1c61134f..540badbb 100644 --- a/OdbDesignLib/ProtoBuf/edadatafile.pb.cc +++ b/OdbDesignLib/ProtoBuf/edadatafile.pb.cc @@ -39,22 +39,22 @@ struct EdaDataFile_PropertyRecordDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EdaDataFile_PropertyRecordDefaultTypeInternal _EdaDataFile_PropertyRecord_default_instance_; -PROTOBUF_CONSTEXPR EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord( +PROTOBUF_CONSTEXPR EdaDataFile_FeatureIdRecord::EdaDataFile_FeatureIdRecord( ::_pbi::ConstantInitialized): _impl_{ /*decltype(_impl_._has_bits_)*/{} , /*decltype(_impl_._cached_size_)*/{} , /*decltype(_impl_.type_)*/0 , /*decltype(_impl_.layernumber_)*/0u , /*decltype(_impl_.featurenumber_)*/0u} {} -struct EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecordDefaultTypeInternal { - PROTOBUF_CONSTEXPR EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecordDefaultTypeInternal() +struct EdaDataFile_FeatureIdRecordDefaultTypeInternal { + PROTOBUF_CONSTEXPR EdaDataFile_FeatureIdRecordDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} - ~EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecordDefaultTypeInternal() {} + ~EdaDataFile_FeatureIdRecordDefaultTypeInternal() {} union { - EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord _instance; + EdaDataFile_FeatureIdRecord _instance; }; }; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecordDefaultTypeInternal _EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_default_instance_; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EdaDataFile_FeatureIdRecordDefaultTypeInternal _EdaDataFile_FeatureIdRecord_default_instance_; PROTOBUF_CONSTEXPR EdaDataFile_NetRecord_SubnetRecord::EdaDataFile_NetRecord_SubnetRecord( ::_pbi::ConstantInitialized): _impl_{ /*decltype(_impl_._has_bits_)*/{} @@ -150,6 +150,22 @@ struct EdaDataFile_PackageRecordDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EdaDataFile_PackageRecordDefaultTypeInternal _EdaDataFile_PackageRecord_default_instance_; +PROTOBUF_CONSTEXPR EdaDataFile_FeatureGroupRecord::EdaDataFile_FeatureGroupRecord( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._has_bits_)*/{} + , /*decltype(_impl_._cached_size_)*/{} + , /*decltype(_impl_.propertyrecords_)*/{} + , /*decltype(_impl_.featureidrecords_)*/{} + , /*decltype(_impl_.type_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}} {} +struct EdaDataFile_FeatureGroupRecordDefaultTypeInternal { + PROTOBUF_CONSTEXPR EdaDataFile_FeatureGroupRecordDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~EdaDataFile_FeatureGroupRecordDefaultTypeInternal() {} + union { + EdaDataFile_FeatureGroupRecord _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EdaDataFile_FeatureGroupRecordDefaultTypeInternal _EdaDataFile_FeatureGroupRecord_default_instance_; PROTOBUF_CONSTEXPR EdaDataFile_NetRecordsByNameEntry_DoNotUse::EdaDataFile_NetRecordsByNameEntry_DoNotUse( ::_pbi::ConstantInitialized) {} struct EdaDataFile_NetRecordsByNameEntry_DoNotUseDefaultTypeInternal { @@ -183,6 +199,8 @@ PROTOBUF_CONSTEXPR EdaDataFile::EdaDataFile( , /*decltype(_impl_.netrecordsbyname_)*/{::_pbi::ConstantInitialized()} , /*decltype(_impl_.packagerecords_)*/{} , /*decltype(_impl_.packagerecordsbyname_)*/{::_pbi::ConstantInitialized()} + , /*decltype(_impl_.propertyrecords_)*/{} + , /*decltype(_impl_.featuregrouprecords_)*/{} , /*decltype(_impl_.path_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} , /*decltype(_impl_.units_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} , /*decltype(_impl_.source_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}} {} @@ -198,7 +216,7 @@ PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORIT } // namespace Protobuf } // namespace Lib } // namespace Odb -static ::_pb::Metadata file_level_metadata_edadatafile_2eproto[10]; +static ::_pb::Metadata file_level_metadata_edadatafile_2eproto[11]; static const ::_pb::EnumDescriptor* file_level_enum_descriptors_edadatafile_2eproto[8]; static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_edadatafile_2eproto = nullptr; @@ -215,15 +233,15 @@ const uint32_t TableStruct_edadatafile_2eproto::offsets[] PROTOBUF_SECTION_VARIA 0, 1, ~0u, - PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord, _impl_._has_bits_), - PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord, _internal_metadata_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord, _impl_.type_), - PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord, _impl_.layernumber_), - PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord, _impl_.featurenumber_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord, _impl_.layernumber_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord, _impl_.featurenumber_), 0, 1, 2, @@ -325,6 +343,18 @@ const uint32_t TableStruct_edadatafile_2eproto::offsets[] PROTOBUF_SECTION_VARIA ~0u, ~0u, ~0u, + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord, _impl_.propertyrecords_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord, _impl_.featureidrecords_), + 0, + ~0u, + ~0u, PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile_NetRecordsByNameEntry_DoNotUse, _has_bits_), PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile_NetRecordsByNameEntry_DoNotUse, _internal_metadata_), ~0u, // no _extensions_ @@ -361,6 +391,8 @@ const uint32_t TableStruct_edadatafile_2eproto::offsets[] PROTOBUF_SECTION_VARIA PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile, _impl_.netrecordsbyname_), PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile, _impl_.packagerecords_), PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile, _impl_.packagerecordsbyname_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile, _impl_.propertyrecords_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile, _impl_.featuregrouprecords_), 0, 1, 2, @@ -371,35 +403,39 @@ const uint32_t TableStruct_edadatafile_2eproto::offsets[] PROTOBUF_SECTION_VARIA ~0u, ~0u, ~0u, + ~0u, + ~0u, }; static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, 9, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord)}, - { 12, 21, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord)}, + { 12, 21, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord)}, { 24, 38, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord)}, { 46, 57, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_NetRecord)}, { 62, 70, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_PackageRecord_PinRecordsByNameEntry_DoNotUse)}, { 72, 87, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_PackageRecord_PinRecord)}, { 96, 112, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_PackageRecord)}, - { 122, 130, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_NetRecordsByNameEntry_DoNotUse)}, - { 132, 140, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_PackageRecordsByNameEntry_DoNotUse)}, - { 142, 158, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile)}, + { 122, 131, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord)}, + { 134, 142, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_NetRecordsByNameEntry_DoNotUse)}, + { 144, 152, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_PackageRecordsByNameEntry_DoNotUse)}, + { 154, 172, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile)}, }; static const ::_pb::Message* const file_default_instances[] = { &::Odb::Lib::Protobuf::_EdaDataFile_PropertyRecord_default_instance_._instance, - &::Odb::Lib::Protobuf::_EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_default_instance_._instance, + &::Odb::Lib::Protobuf::_EdaDataFile_FeatureIdRecord_default_instance_._instance, &::Odb::Lib::Protobuf::_EdaDataFile_NetRecord_SubnetRecord_default_instance_._instance, &::Odb::Lib::Protobuf::_EdaDataFile_NetRecord_default_instance_._instance, &::Odb::Lib::Protobuf::_EdaDataFile_PackageRecord_PinRecordsByNameEntry_DoNotUse_default_instance_._instance, &::Odb::Lib::Protobuf::_EdaDataFile_PackageRecord_PinRecord_default_instance_._instance, &::Odb::Lib::Protobuf::_EdaDataFile_PackageRecord_default_instance_._instance, + &::Odb::Lib::Protobuf::_EdaDataFile_FeatureGroupRecord_default_instance_._instance, &::Odb::Lib::Protobuf::_EdaDataFile_NetRecordsByNameEntry_DoNotUse_default_instance_._instance, &::Odb::Lib::Protobuf::_EdaDataFile_PackageRecordsByNameEntry_DoNotUse_default_instance_._instance, &::Odb::Lib::Protobuf::_EdaDataFile_default_instance_._instance, }; const char descriptor_table_protodef_edadatafile_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = - "\n\021edadatafile.proto\022\020Odb.Lib.Protobuf\"\246\033" + "\n\021edadatafile.proto\022\020Odb.Lib.Protobuf\"\321\035" "\n\013EdaDataFile\022\021\n\004path\030\001 \001(\tH\000\210\001\001\022\022\n\005unit" "s\030\002 \001(\tH\001\210\001\001\022\023\n\006source\030\003 \001(\tH\002\210\001\001\022\022\n\nlay" "erNames\030\004 \003(\t\022\026\n\016attributeNames\030\005 \003(\t\022\033\n" @@ -411,89 +447,97 @@ const char descriptor_table_protodef_edadatafile_2eproto[] PROTOBUF_SECTION_VARI ".Protobuf.EdaDataFile.PackageRecord\022U\n\024p" "ackageRecordsByName\030\n \003(\01327.Odb.Lib.Prot" "obuf.EdaDataFile.PackageRecordsByNameEnt" - "ry\032_\n\016PropertyRecord\022\021\n\004name\030\001 \001(\tH\000\210\001\001\022" - "\022\n\005value\030\002 \001(\tH\001\210\001\001\022\023\n\013floatValues\030\003 \003(\002" - "B\007\n\005_nameB\010\n\006_value\032\211\n\n\tNetRecord\022\021\n\004nam" - "e\030\001 \001(\tH\000\210\001\001\022\037\n\022attributesIdString\030\002 \001(\t" - "H\001\210\001\001\022\022\n\005index\030\003 \001(\rH\002\210\001\001\022K\n\rsubnetRecor" - "ds\030\004 \003(\01324.Odb.Lib.Protobuf.EdaDataFile." - "NetRecord.SubnetRecord\022E\n\017propertyRecord" - "s\030\005 \003(\0132,.Odb.Lib.Protobuf.EdaDataFile.P" - "ropertyRecord\032\365\007\n\014SubnetRecord\022L\n\004type\030\001" - " \001(\01629.Odb.Lib.Protobuf.EdaDataFile.NetR" - "ecord.SubnetRecord.TypeH\000\210\001\001\022^\n\020featureI" - "dRecords\030\002 \003(\0132D.Odb.Lib.Protobuf.EdaDat" - "aFile.NetRecord.SubnetRecord.FeatureIdRe" - "cord\022T\n\010fillType\030\003 \001(\0162=.Odb.Lib.Protobu" - "f.EdaDataFile.NetRecord.SubnetRecord.Fil" - "lTypeH\001\210\001\001\022X\n\ncutoutType\030\004 \001(\0162\?.Odb.Lib" + "ry\022E\n\017propertyRecords\030\013 \003(\0132,.Odb.Lib.Pr" + "otobuf.EdaDataFile.PropertyRecord\022M\n\023fea" + "tureGroupRecords\030\014 \003(\01320.Odb.Lib.Protobu" + "f.EdaDataFile.FeatureGroupRecord\032_\n\016Prop" + "ertyRecord\022\021\n\004name\030\001 \001(\tH\000\210\001\001\022\022\n\005value\030\002" + " \001(\tH\001\210\001\001\022\023\n\013floatValues\030\003 \003(\002B\007\n\005_nameB" + "\010\n\006_value\032\345\001\n\017FeatureIdRecord\022E\n\004type\030\001 " + "\001(\01622.Odb.Lib.Protobuf.EdaDataFile.Featu" + "reIdRecord.TypeH\000\210\001\001\022\030\n\013layerNumber\030\002 \001(" + "\rH\001\210\001\001\022\032\n\rfeatureNumber\030\003 \001(\rH\002\210\001\001\"*\n\004Ty" + "pe\022\n\n\006COPPER\020\000\022\014\n\010LAMINATE\020\001\022\010\n\004HOLE\020\002B\007" + "\n\005_typeB\016\n\014_layerNumberB\020\n\016_featureNumbe" + "r\032\363\007\n\tNetRecord\022\021\n\004name\030\001 \001(\tH\000\210\001\001\022\037\n\022at" + "tributesIdString\030\002 \001(\tH\001\210\001\001\022\022\n\005index\030\003 \001" + "(\rH\002\210\001\001\022K\n\rsubnetRecords\030\004 \003(\01324.Odb.Lib" ".Protobuf.EdaDataFile.NetRecord.SubnetRe" - "cord.CutoutTypeH\002\210\001\001\022\025\n\010fillSize\030\005 \001(\002H\003" - "\210\001\001\022:\n\004side\030\006 \001(\0162\'.Odb.Lib.Protobuf.Eda" - "DataFile.BoardSideH\004\210\001\001\022\034\n\017componentNumb" - "er\030\007 \001(\rH\005\210\001\001\022\033\n\016toeprintNumber\030\010 \001(\rH\006\210" - "\001\001\032\374\001\n\017FeatureIdRecord\022\\\n\004type\030\001 \001(\0162I.O" - "db.Lib.Protobuf.EdaDataFile.NetRecord.Su" - "bnetRecord.FeatureIdRecord.TypeH\000\210\001\001\022\030\n\013" - "layerNumber\030\002 \001(\rH\001\210\001\001\022\032\n\rfeatureNumber\030" - "\003 \001(\rH\002\210\001\001\"*\n\004Type\022\n\n\006COPPER\020\000\022\014\n\010LAMINA" - "TE\020\001\022\010\n\004HOLE\020\002B\007\n\005_typeB\016\n\014_layerNumberB" - "\020\n\016_featureNumber\"3\n\004Type\022\007\n\003VIA\020\000\022\t\n\005TR" - "ACE\020\001\022\t\n\005PLANE\020\002\022\014\n\010TOEPRINT\020\003\"\"\n\010FillTy" - "pe\022\t\n\005SOLID\020\000\022\013\n\007OUTLINE\020\001\"\?\n\nCutoutType" - "\022\n\n\006CIRCLE\020\000\022\r\n\tRECTANGLE\020\001\022\013\n\007OCTAGON\020\002" - "\022\t\n\005EXACT\020\003B\007\n\005_typeB\013\n\t_fillTypeB\r\n\013_cu" - "toutTypeB\013\n\t_fillSizeB\007\n\005_sideB\022\n\020_compo" - "nentNumberB\021\n\017_toeprintNumberB\007\n\005_nameB\025" - "\n\023_attributesIdStringB\010\n\006_index\032\360\n\n\rPack" - "ageRecord\022\021\n\004name\030\001 \001(\tH\000\210\001\001\022\022\n\005pitch\030\002 " - "\001(\002H\001\210\001\001\022\021\n\004xMin\030\003 \001(\002H\002\210\001\001\022\021\n\004yMin\030\004 \001(" - "\002H\003\210\001\001\022\021\n\004xMax\030\005 \001(\002H\004\210\001\001\022\021\n\004yMax\030\006 \001(\002H" - "\005\210\001\001\022\037\n\022attributesIdString\030\007 \001(\tH\006\210\001\001\022I\n" - "\npinRecords\030\010 \003(\01325.Odb.Lib.Protobuf.Eda" - "DataFile.PackageRecord.PinRecord\022[\n\020pinR" - "ecordsByName\030\t \003(\0132A.Odb.Lib.Protobuf.Ed" - "aDataFile.PackageRecord.PinRecordsByName" - "Entry\022E\n\017propertyRecords\030\n \003(\0132,.Odb.Lib" - ".Protobuf.EdaDataFile.PropertyRecord\032n\n\025" - "PinRecordsByNameEntry\022\013\n\003key\030\001 \001(\t\022D\n\005va" - "lue\030\002 \001(\01325.Odb.Lib.Protobuf.EdaDataFile" - ".PackageRecord.PinRecord:\0028\001\032\235\006\n\tPinReco" - "rd\022\021\n\004name\030\001 \001(\tH\000\210\001\001\022M\n\004type\030\002 \001(\0162:.Od" - "b.Lib.Protobuf.EdaDataFile.PackageRecord" - ".PinRecord.TypeH\001\210\001\001\022\024\n\007xCenter\030\003 \001(\002H\002\210" - "\001\001\022\024\n\007yCenter\030\004 \001(\002H\003\210\001\001\022\035\n\020finishedHole" - "Size\030\005 \001(\002H\004\210\001\001\022a\n\016electricalType\030\006 \001(\0162" - "D.Odb.Lib.Protobuf.EdaDataFile.PackageRe" - "cord.PinRecord.ElectricalTypeH\005\210\001\001\022W\n\tmo" - "untType\030\007 \001(\0162\?.Odb.Lib.Protobuf.EdaData" - "File.PackageRecord.PinRecord.MountTypeH\006" - "\210\001\001\022\017\n\002id\030\010 \001(\rH\007\210\001\001\022\022\n\005index\030\t \001(\rH\010\210\001\001" - "\"0\n\004Type\022\020\n\014THROUGH_HOLE\020\000\022\t\n\005BLIND\020\001\022\013\n" - "\007SURFACE\020\002\"C\n\016ElectricalType\022\016\n\nELECTRIC" - "AL\020\000\022\022\n\016NON_ELECTRICAL\020\001\022\r\n\tUNDEFINED\020\002\"" - "\231\001\n\tMountType\022\007\n\003SMT\020\000\022\027\n\023RECOMMENDED_SM" - "T_PAD\020\001\022\023\n\017MT_THROUGH_HOLE\020\002\022\034\n\030RECOMMEN" - "DED_THROUGH_HOLE\020\003\022\014\n\010PRESSFIT\020\004\022\r\n\tNON_" - "BOARD\020\005\022\010\n\004HOLE\020\006\022\020\n\014MT_UNDEFINED\020\007B\007\n\005_" - "nameB\007\n\005_typeB\n\n\010_xCenterB\n\n\010_yCenterB\023\n" - "\021_finishedHoleSizeB\021\n\017_electricalTypeB\014\n" - "\n_mountTypeB\005\n\003_idB\010\n\006_indexB\007\n\005_nameB\010\n" - "\006_pitchB\007\n\005_xMinB\007\n\005_yMinB\007\n\005_xMaxB\007\n\005_y" - "MaxB\025\n\023_attributesIdString\032`\n\025NetRecords" - "ByNameEntry\022\013\n\003key\030\001 \001(\t\0226\n\005value\030\002 \001(\0132" - "\'.Odb.Lib.Protobuf.EdaDataFile.NetRecord" - ":\0028\001\032h\n\031PackageRecordsByNameEntry\022\013\n\003key" - "\030\001 \001(\t\022:\n\005value\030\002 \001(\0132+.Odb.Lib.Protobuf" - ".EdaDataFile.PackageRecord:\0028\001\" \n\tBoardS" - "ide\022\007\n\003TOP\020\000\022\n\n\006BOTTOM\020\001B\007\n\005_pathB\010\n\006_un" - "itsB\t\n\007_sourceb\006proto3" + "cord\022E\n\017propertyRecords\030\005 \003(\0132,.Odb.Lib." + "Protobuf.EdaDataFile.PropertyRecord\032\337\005\n\014" + "SubnetRecord\022L\n\004type\030\001 \001(\01629.Odb.Lib.Pro" + "tobuf.EdaDataFile.NetRecord.SubnetRecord" + ".TypeH\000\210\001\001\022G\n\020featureIdRecords\030\002 \003(\0132-.O" + "db.Lib.Protobuf.EdaDataFile.FeatureIdRec" + "ord\022T\n\010fillType\030\003 \001(\0162=.Odb.Lib.Protobuf" + ".EdaDataFile.NetRecord.SubnetRecord.Fill" + "TypeH\001\210\001\001\022X\n\ncutoutType\030\004 \001(\0162\?.Odb.Lib." + "Protobuf.EdaDataFile.NetRecord.SubnetRec" + "ord.CutoutTypeH\002\210\001\001\022\025\n\010fillSize\030\005 \001(\002H\003\210" + "\001\001\022:\n\004side\030\006 \001(\0162\'.Odb.Lib.Protobuf.EdaD" + "ataFile.BoardSideH\004\210\001\001\022\034\n\017componentNumbe" + "r\030\007 \001(\rH\005\210\001\001\022\033\n\016toeprintNumber\030\010 \001(\rH\006\210\001" + "\001\"3\n\004Type\022\007\n\003VIA\020\000\022\t\n\005TRACE\020\001\022\t\n\005PLANE\020\002" + "\022\014\n\010TOEPRINT\020\003\"\"\n\010FillType\022\t\n\005SOLID\020\000\022\013\n" + "\007OUTLINE\020\001\"\?\n\nCutoutType\022\n\n\006CIRCLE\020\000\022\r\n\t" + "RECTANGLE\020\001\022\013\n\007OCTAGON\020\002\022\t\n\005EXACT\020\003B\007\n\005_" + "typeB\013\n\t_fillTypeB\r\n\013_cutoutTypeB\013\n\t_fil" + "lSizeB\007\n\005_sideB\022\n\020_componentNumberB\021\n\017_t" + "oeprintNumberB\007\n\005_nameB\025\n\023_attributesIdS" + "tringB\010\n\006_index\032\360\n\n\rPackageRecord\022\021\n\004nam" + "e\030\001 \001(\tH\000\210\001\001\022\022\n\005pitch\030\002 \001(\002H\001\210\001\001\022\021\n\004xMin" + "\030\003 \001(\002H\002\210\001\001\022\021\n\004yMin\030\004 \001(\002H\003\210\001\001\022\021\n\004xMax\030\005" + " \001(\002H\004\210\001\001\022\021\n\004yMax\030\006 \001(\002H\005\210\001\001\022\037\n\022attribut" + "esIdString\030\007 \001(\tH\006\210\001\001\022I\n\npinRecords\030\010 \003(" + "\01325.Odb.Lib.Protobuf.EdaDataFile.Package" + "Record.PinRecord\022[\n\020pinRecordsByName\030\t \003" + "(\0132A.Odb.Lib.Protobuf.EdaDataFile.Packag" + "eRecord.PinRecordsByNameEntry\022E\n\017propert" + "yRecords\030\n \003(\0132,.Odb.Lib.Protobuf.EdaDat" + "aFile.PropertyRecord\032n\n\025PinRecordsByName" + "Entry\022\013\n\003key\030\001 \001(\t\022D\n\005value\030\002 \001(\01325.Odb." + "Lib.Protobuf.EdaDataFile.PackageRecord.P" + "inRecord:\0028\001\032\235\006\n\tPinRecord\022\021\n\004name\030\001 \001(\t" + "H\000\210\001\001\022M\n\004type\030\002 \001(\0162:.Odb.Lib.Protobuf.E" + "daDataFile.PackageRecord.PinRecord.TypeH" + "\001\210\001\001\022\024\n\007xCenter\030\003 \001(\002H\002\210\001\001\022\024\n\007yCenter\030\004 " + "\001(\002H\003\210\001\001\022\035\n\020finishedHoleSize\030\005 \001(\002H\004\210\001\001\022" + "a\n\016electricalType\030\006 \001(\0162D.Odb.Lib.Protob" + "uf.EdaDataFile.PackageRecord.PinRecord.E" + "lectricalTypeH\005\210\001\001\022W\n\tmountType\030\007 \001(\0162\?." + "Odb.Lib.Protobuf.EdaDataFile.PackageReco" + "rd.PinRecord.MountTypeH\006\210\001\001\022\017\n\002id\030\010 \001(\rH" + "\007\210\001\001\022\022\n\005index\030\t \001(\rH\010\210\001\001\"0\n\004Type\022\020\n\014THRO" + "UGH_HOLE\020\000\022\t\n\005BLIND\020\001\022\013\n\007SURFACE\020\002\"C\n\016El" + "ectricalType\022\016\n\nELECTRICAL\020\000\022\022\n\016NON_ELEC" + "TRICAL\020\001\022\r\n\tUNDEFINED\020\002\"\231\001\n\tMountType\022\007\n" + "\003SMT\020\000\022\027\n\023RECOMMENDED_SMT_PAD\020\001\022\023\n\017MT_TH" + "ROUGH_HOLE\020\002\022\034\n\030RECOMMENDED_THROUGH_HOLE" + "\020\003\022\014\n\010PRESSFIT\020\004\022\r\n\tNON_BOARD\020\005\022\010\n\004HOLE\020" + "\006\022\020\n\014MT_UNDEFINED\020\007B\007\n\005_nameB\007\n\005_typeB\n\n" + "\010_xCenterB\n\n\010_yCenterB\023\n\021_finishedHoleSi" + "zeB\021\n\017_electricalTypeB\014\n\n_mountTypeB\005\n\003_" + "idB\010\n\006_indexB\007\n\005_nameB\010\n\006_pitchB\007\n\005_xMin" + "B\007\n\005_yMinB\007\n\005_xMaxB\007\n\005_yMaxB\025\n\023_attribut" + "esIdString\032\300\001\n\022FeatureGroupRecord\022\021\n\004typ" + "e\030\001 \001(\tH\000\210\001\001\022E\n\017propertyRecords\030\002 \003(\0132,." + "Odb.Lib.Protobuf.EdaDataFile.PropertyRec" + "ord\022G\n\020featureIdRecords\030\003 \003(\0132-.Odb.Lib." + "Protobuf.EdaDataFile.FeatureIdRecordB\007\n\005" + "_type\032`\n\025NetRecordsByNameEntry\022\013\n\003key\030\001 " + "\001(\t\0226\n\005value\030\002 \001(\0132\'.Odb.Lib.Protobuf.Ed" + "aDataFile.NetRecord:\0028\001\032h\n\031PackageRecord" + "sByNameEntry\022\013\n\003key\030\001 \001(\t\022:\n\005value\030\002 \001(\013" + "2+.Odb.Lib.Protobuf.EdaDataFile.PackageR" + "ecord:\0028\001\" \n\tBoardSide\022\007\n\003TOP\020\000\022\n\n\006BOTTO" + "M\020\001B\007\n\005_pathB\010\n\006_unitsB\t\n\007_sourceb\006proto" + "3" ; static ::_pbi::once_flag descriptor_table_edadatafile_2eproto_once; const ::_pbi::DescriptorTable descriptor_table_edadatafile_2eproto = { - false, false, 3542, descriptor_table_protodef_edadatafile_2eproto, + false, false, 3841, descriptor_table_protodef_edadatafile_2eproto, "edadatafile.proto", - &descriptor_table_edadatafile_2eproto_once, nullptr, 0, 10, + &descriptor_table_edadatafile_2eproto_once, nullptr, 0, 11, schemas, file_default_instances, TableStruct_edadatafile_2eproto::offsets, file_level_metadata_edadatafile_2eproto, file_level_enum_descriptors_edadatafile_2eproto, file_level_service_descriptors_edadatafile_2eproto, @@ -507,11 +551,11 @@ PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_in namespace Odb { namespace Lib { namespace Protobuf { -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_descriptor() { +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* EdaDataFile_FeatureIdRecord_Type_descriptor() { ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_edadatafile_2eproto); return file_level_enum_descriptors_edadatafile_2eproto[0]; } -bool EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_IsValid(int value) { +bool EdaDataFile_FeatureIdRecord_Type_IsValid(int value) { switch (value) { case 0: case 1: @@ -523,12 +567,12 @@ bool EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_IsValid(int value) } #if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912)) -constexpr EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::COPPER; -constexpr EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::LAMINATE; -constexpr EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::HOLE; -constexpr EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::Type_MIN; -constexpr EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::Type_MAX; -constexpr int EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::Type_ARRAYSIZE; +constexpr EdaDataFile_FeatureIdRecord_Type EdaDataFile_FeatureIdRecord::COPPER; +constexpr EdaDataFile_FeatureIdRecord_Type EdaDataFile_FeatureIdRecord::LAMINATE; +constexpr EdaDataFile_FeatureIdRecord_Type EdaDataFile_FeatureIdRecord::HOLE; +constexpr EdaDataFile_FeatureIdRecord_Type EdaDataFile_FeatureIdRecord::Type_MIN; +constexpr EdaDataFile_FeatureIdRecord_Type EdaDataFile_FeatureIdRecord::Type_MAX; +constexpr int EdaDataFile_FeatureIdRecord::Type_ARRAYSIZE; #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912)) const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* EdaDataFile_NetRecord_SubnetRecord_Type_descriptor() { ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_edadatafile_2eproto); @@ -1016,9 +1060,9 @@ ::PROTOBUF_NAMESPACE_ID::Metadata EdaDataFile_PropertyRecord::GetMetadata() cons // =================================================================== -class EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::_Internal { +class EdaDataFile_FeatureIdRecord::_Internal { public: - using HasBits = decltype(std::declval()._impl_._has_bits_); + using HasBits = decltype(std::declval()._impl_._has_bits_); static void set_has_type(HasBits* has_bits) { (*has_bits)[0] |= 1u; } @@ -1030,15 +1074,15 @@ class EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::_Internal { } }; -EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord(::PROTOBUF_NAMESPACE_ID::Arena* arena, +EdaDataFile_FeatureIdRecord::EdaDataFile_FeatureIdRecord(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.FeatureIdRecord) + // @@protoc_insertion_point(arena_constructor:Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord) } -EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord(const EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord& from) +EdaDataFile_FeatureIdRecord::EdaDataFile_FeatureIdRecord(const EdaDataFile_FeatureIdRecord& from) : ::PROTOBUF_NAMESPACE_ID::Message() { - EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord* const _this = this; (void)_this; + EdaDataFile_FeatureIdRecord* const _this = this; (void)_this; new (&_impl_) Impl_{ decltype(_impl_._has_bits_){from._impl_._has_bits_} , /*decltype(_impl_._cached_size_)*/{} @@ -1050,10 +1094,10 @@ EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::EdaDataFile_NetRecord_Subnet ::memcpy(&_impl_.type_, &from._impl_.type_, static_cast(reinterpret_cast(&_impl_.featurenumber_) - reinterpret_cast(&_impl_.type_)) + sizeof(_impl_.featurenumber_)); - // @@protoc_insertion_point(copy_constructor:Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.FeatureIdRecord) + // @@protoc_insertion_point(copy_constructor:Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord) } -inline void EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::SharedCtor( +inline void EdaDataFile_FeatureIdRecord::SharedCtor( ::_pb::Arena* arena, bool is_message_owned) { (void)arena; (void)is_message_owned; @@ -1066,8 +1110,8 @@ inline void EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::SharedCtor( }; } -EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::~EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord() { - // @@protoc_insertion_point(destructor:Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.FeatureIdRecord) +EdaDataFile_FeatureIdRecord::~EdaDataFile_FeatureIdRecord() { + // @@protoc_insertion_point(destructor:Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord) if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { (void)arena; return; @@ -1075,16 +1119,16 @@ EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::~EdaDataFile_NetRecord_Subne SharedDtor(); } -inline void EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::SharedDtor() { +inline void EdaDataFile_FeatureIdRecord::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); } -void EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::SetCachedSize(int size) const { +void EdaDataFile_FeatureIdRecord::SetCachedSize(int size) const { _impl_._cached_size_.Set(size); } -void EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::Clear() { -// @@protoc_insertion_point(message_clear_start:Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.FeatureIdRecord) +void EdaDataFile_FeatureIdRecord::Clear() { +// @@protoc_insertion_point(message_clear_start:Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord) uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; @@ -1099,19 +1143,19 @@ void EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::Clear() { _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +const char* EdaDataFile_FeatureIdRecord::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure _Internal::HasBits has_bits{}; while (!ctx->Done(&ptr)) { uint32_t tag; ptr = ::_pbi::ReadTag(ptr, &tag); switch (tag >> 3) { - // optional .Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.FeatureIdRecord.Type type = 1; + // optional .Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord.Type type = 1; case 1: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); CHK_(ptr); - _internal_set_type(static_cast<::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type>(val)); + _internal_set_type(static_cast<::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord_Type>(val)); } else goto handle_unusual; continue; @@ -1157,13 +1201,13 @@ const char* EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::_InternalParse(c #undef CHK_ } -uint8_t* EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::_InternalSerialize( +uint8_t* EdaDataFile_FeatureIdRecord::_InternalSerialize( uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.FeatureIdRecord) + // @@protoc_insertion_point(serialize_to_array_start:Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord) uint32_t cached_has_bits = 0; (void) cached_has_bits; - // optional .Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.FeatureIdRecord.Type type = 1; + // optional .Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord.Type type = 1; if (_internal_has_type()) { target = stream->EnsureSpace(target); target = ::_pbi::WireFormatLite::WriteEnumToArray( @@ -1186,12 +1230,12 @@ uint8_t* EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::_InternalSerialize( target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.FeatureIdRecord) + // @@protoc_insertion_point(serialize_to_array_end:Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord) return target; } -size_t EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.FeatureIdRecord) +size_t EdaDataFile_FeatureIdRecord::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord) size_t total_size = 0; uint32_t cached_has_bits = 0; @@ -1200,7 +1244,7 @@ size_t EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::ByteSizeLong() const cached_has_bits = _impl_._has_bits_[0]; if (cached_has_bits & 0x00000007u) { - // optional .Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.FeatureIdRecord.Type type = 1; + // optional .Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord.Type type = 1; if (cached_has_bits & 0x00000001u) { total_size += 1 + ::_pbi::WireFormatLite::EnumSize(this->_internal_type()); @@ -1220,17 +1264,17 @@ size_t EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::ByteSizeLong() const return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); } -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::_class_data_ = { +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData EdaDataFile_FeatureIdRecord::_class_data_ = { ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::MergeImpl + EdaDataFile_FeatureIdRecord::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*EdaDataFile_FeatureIdRecord::GetClassData() const { return &_class_data_; } -void EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.FeatureIdRecord) +void EdaDataFile_FeatureIdRecord::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord) GOOGLE_DCHECK_NE(&from, _this); uint32_t cached_has_bits = 0; (void) cached_has_bits; @@ -1251,30 +1295,30 @@ void EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::MergeImpl(::PROTOBUF_NA _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } -void EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::CopyFrom(const EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.FeatureIdRecord) +void EdaDataFile_FeatureIdRecord::CopyFrom(const EdaDataFile_FeatureIdRecord& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord) if (&from == this) return; Clear(); MergeFrom(from); } -bool EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::IsInitialized() const { +bool EdaDataFile_FeatureIdRecord::IsInitialized() const { return true; } -void EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::InternalSwap(EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord* other) { +void EdaDataFile_FeatureIdRecord::InternalSwap(EdaDataFile_FeatureIdRecord* other) { using std::swap; _internal_metadata_.InternalSwap(&other->_internal_metadata_); swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord, _impl_.featurenumber_) - + sizeof(EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::_impl_.featurenumber_) - - PROTOBUF_FIELD_OFFSET(EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord, _impl_.type_)>( + PROTOBUF_FIELD_OFFSET(EdaDataFile_FeatureIdRecord, _impl_.featurenumber_) + + sizeof(EdaDataFile_FeatureIdRecord::_impl_.featurenumber_) + - PROTOBUF_FIELD_OFFSET(EdaDataFile_FeatureIdRecord, _impl_.type_)>( reinterpret_cast(&_impl_.type_), reinterpret_cast(&other->_impl_.type_)); } -::PROTOBUF_NAMESPACE_ID::Metadata EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata EdaDataFile_FeatureIdRecord::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_edadatafile_2eproto_getter, &descriptor_table_edadatafile_2eproto_once, file_level_metadata_edadatafile_2eproto[1]); @@ -1405,7 +1449,7 @@ const char* EdaDataFile_NetRecord_SubnetRecord::_InternalParse(const char* ptr, } else goto handle_unusual; continue; - // repeated .Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.FeatureIdRecord featureIdRecords = 2; + // repeated .Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord featureIdRecords = 2; case 2: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { ptr -= 1; @@ -1509,7 +1553,7 @@ uint8_t* EdaDataFile_NetRecord_SubnetRecord::_InternalSerialize( 1, this->_internal_type(), target); } - // repeated .Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.FeatureIdRecord featureIdRecords = 2; + // repeated .Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord featureIdRecords = 2; for (unsigned i = 0, n = static_cast(this->_internal_featureidrecords_size()); i < n; i++) { const auto& repfield = this->_internal_featureidrecords(i); @@ -1572,7 +1616,7 @@ size_t EdaDataFile_NetRecord_SubnetRecord::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // repeated .Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.FeatureIdRecord featureIdRecords = 2; + // repeated .Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord featureIdRecords = 2; total_size += 1UL * this->_internal_featureidrecords_size(); for (const auto& msg : this->_impl_.featureidrecords_) { total_size += @@ -3127,6 +3171,291 @@ ::PROTOBUF_NAMESPACE_ID::Metadata EdaDataFile_PackageRecord::GetMetadata() const // =================================================================== +class EdaDataFile_FeatureGroupRecord::_Internal { + public: + using HasBits = decltype(std::declval()._impl_._has_bits_); + static void set_has_type(HasBits* has_bits) { + (*has_bits)[0] |= 1u; + } +}; + +EdaDataFile_FeatureGroupRecord::EdaDataFile_FeatureGroupRecord(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord) +} +EdaDataFile_FeatureGroupRecord::EdaDataFile_FeatureGroupRecord(const EdaDataFile_FeatureGroupRecord& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + EdaDataFile_FeatureGroupRecord* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_._has_bits_){from._impl_._has_bits_} + , /*decltype(_impl_._cached_size_)*/{} + , decltype(_impl_.propertyrecords_){from._impl_.propertyrecords_} + , decltype(_impl_.featureidrecords_){from._impl_.featureidrecords_} + , decltype(_impl_.type_){}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.type_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.type_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (from._internal_has_type()) { + _this->_impl_.type_.Set(from._internal_type(), + _this->GetArenaForAllocation()); + } + // @@protoc_insertion_point(copy_constructor:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord) +} + +inline void EdaDataFile_FeatureGroupRecord::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_._has_bits_){} + , /*decltype(_impl_._cached_size_)*/{} + , decltype(_impl_.propertyrecords_){arena} + , decltype(_impl_.featureidrecords_){arena} + , decltype(_impl_.type_){} + }; + _impl_.type_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.type_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +EdaDataFile_FeatureGroupRecord::~EdaDataFile_FeatureGroupRecord() { + // @@protoc_insertion_point(destructor:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void EdaDataFile_FeatureGroupRecord::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.propertyrecords_.~RepeatedPtrField(); + _impl_.featureidrecords_.~RepeatedPtrField(); + _impl_.type_.Destroy(); +} + +void EdaDataFile_FeatureGroupRecord::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void EdaDataFile_FeatureGroupRecord::Clear() { +// @@protoc_insertion_point(message_clear_start:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.propertyrecords_.Clear(); + _impl_.featureidrecords_.Clear(); + cached_has_bits = _impl_._has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + _impl_.type_.ClearNonDefaultToEmpty(); + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* EdaDataFile_FeatureGroupRecord::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + _Internal::HasBits has_bits{}; + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // optional string type = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_type(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord.type")); + } else + goto handle_unusual; + continue; + // repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_propertyrecords(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr)); + } else + goto handle_unusual; + continue; + // repeated .Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord featureIdRecords = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_featureidrecords(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr)); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + _impl_._has_bits_.Or(has_bits); + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* EdaDataFile_FeatureGroupRecord::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // optional string type = 1; + if (_internal_has_type()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_type().data(), static_cast(this->_internal_type().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord.type"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_type(), target); + } + + // repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 2; + for (unsigned i = 0, + n = static_cast(this->_internal_propertyrecords_size()); i < n; i++) { + const auto& repfield = this->_internal_propertyrecords(i); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream); + } + + // repeated .Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord featureIdRecords = 3; + for (unsigned i = 0, + n = static_cast(this->_internal_featureidrecords_size()); i < n; i++) { + const auto& repfield = this->_internal_featureidrecords(i); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord) + return target; +} + +size_t EdaDataFile_FeatureGroupRecord::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 2; + total_size += 1UL * this->_internal_propertyrecords_size(); + for (const auto& msg : this->_impl_.propertyrecords_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + + // repeated .Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord featureIdRecords = 3; + total_size += 1UL * this->_internal_featureidrecords_size(); + for (const auto& msg : this->_impl_.featureidrecords_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + + // optional string type = 1; + cached_has_bits = _impl_._has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_type()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData EdaDataFile_FeatureGroupRecord::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + EdaDataFile_FeatureGroupRecord::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*EdaDataFile_FeatureGroupRecord::GetClassData() const { return &_class_data_; } + + +void EdaDataFile_FeatureGroupRecord::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + _this->_impl_.propertyrecords_.MergeFrom(from._impl_.propertyrecords_); + _this->_impl_.featureidrecords_.MergeFrom(from._impl_.featureidrecords_); + if (from._internal_has_type()) { + _this->_internal_set_type(from._internal_type()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void EdaDataFile_FeatureGroupRecord::CopyFrom(const EdaDataFile_FeatureGroupRecord& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool EdaDataFile_FeatureGroupRecord::IsInitialized() const { + return true; +} + +void EdaDataFile_FeatureGroupRecord::InternalSwap(EdaDataFile_FeatureGroupRecord* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.propertyrecords_.InternalSwap(&other->_impl_.propertyrecords_); + _impl_.featureidrecords_.InternalSwap(&other->_impl_.featureidrecords_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.type_, lhs_arena, + &other->_impl_.type_, rhs_arena + ); +} + +::PROTOBUF_NAMESPACE_ID::Metadata EdaDataFile_FeatureGroupRecord::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_edadatafile_2eproto_getter, &descriptor_table_edadatafile_2eproto_once, + file_level_metadata_edadatafile_2eproto[7]); +} + +// =================================================================== + EdaDataFile_NetRecordsByNameEntry_DoNotUse::EdaDataFile_NetRecordsByNameEntry_DoNotUse() {} EdaDataFile_NetRecordsByNameEntry_DoNotUse::EdaDataFile_NetRecordsByNameEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena) : SuperType(arena) {} @@ -3136,7 +3465,7 @@ void EdaDataFile_NetRecordsByNameEntry_DoNotUse::MergeFrom(const EdaDataFile_Net ::PROTOBUF_NAMESPACE_ID::Metadata EdaDataFile_NetRecordsByNameEntry_DoNotUse::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_edadatafile_2eproto_getter, &descriptor_table_edadatafile_2eproto_once, - file_level_metadata_edadatafile_2eproto[7]); + file_level_metadata_edadatafile_2eproto[8]); } // =================================================================== @@ -3150,7 +3479,7 @@ void EdaDataFile_PackageRecordsByNameEntry_DoNotUse::MergeFrom(const EdaDataFile ::PROTOBUF_NAMESPACE_ID::Metadata EdaDataFile_PackageRecordsByNameEntry_DoNotUse::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_edadatafile_2eproto_getter, &descriptor_table_edadatafile_2eproto_once, - file_level_metadata_edadatafile_2eproto[8]); + file_level_metadata_edadatafile_2eproto[9]); } // =================================================================== @@ -3191,6 +3520,8 @@ EdaDataFile::EdaDataFile(const EdaDataFile& from) , /*decltype(_impl_.netrecordsbyname_)*/{} , decltype(_impl_.packagerecords_){from._impl_.packagerecords_} , /*decltype(_impl_.packagerecordsbyname_)*/{} + , decltype(_impl_.propertyrecords_){from._impl_.propertyrecords_} + , decltype(_impl_.featuregrouprecords_){from._impl_.featuregrouprecords_} , decltype(_impl_.path_){} , decltype(_impl_.units_){} , decltype(_impl_.source_){}}; @@ -3239,6 +3570,8 @@ inline void EdaDataFile::SharedCtor( , /*decltype(_impl_.netrecordsbyname_)*/{::_pbi::ArenaInitialized(), arena} , decltype(_impl_.packagerecords_){arena} , /*decltype(_impl_.packagerecordsbyname_)*/{::_pbi::ArenaInitialized(), arena} + , decltype(_impl_.propertyrecords_){arena} + , decltype(_impl_.featuregrouprecords_){arena} , decltype(_impl_.path_){} , decltype(_impl_.units_){} , decltype(_impl_.source_){} @@ -3278,6 +3611,8 @@ inline void EdaDataFile::SharedDtor() { _impl_.packagerecords_.~RepeatedPtrField(); _impl_.packagerecordsbyname_.Destruct(); _impl_.packagerecordsbyname_.~MapField(); + _impl_.propertyrecords_.~RepeatedPtrField(); + _impl_.featuregrouprecords_.~RepeatedPtrField(); _impl_.path_.Destroy(); _impl_.units_.Destroy(); _impl_.source_.Destroy(); @@ -3305,6 +3640,8 @@ void EdaDataFile::Clear() { _impl_.netrecordsbyname_.Clear(); _impl_.packagerecords_.Clear(); _impl_.packagerecordsbyname_.Clear(); + _impl_.propertyrecords_.Clear(); + _impl_.featuregrouprecords_.Clear(); cached_has_bits = _impl_._has_bits_[0]; if (cached_has_bits & 0x00000007u) { if (cached_has_bits & 0x00000001u) { @@ -3455,6 +3792,32 @@ const char* EdaDataFile::_InternalParse(const char* ptr, ::_pbi::ParseContext* c } else goto handle_unusual; continue; + // repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 11; + case 11: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 90)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_propertyrecords(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<90>(ptr)); + } else + goto handle_unusual; + continue; + // repeated .Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord featureGroupRecords = 12; + case 12: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 98)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_featuregrouprecords(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<98>(ptr)); + } else + goto handle_unusual; + continue; default: goto handle_unusual; } // switch @@ -3613,6 +3976,22 @@ uint8_t* EdaDataFile::_InternalSerialize( } } + // repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 11; + for (unsigned i = 0, + n = static_cast(this->_internal_propertyrecords_size()); i < n; i++) { + const auto& repfield = this->_internal_propertyrecords(i); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(11, repfield, repfield.GetCachedSize(), target, stream); + } + + // repeated .Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord featureGroupRecords = 12; + for (unsigned i = 0, + n = static_cast(this->_internal_featuregrouprecords_size()); i < n; i++) { + const auto& repfield = this->_internal_featuregrouprecords(i); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(12, repfield, repfield.GetCachedSize(), target, stream); + } + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); @@ -3685,6 +4064,20 @@ size_t EdaDataFile::ByteSizeLong() const { total_size += EdaDataFile_PackageRecordsByNameEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second); } + // repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 11; + total_size += 1UL * this->_internal_propertyrecords_size(); + for (const auto& msg : this->_impl_.propertyrecords_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + + // repeated .Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord featureGroupRecords = 12; + total_size += 1UL * this->_internal_featuregrouprecords_size(); + for (const auto& msg : this->_impl_.featuregrouprecords_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + cached_has_bits = _impl_._has_bits_[0]; if (cached_has_bits & 0x00000007u) { // optional string path = 1; @@ -3734,6 +4127,8 @@ void EdaDataFile::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PR _this->_impl_.netrecordsbyname_.MergeFrom(from._impl_.netrecordsbyname_); _this->_impl_.packagerecords_.MergeFrom(from._impl_.packagerecords_); _this->_impl_.packagerecordsbyname_.MergeFrom(from._impl_.packagerecordsbyname_); + _this->_impl_.propertyrecords_.MergeFrom(from._impl_.propertyrecords_); + _this->_impl_.featuregrouprecords_.MergeFrom(from._impl_.featuregrouprecords_); cached_has_bits = from._impl_._has_bits_[0]; if (cached_has_bits & 0x00000007u) { if (cached_has_bits & 0x00000001u) { @@ -3773,6 +4168,8 @@ void EdaDataFile::InternalSwap(EdaDataFile* other) { _impl_.netrecordsbyname_.InternalSwap(&other->_impl_.netrecordsbyname_); _impl_.packagerecords_.InternalSwap(&other->_impl_.packagerecords_); _impl_.packagerecordsbyname_.InternalSwap(&other->_impl_.packagerecordsbyname_); + _impl_.propertyrecords_.InternalSwap(&other->_impl_.propertyrecords_); + _impl_.featuregrouprecords_.InternalSwap(&other->_impl_.featuregrouprecords_); ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( &_impl_.path_, lhs_arena, &other->_impl_.path_, rhs_arena @@ -3790,7 +4187,7 @@ void EdaDataFile::InternalSwap(EdaDataFile* other) { ::PROTOBUF_NAMESPACE_ID::Metadata EdaDataFile::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_edadatafile_2eproto_getter, &descriptor_table_edadatafile_2eproto_once, - file_level_metadata_edadatafile_2eproto[9]); + file_level_metadata_edadatafile_2eproto[10]); } // @@protoc_insertion_point(namespace_scope) @@ -3802,9 +4199,9 @@ template<> PROTOBUF_NOINLINE ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* Arena::CreateMaybeMessage< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord >(Arena* arena) { return Arena::CreateMessageInternal< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord >(arena); } -template<> PROTOBUF_NOINLINE ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord* -Arena::CreateMaybeMessage< ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord >(Arena* arena) { - return Arena::CreateMessageInternal< ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord >(arena); +template<> PROTOBUF_NOINLINE ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord* +Arena::CreateMaybeMessage< ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord >(Arena* arena) { + return Arena::CreateMessageInternal< ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord >(arena); } template<> PROTOBUF_NOINLINE ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord* Arena::CreateMaybeMessage< ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord >(Arena* arena) { @@ -3826,6 +4223,10 @@ template<> PROTOBUF_NOINLINE ::Odb::Lib::Protobuf::EdaDataFile_PackageRecord* Arena::CreateMaybeMessage< ::Odb::Lib::Protobuf::EdaDataFile_PackageRecord >(Arena* arena) { return Arena::CreateMessageInternal< ::Odb::Lib::Protobuf::EdaDataFile_PackageRecord >(arena); } +template<> PROTOBUF_NOINLINE ::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord* +Arena::CreateMaybeMessage< ::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord >(Arena* arena) { + return Arena::CreateMessageInternal< ::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord >(arena); +} template<> PROTOBUF_NOINLINE ::Odb::Lib::Protobuf::EdaDataFile_NetRecordsByNameEntry_DoNotUse* Arena::CreateMaybeMessage< ::Odb::Lib::Protobuf::EdaDataFile_NetRecordsByNameEntry_DoNotUse >(Arena* arena) { return Arena::CreateMessageInternal< ::Odb::Lib::Protobuf::EdaDataFile_NetRecordsByNameEntry_DoNotUse >(arena); diff --git a/OdbDesignLib/ProtoBuf/edadatafile.pb.h b/OdbDesignLib/ProtoBuf/edadatafile.pb.h index 6f1c3d88..3a231db1 100644 --- a/OdbDesignLib/ProtoBuf/edadatafile.pb.h +++ b/OdbDesignLib/ProtoBuf/edadatafile.pb.h @@ -54,15 +54,18 @@ namespace Protobuf { class EdaDataFile; struct EdaDataFileDefaultTypeInternal; extern EdaDataFileDefaultTypeInternal _EdaDataFile_default_instance_; +class EdaDataFile_FeatureGroupRecord; +struct EdaDataFile_FeatureGroupRecordDefaultTypeInternal; +extern EdaDataFile_FeatureGroupRecordDefaultTypeInternal _EdaDataFile_FeatureGroupRecord_default_instance_; +class EdaDataFile_FeatureIdRecord; +struct EdaDataFile_FeatureIdRecordDefaultTypeInternal; +extern EdaDataFile_FeatureIdRecordDefaultTypeInternal _EdaDataFile_FeatureIdRecord_default_instance_; class EdaDataFile_NetRecord; struct EdaDataFile_NetRecordDefaultTypeInternal; extern EdaDataFile_NetRecordDefaultTypeInternal _EdaDataFile_NetRecord_default_instance_; class EdaDataFile_NetRecord_SubnetRecord; struct EdaDataFile_NetRecord_SubnetRecordDefaultTypeInternal; extern EdaDataFile_NetRecord_SubnetRecordDefaultTypeInternal _EdaDataFile_NetRecord_SubnetRecord_default_instance_; -class EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord; -struct EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecordDefaultTypeInternal; -extern EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecordDefaultTypeInternal _EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_default_instance_; class EdaDataFile_NetRecordsByNameEntry_DoNotUse; struct EdaDataFile_NetRecordsByNameEntry_DoNotUseDefaultTypeInternal; extern EdaDataFile_NetRecordsByNameEntry_DoNotUseDefaultTypeInternal _EdaDataFile_NetRecordsByNameEntry_DoNotUse_default_instance_; @@ -86,9 +89,10 @@ extern EdaDataFile_PropertyRecordDefaultTypeInternal _EdaDataFile_PropertyRecord } // namespace Odb PROTOBUF_NAMESPACE_OPEN template<> ::Odb::Lib::Protobuf::EdaDataFile* Arena::CreateMaybeMessage<::Odb::Lib::Protobuf::EdaDataFile>(Arena*); +template<> ::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord* Arena::CreateMaybeMessage<::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord>(Arena*); +template<> ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord* Arena::CreateMaybeMessage<::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord>(Arena*); template<> ::Odb::Lib::Protobuf::EdaDataFile_NetRecord* Arena::CreateMaybeMessage<::Odb::Lib::Protobuf::EdaDataFile_NetRecord>(Arena*); template<> ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord* Arena::CreateMaybeMessage<::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord>(Arena*); -template<> ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord* Arena::CreateMaybeMessage<::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord>(Arena*); template<> ::Odb::Lib::Protobuf::EdaDataFile_NetRecordsByNameEntry_DoNotUse* Arena::CreateMaybeMessage<::Odb::Lib::Protobuf::EdaDataFile_NetRecordsByNameEntry_DoNotUse>(Arena*); template<> ::Odb::Lib::Protobuf::EdaDataFile_PackageRecord* Arena::CreateMaybeMessage<::Odb::Lib::Protobuf::EdaDataFile_PackageRecord>(Arena*); template<> ::Odb::Lib::Protobuf::EdaDataFile_PackageRecord_PinRecord* Arena::CreateMaybeMessage<::Odb::Lib::Protobuf::EdaDataFile_PackageRecord_PinRecord>(Arena*); @@ -100,31 +104,31 @@ namespace Odb { namespace Lib { namespace Protobuf { -enum EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type : int { - EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_COPPER = 0, - EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_LAMINATE = 1, - EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_HOLE = 2, - EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() +enum EdaDataFile_FeatureIdRecord_Type : int { + EdaDataFile_FeatureIdRecord_Type_COPPER = 0, + EdaDataFile_FeatureIdRecord_Type_LAMINATE = 1, + EdaDataFile_FeatureIdRecord_Type_HOLE = 2, + EdaDataFile_FeatureIdRecord_Type_EdaDataFile_FeatureIdRecord_Type_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), + EdaDataFile_FeatureIdRecord_Type_EdaDataFile_FeatureIdRecord_Type_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() }; -bool EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_IsValid(int value); -constexpr EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_Type_MIN = EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_COPPER; -constexpr EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_Type_MAX = EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_HOLE; -constexpr int EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_Type_ARRAYSIZE = EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_Type_MAX + 1; +bool EdaDataFile_FeatureIdRecord_Type_IsValid(int value); +constexpr EdaDataFile_FeatureIdRecord_Type EdaDataFile_FeatureIdRecord_Type_Type_MIN = EdaDataFile_FeatureIdRecord_Type_COPPER; +constexpr EdaDataFile_FeatureIdRecord_Type EdaDataFile_FeatureIdRecord_Type_Type_MAX = EdaDataFile_FeatureIdRecord_Type_HOLE; +constexpr int EdaDataFile_FeatureIdRecord_Type_Type_ARRAYSIZE = EdaDataFile_FeatureIdRecord_Type_Type_MAX + 1; -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_descriptor(); +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* EdaDataFile_FeatureIdRecord_Type_descriptor(); template -inline const std::string& EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_Name(T enum_t_value) { - static_assert(::std::is_same::value || +inline const std::string& EdaDataFile_FeatureIdRecord_Type_Name(T enum_t_value) { + static_assert(::std::is_same::value || ::std::is_integral::value, - "Incorrect type passed to function EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_Name."); + "Incorrect type passed to function EdaDataFile_FeatureIdRecord_Type_Name."); return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_descriptor(), enum_t_value); + EdaDataFile_FeatureIdRecord_Type_descriptor(), enum_t_value); } -inline bool EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_descriptor(), name, value); +inline bool EdaDataFile_FeatureIdRecord_Type_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, EdaDataFile_FeatureIdRecord_Type* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + EdaDataFile_FeatureIdRecord_Type_descriptor(), name, value); } enum EdaDataFile_NetRecord_SubnetRecord_Type : int { EdaDataFile_NetRecord_SubnetRecord_Type_VIA = 0, @@ -517,24 +521,24 @@ class EdaDataFile_PropertyRecord final : }; // ------------------------------------------------------------------- -class EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.FeatureIdRecord) */ { +class EdaDataFile_FeatureIdRecord final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord) */ { public: - inline EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord() : EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord(nullptr) {} - ~EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord() override; - explicit PROTOBUF_CONSTEXPR EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline EdaDataFile_FeatureIdRecord() : EdaDataFile_FeatureIdRecord(nullptr) {} + ~EdaDataFile_FeatureIdRecord() override; + explicit PROTOBUF_CONSTEXPR EdaDataFile_FeatureIdRecord(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord(const EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord& from); - EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord(EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord&& from) noexcept - : EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord() { + EdaDataFile_FeatureIdRecord(const EdaDataFile_FeatureIdRecord& from); + EdaDataFile_FeatureIdRecord(EdaDataFile_FeatureIdRecord&& from) noexcept + : EdaDataFile_FeatureIdRecord() { *this = ::std::move(from); } - inline EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord& operator=(const EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord& from) { + inline EdaDataFile_FeatureIdRecord& operator=(const EdaDataFile_FeatureIdRecord& from) { CopyFrom(from); return *this; } - inline EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord& operator=(EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord&& from) noexcept { + inline EdaDataFile_FeatureIdRecord& operator=(EdaDataFile_FeatureIdRecord&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -557,20 +561,20 @@ class EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord& default_instance() { + static const EdaDataFile_FeatureIdRecord& default_instance() { return *internal_default_instance(); } - static inline const EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord* internal_default_instance() { - return reinterpret_cast( - &_EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_default_instance_); + static inline const EdaDataFile_FeatureIdRecord* internal_default_instance() { + return reinterpret_cast( + &_EdaDataFile_FeatureIdRecord_default_instance_); } static constexpr int kIndexInFileMessages = 1; - friend void swap(EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord& a, EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord& b) { + friend void swap(EdaDataFile_FeatureIdRecord& a, EdaDataFile_FeatureIdRecord& b) { a.Swap(&b); } - inline void Swap(EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord* other) { + inline void Swap(EdaDataFile_FeatureIdRecord* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -583,7 +587,7 @@ class EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord* other) { + void UnsafeArenaSwap(EdaDataFile_FeatureIdRecord* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -591,14 +595,14 @@ class EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord final : // implements Message ---------------------------------------------- - EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + EdaDataFile_FeatureIdRecord* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord& from); + void CopyFrom(const EdaDataFile_FeatureIdRecord& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord& from) { - EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::MergeImpl(*this, from); + void MergeFrom( const EdaDataFile_FeatureIdRecord& from) { + EdaDataFile_FeatureIdRecord::MergeImpl(*this, from); } private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); @@ -616,15 +620,15 @@ class EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord final : void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord* other); + void InternalSwap(EdaDataFile_FeatureIdRecord* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.FeatureIdRecord"; + return "Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord"; } protected: - explicit EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit EdaDataFile_FeatureIdRecord(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -635,36 +639,36 @@ class EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord final : // nested types ---------------------------------------------------- - typedef EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type Type; + typedef EdaDataFile_FeatureIdRecord_Type Type; static constexpr Type COPPER = - EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_COPPER; + EdaDataFile_FeatureIdRecord_Type_COPPER; static constexpr Type LAMINATE = - EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_LAMINATE; + EdaDataFile_FeatureIdRecord_Type_LAMINATE; static constexpr Type HOLE = - EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_HOLE; + EdaDataFile_FeatureIdRecord_Type_HOLE; static inline bool Type_IsValid(int value) { - return EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_IsValid(value); + return EdaDataFile_FeatureIdRecord_Type_IsValid(value); } static constexpr Type Type_MIN = - EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_Type_MIN; + EdaDataFile_FeatureIdRecord_Type_Type_MIN; static constexpr Type Type_MAX = - EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_Type_MAX; + EdaDataFile_FeatureIdRecord_Type_Type_MAX; static constexpr int Type_ARRAYSIZE = - EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_Type_ARRAYSIZE; + EdaDataFile_FeatureIdRecord_Type_Type_ARRAYSIZE; static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Type_descriptor() { - return EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_descriptor(); + return EdaDataFile_FeatureIdRecord_Type_descriptor(); } template static inline const std::string& Type_Name(T enum_t_value) { static_assert(::std::is_same::value || ::std::is_integral::value, "Incorrect type passed to function Type_Name."); - return EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_Name(enum_t_value); + return EdaDataFile_FeatureIdRecord_Type_Name(enum_t_value); } static inline bool Type_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Type* value) { - return EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_Parse(name, value); + return EdaDataFile_FeatureIdRecord_Type_Parse(name, value); } // accessors ------------------------------------------------------- @@ -674,17 +678,17 @@ class EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord final : kLayerNumberFieldNumber = 2, kFeatureNumberFieldNumber = 3, }; - // optional .Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.FeatureIdRecord.Type type = 1; + // optional .Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord.Type type = 1; bool has_type() const; private: bool _internal_has_type() const; public: void clear_type(); - ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type type() const; - void set_type(::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type value); + ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord_Type type() const; + void set_type(::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord_Type value); private: - ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type _internal_type() const; - void _internal_set_type(::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type value); + ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord_Type _internal_type() const; + void _internal_set_type(::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord_Type value); public: // optional uint32 layerNumber = 2; @@ -713,7 +717,7 @@ class EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord final : void _internal_set_featurenumber(uint32_t value); public: - // @@protoc_insertion_point(class_scope:Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.FeatureIdRecord) + // @@protoc_insertion_point(class_scope:Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord) private: class _Internal; @@ -850,8 +854,6 @@ class EdaDataFile_NetRecord_SubnetRecord final : // nested types ---------------------------------------------------- - typedef EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord FeatureIdRecord; - typedef EdaDataFile_NetRecord_SubnetRecord_Type Type; static constexpr Type VIA = EdaDataFile_NetRecord_SubnetRecord_Type_VIA; @@ -962,22 +964,22 @@ class EdaDataFile_NetRecord_SubnetRecord final : kComponentNumberFieldNumber = 7, kToeprintNumberFieldNumber = 8, }; - // repeated .Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.FeatureIdRecord featureIdRecords = 2; + // repeated .Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord featureIdRecords = 2; int featureidrecords_size() const; private: int _internal_featureidrecords_size() const; public: void clear_featureidrecords(); - ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord* mutable_featureidrecords(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord >* + ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord* mutable_featureidrecords(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord >* mutable_featureidrecords(); private: - const ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord& _internal_featureidrecords(int index) const; - ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord* _internal_add_featureidrecords(); + const ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord& _internal_featureidrecords(int index) const; + ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord* _internal_add_featureidrecords(); public: - const ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord& featureidrecords(int index) const; - ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord* add_featureidrecords(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord >& + const ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord& featureidrecords(int index) const; + ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord* add_featureidrecords(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord >& featureidrecords() const; // optional .Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.Type type = 1; @@ -1081,7 +1083,7 @@ class EdaDataFile_NetRecord_SubnetRecord final : struct Impl_ { ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord > featureidrecords_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord > featureidrecords_; int type_; int filltype_; int cutouttype_; @@ -2060,6 +2062,204 @@ class EdaDataFile_PackageRecord final : }; // ------------------------------------------------------------------- +class EdaDataFile_FeatureGroupRecord final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord) */ { + public: + inline EdaDataFile_FeatureGroupRecord() : EdaDataFile_FeatureGroupRecord(nullptr) {} + ~EdaDataFile_FeatureGroupRecord() override; + explicit PROTOBUF_CONSTEXPR EdaDataFile_FeatureGroupRecord(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + EdaDataFile_FeatureGroupRecord(const EdaDataFile_FeatureGroupRecord& from); + EdaDataFile_FeatureGroupRecord(EdaDataFile_FeatureGroupRecord&& from) noexcept + : EdaDataFile_FeatureGroupRecord() { + *this = ::std::move(from); + } + + inline EdaDataFile_FeatureGroupRecord& operator=(const EdaDataFile_FeatureGroupRecord& from) { + CopyFrom(from); + return *this; + } + inline EdaDataFile_FeatureGroupRecord& operator=(EdaDataFile_FeatureGroupRecord&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const EdaDataFile_FeatureGroupRecord& default_instance() { + return *internal_default_instance(); + } + static inline const EdaDataFile_FeatureGroupRecord* internal_default_instance() { + return reinterpret_cast( + &_EdaDataFile_FeatureGroupRecord_default_instance_); + } + static constexpr int kIndexInFileMessages = + 7; + + friend void swap(EdaDataFile_FeatureGroupRecord& a, EdaDataFile_FeatureGroupRecord& b) { + a.Swap(&b); + } + inline void Swap(EdaDataFile_FeatureGroupRecord* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(EdaDataFile_FeatureGroupRecord* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + EdaDataFile_FeatureGroupRecord* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const EdaDataFile_FeatureGroupRecord& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const EdaDataFile_FeatureGroupRecord& from) { + EdaDataFile_FeatureGroupRecord::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(EdaDataFile_FeatureGroupRecord* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord"; + } + protected: + explicit EdaDataFile_FeatureGroupRecord(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kPropertyRecordsFieldNumber = 2, + kFeatureIdRecordsFieldNumber = 3, + kTypeFieldNumber = 1, + }; + // repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 2; + int propertyrecords_size() const; + private: + int _internal_propertyrecords_size() const; + public: + void clear_propertyrecords(); + ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* mutable_propertyrecords(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord >* + mutable_propertyrecords(); + private: + const ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord& _internal_propertyrecords(int index) const; + ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* _internal_add_propertyrecords(); + public: + const ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord& propertyrecords(int index) const; + ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* add_propertyrecords(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord >& + propertyrecords() const; + + // repeated .Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord featureIdRecords = 3; + int featureidrecords_size() const; + private: + int _internal_featureidrecords_size() const; + public: + void clear_featureidrecords(); + ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord* mutable_featureidrecords(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord >* + mutable_featureidrecords(); + private: + const ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord& _internal_featureidrecords(int index) const; + ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord* _internal_add_featureidrecords(); + public: + const ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord& featureidrecords(int index) const; + ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord* add_featureidrecords(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord >& + featureidrecords() const; + + // optional string type = 1; + bool has_type() const; + private: + bool _internal_has_type() const; + public: + void clear_type(); + const std::string& type() const; + template + void set_type(ArgT0&& arg0, ArgT... args); + std::string* mutable_type(); + PROTOBUF_NODISCARD std::string* release_type(); + void set_allocated_type(std::string* type); + private: + const std::string& _internal_type() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_type(const std::string& value); + std::string* _internal_mutable_type(); + public: + + // @@protoc_insertion_point(class_scope:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord > propertyrecords_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord > featureidrecords_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr type_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_edadatafile_2eproto; +}; +// ------------------------------------------------------------------- + class EdaDataFile_NetRecordsByNameEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry* mutable_packagerecordsbyname(); + // repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 11; + int propertyrecords_size() const; + private: + int _internal_propertyrecords_size() const; + public: + void clear_propertyrecords(); + ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* mutable_propertyrecords(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord >* + mutable_propertyrecords(); + private: + const ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord& _internal_propertyrecords(int index) const; + ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* _internal_add_propertyrecords(); + public: + const ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord& propertyrecords(int index) const; + ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* add_propertyrecords(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord >& + propertyrecords() const; + + // repeated .Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord featureGroupRecords = 12; + int featuregrouprecords_size() const; + private: + int _internal_featuregrouprecords_size() const; + public: + void clear_featuregrouprecords(); + ::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord* mutable_featuregrouprecords(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord >* + mutable_featuregrouprecords(); + private: + const ::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord& _internal_featuregrouprecords(int index) const; + ::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord* _internal_add_featuregrouprecords(); + public: + const ::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord& featuregrouprecords(int index) const; + ::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord* add_featuregrouprecords(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord >& + featuregrouprecords() const; + // optional string path = 1; bool has_path() const; private: @@ -2501,6 +2741,8 @@ class EdaDataFile final : std::string, ::Odb::Lib::Protobuf::EdaDataFile_PackageRecord, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> packagerecordsbyname_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord > propertyrecords_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord > featuregrouprecords_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr path_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr units_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr source_; @@ -2704,90 +2946,90 @@ EdaDataFile_PropertyRecord::mutable_floatvalues() { // ------------------------------------------------------------------- -// EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord +// EdaDataFile_FeatureIdRecord -// optional .Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.FeatureIdRecord.Type type = 1; -inline bool EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::_internal_has_type() const { +// optional .Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord.Type type = 1; +inline bool EdaDataFile_FeatureIdRecord::_internal_has_type() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; return value; } -inline bool EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::has_type() const { +inline bool EdaDataFile_FeatureIdRecord::has_type() const { return _internal_has_type(); } -inline void EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::clear_type() { +inline void EdaDataFile_FeatureIdRecord::clear_type() { _impl_.type_ = 0; _impl_._has_bits_[0] &= ~0x00000001u; } -inline ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::_internal_type() const { - return static_cast< ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type >(_impl_.type_); +inline ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord_Type EdaDataFile_FeatureIdRecord::_internal_type() const { + return static_cast< ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord_Type >(_impl_.type_); } -inline ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::type() const { - // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.FeatureIdRecord.type) +inline ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord_Type EdaDataFile_FeatureIdRecord::type() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord.type) return _internal_type(); } -inline void EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::_internal_set_type(::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type value) { +inline void EdaDataFile_FeatureIdRecord::_internal_set_type(::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord_Type value) { _impl_._has_bits_[0] |= 0x00000001u; _impl_.type_ = value; } -inline void EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::set_type(::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type value) { +inline void EdaDataFile_FeatureIdRecord::set_type(::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord_Type value) { _internal_set_type(value); - // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.FeatureIdRecord.type) + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord.type) } // optional uint32 layerNumber = 2; -inline bool EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::_internal_has_layernumber() const { +inline bool EdaDataFile_FeatureIdRecord::_internal_has_layernumber() const { bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; return value; } -inline bool EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::has_layernumber() const { +inline bool EdaDataFile_FeatureIdRecord::has_layernumber() const { return _internal_has_layernumber(); } -inline void EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::clear_layernumber() { +inline void EdaDataFile_FeatureIdRecord::clear_layernumber() { _impl_.layernumber_ = 0u; _impl_._has_bits_[0] &= ~0x00000002u; } -inline uint32_t EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::_internal_layernumber() const { +inline uint32_t EdaDataFile_FeatureIdRecord::_internal_layernumber() const { return _impl_.layernumber_; } -inline uint32_t EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::layernumber() const { - // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.FeatureIdRecord.layerNumber) +inline uint32_t EdaDataFile_FeatureIdRecord::layernumber() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord.layerNumber) return _internal_layernumber(); } -inline void EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::_internal_set_layernumber(uint32_t value) { +inline void EdaDataFile_FeatureIdRecord::_internal_set_layernumber(uint32_t value) { _impl_._has_bits_[0] |= 0x00000002u; _impl_.layernumber_ = value; } -inline void EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::set_layernumber(uint32_t value) { +inline void EdaDataFile_FeatureIdRecord::set_layernumber(uint32_t value) { _internal_set_layernumber(value); - // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.FeatureIdRecord.layerNumber) + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord.layerNumber) } // optional uint32 featureNumber = 3; -inline bool EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::_internal_has_featurenumber() const { +inline bool EdaDataFile_FeatureIdRecord::_internal_has_featurenumber() const { bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; return value; } -inline bool EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::has_featurenumber() const { +inline bool EdaDataFile_FeatureIdRecord::has_featurenumber() const { return _internal_has_featurenumber(); } -inline void EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::clear_featurenumber() { +inline void EdaDataFile_FeatureIdRecord::clear_featurenumber() { _impl_.featurenumber_ = 0u; _impl_._has_bits_[0] &= ~0x00000004u; } -inline uint32_t EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::_internal_featurenumber() const { +inline uint32_t EdaDataFile_FeatureIdRecord::_internal_featurenumber() const { return _impl_.featurenumber_; } -inline uint32_t EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::featurenumber() const { - // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.FeatureIdRecord.featureNumber) +inline uint32_t EdaDataFile_FeatureIdRecord::featurenumber() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord.featureNumber) return _internal_featurenumber(); } -inline void EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::_internal_set_featurenumber(uint32_t value) { +inline void EdaDataFile_FeatureIdRecord::_internal_set_featurenumber(uint32_t value) { _impl_._has_bits_[0] |= 0x00000004u; _impl_.featurenumber_ = value; } -inline void EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord::set_featurenumber(uint32_t value) { +inline void EdaDataFile_FeatureIdRecord::set_featurenumber(uint32_t value) { _internal_set_featurenumber(value); - // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.FeatureIdRecord.featureNumber) + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord.featureNumber) } // ------------------------------------------------------------------- @@ -2822,7 +3064,7 @@ inline void EdaDataFile_NetRecord_SubnetRecord::set_type(::Odb::Lib::Protobuf::E // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.type) } -// repeated .Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.FeatureIdRecord featureIdRecords = 2; +// repeated .Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord featureIdRecords = 2; inline int EdaDataFile_NetRecord_SubnetRecord::_internal_featureidrecords_size() const { return _impl_.featureidrecords_.size(); } @@ -2832,31 +3074,31 @@ inline int EdaDataFile_NetRecord_SubnetRecord::featureidrecords_size() const { inline void EdaDataFile_NetRecord_SubnetRecord::clear_featureidrecords() { _impl_.featureidrecords_.Clear(); } -inline ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord* EdaDataFile_NetRecord_SubnetRecord::mutable_featureidrecords(int index) { +inline ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord* EdaDataFile_NetRecord_SubnetRecord::mutable_featureidrecords(int index) { // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.featureIdRecords) return _impl_.featureidrecords_.Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord >* +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord >* EdaDataFile_NetRecord_SubnetRecord::mutable_featureidrecords() { // @@protoc_insertion_point(field_mutable_list:Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.featureIdRecords) return &_impl_.featureidrecords_; } -inline const ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord& EdaDataFile_NetRecord_SubnetRecord::_internal_featureidrecords(int index) const { +inline const ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord& EdaDataFile_NetRecord_SubnetRecord::_internal_featureidrecords(int index) const { return _impl_.featureidrecords_.Get(index); } -inline const ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord& EdaDataFile_NetRecord_SubnetRecord::featureidrecords(int index) const { +inline const ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord& EdaDataFile_NetRecord_SubnetRecord::featureidrecords(int index) const { // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.featureIdRecords) return _internal_featureidrecords(index); } -inline ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord* EdaDataFile_NetRecord_SubnetRecord::_internal_add_featureidrecords() { +inline ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord* EdaDataFile_NetRecord_SubnetRecord::_internal_add_featureidrecords() { return _impl_.featureidrecords_.Add(); } -inline ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord* EdaDataFile_NetRecord_SubnetRecord::add_featureidrecords() { - ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord* _add = _internal_add_featureidrecords(); +inline ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord* EdaDataFile_NetRecord_SubnetRecord::add_featureidrecords() { + ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord* _add = _internal_add_featureidrecords(); // @@protoc_insertion_point(field_add:Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.featureIdRecords) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord >& +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord >& EdaDataFile_NetRecord_SubnetRecord::featureidrecords() const { // @@protoc_insertion_point(field_list:Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.featureIdRecords) return _impl_.featureidrecords_; @@ -3967,6 +4209,158 @@ EdaDataFile_PackageRecord::propertyrecords() const { // ------------------------------------------------------------------- +// EdaDataFile_FeatureGroupRecord + +// optional string type = 1; +inline bool EdaDataFile_FeatureGroupRecord::_internal_has_type() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + return value; +} +inline bool EdaDataFile_FeatureGroupRecord::has_type() const { + return _internal_has_type(); +} +inline void EdaDataFile_FeatureGroupRecord::clear_type() { + _impl_.type_.ClearToEmpty(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const std::string& EdaDataFile_FeatureGroupRecord::type() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord.type) + return _internal_type(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void EdaDataFile_FeatureGroupRecord::set_type(ArgT0&& arg0, ArgT... args) { + _impl_._has_bits_[0] |= 0x00000001u; + _impl_.type_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord.type) +} +inline std::string* EdaDataFile_FeatureGroupRecord::mutable_type() { + std::string* _s = _internal_mutable_type(); + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord.type) + return _s; +} +inline const std::string& EdaDataFile_FeatureGroupRecord::_internal_type() const { + return _impl_.type_.Get(); +} +inline void EdaDataFile_FeatureGroupRecord::_internal_set_type(const std::string& value) { + _impl_._has_bits_[0] |= 0x00000001u; + _impl_.type_.Set(value, GetArenaForAllocation()); +} +inline std::string* EdaDataFile_FeatureGroupRecord::_internal_mutable_type() { + _impl_._has_bits_[0] |= 0x00000001u; + return _impl_.type_.Mutable(GetArenaForAllocation()); +} +inline std::string* EdaDataFile_FeatureGroupRecord::release_type() { + // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord.type) + if (!_internal_has_type()) { + return nullptr; + } + _impl_._has_bits_[0] &= ~0x00000001u; + auto* p = _impl_.type_.Release(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.type_.IsDefault()) { + _impl_.type_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + return p; +} +inline void EdaDataFile_FeatureGroupRecord::set_allocated_type(std::string* type) { + if (type != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + _impl_.type_.SetAllocated(type, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.type_.IsDefault()) { + _impl_.type_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord.type) +} + +// repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 2; +inline int EdaDataFile_FeatureGroupRecord::_internal_propertyrecords_size() const { + return _impl_.propertyrecords_.size(); +} +inline int EdaDataFile_FeatureGroupRecord::propertyrecords_size() const { + return _internal_propertyrecords_size(); +} +inline void EdaDataFile_FeatureGroupRecord::clear_propertyrecords() { + _impl_.propertyrecords_.Clear(); +} +inline ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* EdaDataFile_FeatureGroupRecord::mutable_propertyrecords(int index) { + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord.propertyRecords) + return _impl_.propertyrecords_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord >* +EdaDataFile_FeatureGroupRecord::mutable_propertyrecords() { + // @@protoc_insertion_point(field_mutable_list:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord.propertyRecords) + return &_impl_.propertyrecords_; +} +inline const ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord& EdaDataFile_FeatureGroupRecord::_internal_propertyrecords(int index) const { + return _impl_.propertyrecords_.Get(index); +} +inline const ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord& EdaDataFile_FeatureGroupRecord::propertyrecords(int index) const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord.propertyRecords) + return _internal_propertyrecords(index); +} +inline ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* EdaDataFile_FeatureGroupRecord::_internal_add_propertyrecords() { + return _impl_.propertyrecords_.Add(); +} +inline ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* EdaDataFile_FeatureGroupRecord::add_propertyrecords() { + ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* _add = _internal_add_propertyrecords(); + // @@protoc_insertion_point(field_add:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord.propertyRecords) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord >& +EdaDataFile_FeatureGroupRecord::propertyrecords() const { + // @@protoc_insertion_point(field_list:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord.propertyRecords) + return _impl_.propertyrecords_; +} + +// repeated .Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord featureIdRecords = 3; +inline int EdaDataFile_FeatureGroupRecord::_internal_featureidrecords_size() const { + return _impl_.featureidrecords_.size(); +} +inline int EdaDataFile_FeatureGroupRecord::featureidrecords_size() const { + return _internal_featureidrecords_size(); +} +inline void EdaDataFile_FeatureGroupRecord::clear_featureidrecords() { + _impl_.featureidrecords_.Clear(); +} +inline ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord* EdaDataFile_FeatureGroupRecord::mutable_featureidrecords(int index) { + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord.featureIdRecords) + return _impl_.featureidrecords_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord >* +EdaDataFile_FeatureGroupRecord::mutable_featureidrecords() { + // @@protoc_insertion_point(field_mutable_list:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord.featureIdRecords) + return &_impl_.featureidrecords_; +} +inline const ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord& EdaDataFile_FeatureGroupRecord::_internal_featureidrecords(int index) const { + return _impl_.featureidrecords_.Get(index); +} +inline const ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord& EdaDataFile_FeatureGroupRecord::featureidrecords(int index) const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord.featureIdRecords) + return _internal_featureidrecords(index); +} +inline ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord* EdaDataFile_FeatureGroupRecord::_internal_add_featureidrecords() { + return _impl_.featureidrecords_.Add(); +} +inline ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord* EdaDataFile_FeatureGroupRecord::add_featureidrecords() { + ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord* _add = _internal_add_featureidrecords(); + // @@protoc_insertion_point(field_add:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord.featureIdRecords) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord >& +EdaDataFile_FeatureGroupRecord::featureidrecords() const { + // @@protoc_insertion_point(field_list:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord.featureIdRecords) + return _impl_.featureidrecords_; +} + +// ------------------------------------------------------------------- + // ------------------------------------------------------------------- // ------------------------------------------------------------------- @@ -4540,6 +4934,86 @@ EdaDataFile::mutable_packagerecordsbyname() { return _internal_mutable_packagerecordsbyname(); } +// repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 11; +inline int EdaDataFile::_internal_propertyrecords_size() const { + return _impl_.propertyrecords_.size(); +} +inline int EdaDataFile::propertyrecords_size() const { + return _internal_propertyrecords_size(); +} +inline void EdaDataFile::clear_propertyrecords() { + _impl_.propertyrecords_.Clear(); +} +inline ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* EdaDataFile::mutable_propertyrecords(int index) { + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.EdaDataFile.propertyRecords) + return _impl_.propertyrecords_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord >* +EdaDataFile::mutable_propertyrecords() { + // @@protoc_insertion_point(field_mutable_list:Odb.Lib.Protobuf.EdaDataFile.propertyRecords) + return &_impl_.propertyrecords_; +} +inline const ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord& EdaDataFile::_internal_propertyrecords(int index) const { + return _impl_.propertyrecords_.Get(index); +} +inline const ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord& EdaDataFile::propertyrecords(int index) const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.EdaDataFile.propertyRecords) + return _internal_propertyrecords(index); +} +inline ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* EdaDataFile::_internal_add_propertyrecords() { + return _impl_.propertyrecords_.Add(); +} +inline ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* EdaDataFile::add_propertyrecords() { + ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* _add = _internal_add_propertyrecords(); + // @@protoc_insertion_point(field_add:Odb.Lib.Protobuf.EdaDataFile.propertyRecords) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord >& +EdaDataFile::propertyrecords() const { + // @@protoc_insertion_point(field_list:Odb.Lib.Protobuf.EdaDataFile.propertyRecords) + return _impl_.propertyrecords_; +} + +// repeated .Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord featureGroupRecords = 12; +inline int EdaDataFile::_internal_featuregrouprecords_size() const { + return _impl_.featuregrouprecords_.size(); +} +inline int EdaDataFile::featuregrouprecords_size() const { + return _internal_featuregrouprecords_size(); +} +inline void EdaDataFile::clear_featuregrouprecords() { + _impl_.featuregrouprecords_.Clear(); +} +inline ::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord* EdaDataFile::mutable_featuregrouprecords(int index) { + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.EdaDataFile.featureGroupRecords) + return _impl_.featuregrouprecords_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord >* +EdaDataFile::mutable_featuregrouprecords() { + // @@protoc_insertion_point(field_mutable_list:Odb.Lib.Protobuf.EdaDataFile.featureGroupRecords) + return &_impl_.featuregrouprecords_; +} +inline const ::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord& EdaDataFile::_internal_featuregrouprecords(int index) const { + return _impl_.featuregrouprecords_.Get(index); +} +inline const ::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord& EdaDataFile::featuregrouprecords(int index) const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.EdaDataFile.featureGroupRecords) + return _internal_featuregrouprecords(index); +} +inline ::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord* EdaDataFile::_internal_add_featuregrouprecords() { + return _impl_.featuregrouprecords_.Add(); +} +inline ::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord* EdaDataFile::add_featuregrouprecords() { + ::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord* _add = _internal_add_featuregrouprecords(); + // @@protoc_insertion_point(field_add:Odb.Lib.Protobuf.EdaDataFile.featureGroupRecords) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord >& +EdaDataFile::featuregrouprecords() const { + // @@protoc_insertion_point(field_list:Odb.Lib.Protobuf.EdaDataFile.featureGroupRecords) + return _impl_.featuregrouprecords_; +} + #ifdef __GNUC__ #pragma GCC diagnostic pop #endif // __GNUC__ @@ -4561,6 +5035,8 @@ EdaDataFile::mutable_packagerecordsbyname() { // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) @@ -4570,10 +5046,10 @@ EdaDataFile::mutable_packagerecordsbyname() { PROTOBUF_NAMESPACE_OPEN -template <> struct is_proto_enum< ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type> : ::std::true_type {}; +template <> struct is_proto_enum< ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord_Type> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type>() { - return ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_FeatureIdRecord_Type_descriptor(); +inline const EnumDescriptor* GetEnumDescriptor< ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord_Type>() { + return ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord_Type_descriptor(); } template <> struct is_proto_enum< ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord_Type> : ::std::true_type {}; template <> diff --git a/OdbDesignLib/protoc/edadatafile.proto b/OdbDesignLib/protoc/edadatafile.proto index e4c45cab..829e9d92 100644 --- a/OdbDesignLib/protoc/edadatafile.proto +++ b/OdbDesignLib/protoc/edadatafile.proto @@ -21,7 +21,20 @@ message EdaDataFile { optional string name = 1; optional string value = 2; repeated float floatValues = 3; - } + } + + message FeatureIdRecord { + + enum Type { + COPPER = 0; + LAMINATE = 1; + HOLE = 2; + }; + + optional Type type = 1; + optional uint32 layerNumber = 2; + optional uint32 featureNumber = 3; + }; message NetRecord { @@ -46,20 +59,7 @@ message EdaDataFile { RECTANGLE = 1; OCTAGON = 2; EXACT = 3; - }; - - message FeatureIdRecord { - - enum Type { - COPPER = 0; - LAMINATE = 1; - HOLE = 2; - }; - - optional Type type = 1; - optional uint32 layerNumber = 2; - optional uint32 featureNumber = 3; - }; + }; // common subnet fields optional Type type = 1; @@ -135,6 +135,14 @@ message EdaDataFile { } } + message FeatureGroupRecord { + + optional string type = 1; + + repeated PropertyRecord propertyRecords = 2; + repeated FeatureIdRecord featureIdRecords = 3; + } + optional string path = 1; optional string units = 2; optional string source = 3; @@ -145,4 +153,6 @@ message EdaDataFile { map netRecordsByName = 8; repeated PackageRecord packageRecords = 9; map packageRecordsByName = 10; + repeated PropertyRecord propertyRecords = 11; + repeated FeatureGroupRecord featureGroupRecords = 12; } \ No newline at end of file From 85cff9df845f7776325872efbb56913c59a85f1d Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Sun, 19 Nov 2023 09:48:45 -0800 Subject: [PATCH 46/60] add to_protobuf() for StepDirectory and FileArchive --- OdbDesignLib/FileModel/Design/FileArchive.cpp | 17 ++++++++++++++ OdbDesignLib/FileModel/Design/FileArchive.h | 10 +++++++-- .../FileModel/Design/StepDirectory.cpp | 22 +++++++++++++++++++ OdbDesignLib/FileModel/Design/StepDirectory.h | 10 +++++++-- 4 files changed, 55 insertions(+), 4 deletions(-) diff --git a/OdbDesignLib/FileModel/Design/FileArchive.cpp b/OdbDesignLib/FileModel/Design/FileArchive.cpp index ba541d13..34665b13 100644 --- a/OdbDesignLib/FileModel/Design/FileArchive.cpp +++ b/OdbDesignLib/FileModel/Design/FileArchive.cpp @@ -1,6 +1,8 @@ #include "FileArchive.h" #include "FileArchive.h" #include "FileArchive.h" +#include "FileArchive.h" +#include "FileArchive.h" #include #include "ArchiveExtractor.h" #include "MiscInfoFile.h" @@ -150,6 +152,21 @@ namespace Odb::Lib::FileModel::Design return true; } + std::unique_ptr FileArchive::to_protobuf() const + { + std::unique_ptr pFileArchiveMessage(new Odb::Lib::Protobuf::FileArchive); + for (const auto& kvStepDirectoryRecord : m_stepsByName) + { + (*pFileArchiveMessage->mutable_stepsbyname())[kvStepDirectoryRecord.first] = *kvStepDirectoryRecord.second->to_protobuf(); + } + + return pFileArchiveMessage; + } + + void FileArchive::from_protobuf(const Odb::Lib::Protobuf::FileArchive& message) + { + } + bool FileArchive::ParseDesignDirectory(const std::filesystem::path& path) { if (!exists(path)) return false; diff --git a/OdbDesignLib/FileModel/Design/FileArchive.h b/OdbDesignLib/FileModel/Design/FileArchive.h index 25d510d0..f4d10fd0 100644 --- a/OdbDesignLib/FileModel/Design/FileArchive.h +++ b/OdbDesignLib/FileModel/Design/FileArchive.h @@ -11,11 +11,13 @@ #include "MatrixFile.h" #include "StandardFontsFile.h" #include +#include "../../IProtoBuffable.h" +#include "../../ProtoBuf/filearchive.pb.h" namespace Odb::Lib::FileModel::Design { - class ODBDESIGN_EXPORT FileArchive + class ODBDESIGN_EXPORT FileArchive : public IProtoBuffable { public: FileArchive(std::string path); @@ -62,6 +64,10 @@ namespace Odb::Lib::FileModel::Design static std::string findRootDir(const std::filesystem::path& extractedPath); static bool pathContainsTopLevelDesignDirs(const std::filesystem::path& path); + // Inherited via IProtoBuffable + std::unique_ptr to_protobuf() const override; + void from_protobuf(const Odb::Lib::Protobuf::FileArchive& message) override; + static inline constexpr const char* TOPLEVEL_DESIGN_DIR_NAMES[] = { "fonts", @@ -91,5 +97,5 @@ namespace Odb::Lib::FileModel::Design //the file misc / info of the product model.If the default is not defined for the product model, the //default is imperial. - }; + }; } diff --git a/OdbDesignLib/FileModel/Design/StepDirectory.cpp b/OdbDesignLib/FileModel/Design/StepDirectory.cpp index cf66c298..958e995f 100644 --- a/OdbDesignLib/FileModel/Design/StepDirectory.cpp +++ b/OdbDesignLib/FileModel/Design/StepDirectory.cpp @@ -1,4 +1,6 @@ #include "StepDirectory.h" +#include "StepDirectory.h" +#include "StepDirectory.h" #include #include "LayerDirectory.h" #include "ComponentLayerDirectory.h" @@ -116,6 +118,26 @@ namespace Odb::Lib::FileModel::Design return success; } + std::unique_ptr StepDirectory::to_protobuf() const + { + std::unique_ptr pStepDirectoryMessage(new Odb::Lib::Protobuf::StepDirectory); + pStepDirectoryMessage->set_name(m_name); + pStepDirectoryMessage->set_path(m_path.string()); + pStepDirectoryMessage->mutable_edadatafile()->CopyFrom(*m_edaData.to_protobuf()); + + // TODO: netlistfiles + //m_netlistsByName + + // TODO: layer directories + //m_layersByName + + return pStepDirectoryMessage; + } + + void StepDirectory::from_protobuf(const Odb::Lib::Protobuf::StepDirectory& message) + { + } + bool StepDirectory::ParseNetlistFiles(std::filesystem::path netlistsPath) { loginfo("Parsing netlist files..."); diff --git a/OdbDesignLib/FileModel/Design/StepDirectory.h b/OdbDesignLib/FileModel/Design/StepDirectory.h index cd0e6f3e..e3e3002c 100644 --- a/OdbDesignLib/FileModel/Design/StepDirectory.h +++ b/OdbDesignLib/FileModel/Design/StepDirectory.h @@ -11,11 +11,13 @@ #include "LayerDirectory.h" #include "EdaDataFile.h" #include "NetlistFile.h" +#include "../../IProtoBuffable.h" +#include "../../ProtoBuf/stepdirectory.pb.h" namespace Odb::Lib::FileModel::Design { - class ODBDESIGN_EXPORT StepDirectory + class ODBDESIGN_EXPORT StepDirectory : public IProtoBuffable { public: StepDirectory(std::filesystem::path path); @@ -35,6 +37,10 @@ namespace Odb::Lib::FileModel::Design typedef std::map> StringMap; + // Inherited via IProtoBuffable + std::unique_ptr to_protobuf() const override; + void from_protobuf(const Odb::Lib::Protobuf::StepDirectory& message) override; + private: std::string m_name; std::filesystem::path m_path; @@ -46,7 +52,7 @@ namespace Odb::Lib::FileModel::Design bool ParseLayerFiles(std::filesystem::path layersPath); bool ParseNetlistFiles(std::filesystem::path netlistsPath); bool ParseEdaDataFiles(std::filesystem::path edaPath); - + }; } From db9a9bc76bb312675f5ba61eb918f370f0462e3c Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Sun, 19 Nov 2023 10:06:14 -0800 Subject: [PATCH 47/60] add /filemodel/ endpoint to fetch entire FileArchive representation --- .../Controllers/StepsEdaDataController.cpp | 25 +++++++++++++++++++ .../Controllers/StepsEdaDataController.h | 3 +++ 2 files changed, 28 insertions(+) diff --git a/OdbDesignServer/Controllers/StepsEdaDataController.cpp b/OdbDesignServer/Controllers/StepsEdaDataController.cpp index 58deb283..3a8010be 100644 --- a/OdbDesignServer/Controllers/StepsEdaDataController.cpp +++ b/OdbDesignServer/Controllers/StepsEdaDataController.cpp @@ -29,6 +29,12 @@ namespace Odb::App::Server return this->steps_edadata_route_handler(designName, stepName, req); }); + CROW_ROUTE(m_serverApp.crow_app(), "/filemodel/") + ([&](const crow::request& req, std::string designName) + { + return this->designs_route_handler(designName, req); + }); + //app.route_dynamic(url) //register_route_handler("/steps/edadata/package_records", std::bind(&StepsEdaDataController::steps_edadata_route_handler, this, std::placeholders::_1)); @@ -75,4 +81,23 @@ namespace Odb::App::Server auto& edaDataFile = step->GetEdaDataFile(); return crow::response(JsonCrowReturnable(edaDataFile)); } + + crow::response StepsEdaDataController::designs_route_handler(const std::string& designName, const crow::request& req) + { + auto designNameDecoded = UrlEncoding::decode(designName); + if (designNameDecoded.empty()) + { + return crow::response(crow::status::BAD_REQUEST, "design name not specified"); + } + + auto pFileArchive = m_serverApp.designs().GetFileArchive(designNameDecoded); + if (pFileArchive == nullptr) + { + std::stringstream ss; + ss << "design: \"" << designNameDecoded << "\" not found"; + return crow::response(crow::status::NOT_FOUND, ss.str()); + } + + return crow::response(JsonCrowReturnable(*pFileArchive)); + } } diff --git a/OdbDesignServer/Controllers/StepsEdaDataController.h b/OdbDesignServer/Controllers/StepsEdaDataController.h index 18b0b32d..db31af67 100644 --- a/OdbDesignServer/Controllers/StepsEdaDataController.h +++ b/OdbDesignServer/Controllers/StepsEdaDataController.h @@ -19,5 +19,8 @@ class StepsEdaDataController : public Odb::Lib::App::RouteController const std::string& stepName, const crow::request& req); + crow::response designs_route_handler(const std::string& designName, + const crow::request& req); + }; } From 7e0eb3c63fce4de1588ca139e80606843cbe7393 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Sun, 19 Nov 2023 15:14:58 -0800 Subject: [PATCH 48/60] implement to_protobuf() for MatrixFile and MiscInfoFile --- OdbDesignLib/CMakeLists.txt | 1 + OdbDesignLib/FileModel/Design/FileArchive.cpp | 3 + OdbDesignLib/FileModel/Design/MatrixFile.cpp | 72 +- OdbDesignLib/FileModel/Design/MatrixFile.h | 25 +- .../FileModel/Design/MiscInfoFile.cpp | 27 +- OdbDesignLib/FileModel/Design/MiscInfoFile.h | 10 +- OdbDesignLib/ProtoBuf/enums.pb.cc | 110 ++ OdbDesignLib/ProtoBuf/enums.pb.h | 172 ++ OdbDesignLib/ProtoBuf/matrixfile.pb.cc | 1417 ++++++++++++++- OdbDesignLib/ProtoBuf/matrixfile.pb.h | 1572 ++++++++++++++++- OdbDesignLib/ProtoBuf/miscinfofile.pb.cc | 782 +++++++- OdbDesignLib/ProtoBuf/miscinfofile.pb.h | 999 ++++++++++- OdbDesignLib/protoc/enums.proto | 24 + OdbDesignLib/protoc/matrixfile.proto | 65 + OdbDesignLib/protoc/miscinfofile.proto | 14 + 15 files changed, 5235 insertions(+), 58 deletions(-) create mode 100644 OdbDesignLib/ProtoBuf/enums.pb.cc create mode 100644 OdbDesignLib/ProtoBuf/enums.pb.h create mode 100644 OdbDesignLib/protoc/enums.proto diff --git a/OdbDesignLib/CMakeLists.txt b/OdbDesignLib/CMakeLists.txt index 9e64a313..45242b87 100644 --- a/OdbDesignLib/CMakeLists.txt +++ b/OdbDesignLib/CMakeLists.txt @@ -21,6 +21,7 @@ add_library(OdbDesign SHARED "ProtoBuf/miscinfofile.pb.h" "ProtoBuf/miscinfofile.pb.cc" "ProtoBuf/standardfontsfile.pb.h" "ProtoBuf/standardfontsfile.pb.cc" "ProtoBuf/stepdirectory.pb.h" "ProtoBuf/stepdirectory.pb.cc" + "ProtoBuf/enums.pb.h" "ProtoBuf/enums.pb.cc" "FileModel/parse_error.h" "FileModel/parse_info.h" "FileModel/parse_info.cpp" "FileModel/parse_error.cpp" "FileModel/invalid_odb_error.h" "FileModel/invalid_odb_error.cpp") # disable warning C4250: inheritance by dominance diff --git a/OdbDesignLib/FileModel/Design/FileArchive.cpp b/OdbDesignLib/FileModel/Design/FileArchive.cpp index 34665b13..4e47a478 100644 --- a/OdbDesignLib/FileModel/Design/FileArchive.cpp +++ b/OdbDesignLib/FileModel/Design/FileArchive.cpp @@ -155,6 +155,9 @@ namespace Odb::Lib::FileModel::Design std::unique_ptr FileArchive::to_protobuf() const { std::unique_ptr pFileArchiveMessage(new Odb::Lib::Protobuf::FileArchive); + pFileArchiveMessage->mutable_matrixfile()->CopyFrom(*m_matrixFile.to_protobuf()); + pFileArchiveMessage->mutable_miscinfofile()->CopyFrom(*m_miscInfoFile.to_protobuf()); + for (const auto& kvStepDirectoryRecord : m_stepsByName) { (*pFileArchiveMessage->mutable_stepsbyname())[kvStepDirectoryRecord.first] = *kvStepDirectoryRecord.second->to_protobuf(); diff --git a/OdbDesignLib/FileModel/Design/MatrixFile.cpp b/OdbDesignLib/FileModel/Design/MatrixFile.cpp index c01584c7..a6f4236c 100644 --- a/OdbDesignLib/FileModel/Design/MatrixFile.cpp +++ b/OdbDesignLib/FileModel/Design/MatrixFile.cpp @@ -1,12 +1,8 @@ -#include "MatrixFile.h" -#include "MatrixFile.h" -#include "MatrixFile.h" -#include "MatrixFile.h" -#include "MatrixFile.h" // // Created by nmill on 10/13/2023. // +#include "../../crow_win.h" #include "MatrixFile.h" #include #include "str_trim.h" @@ -16,6 +12,7 @@ #include "../parse_error.h" #include #include "../invalid_odb_error.h" +#include "../../ProtoBuf/enums.pb.h" namespace Odb::Lib::FileModel::Design { @@ -435,4 +432,69 @@ namespace Odb::Lib::FileModel::Design } return false; } + + std::unique_ptr Odb::Lib::FileModel::Design::MatrixFile::to_protobuf() const + { + std::unique_ptr pMatrixFileMessage(new Odb::Lib::Protobuf::MatrixFile); + for (const auto& stepRecord : m_stepRecords) + { + auto pStepRecordMessage = pMatrixFileMessage->add_steps(); + pStepRecordMessage->CopyFrom(*stepRecord->to_protobuf()); + } + for (const auto& layerRecord : m_layerRecords) + { + auto pLayerRecordMessage = pMatrixFileMessage->add_layers(); + pLayerRecordMessage->CopyFrom(*layerRecord->to_protobuf()); + } + return pMatrixFileMessage; + + } + + void Odb::Lib::FileModel::Design::MatrixFile::from_protobuf(const Odb::Lib::Protobuf::MatrixFile& message) + { + } + + std::unique_ptr Odb::Lib::FileModel::Design::MatrixFile::StepRecord::to_protobuf() const + { + std::unique_ptr pStepRecordMessage(new Odb::Lib::Protobuf::MatrixFile::StepRecord); + pStepRecordMessage->set_column(column); + pStepRecordMessage->set_name(name); + pStepRecordMessage->set_id(id); + return pStepRecordMessage; + } + + void Odb::Lib::FileModel::Design::MatrixFile::StepRecord::from_protobuf(const Odb::Lib::Protobuf::MatrixFile::StepRecord& message) + { + } + + std::unique_ptr Odb::Lib::FileModel::Design::MatrixFile::LayerRecord::to_protobuf() const + { + std::unique_ptr pLayerRecordMessage(new Odb::Lib::Protobuf::MatrixFile::LayerRecord); + pLayerRecordMessage->set_addtype(addType); + pLayerRecordMessage->set_context(static_cast(context)); + pLayerRecordMessage->set_cubottom(cuBottom); + pLayerRecordMessage->set_cutop(cuTop); + pLayerRecordMessage->set_dielectricname(dielectricName); + pLayerRecordMessage->set_dielectrictype(static_cast(dielectricType)); + pLayerRecordMessage->set_endname(endName); + pLayerRecordMessage->set_form(static_cast(form)); + pLayerRecordMessage->set_id(id); + pLayerRecordMessage->set_name(name); + pLayerRecordMessage->set_oldname(oldName); + pLayerRecordMessage->set_polarity(static_cast(polarity)); + pLayerRecordMessage->set_ref(ref); + pLayerRecordMessage->set_row(row); + pLayerRecordMessage->set_startname(startName); + pLayerRecordMessage->set_type(static_cast(type)); + //pLayerRecordMessage->mutable_color()->set_r(color.r); + //pLayerRecordMessage->mutable_color()->set_g(color.g); + //pLayerRecordMessage->mutable_color()->set_b(color.b); + + + return pLayerRecordMessage; + } + + void Odb::Lib::FileModel::Design::MatrixFile::LayerRecord::from_protobuf(const Odb::Lib::Protobuf::MatrixFile::LayerRecord& message) + { + } } \ No newline at end of file diff --git a/OdbDesignLib/FileModel/Design/MatrixFile.h b/OdbDesignLib/FileModel/Design/MatrixFile.h index 79e7bd42..2bca5e8f 100644 --- a/OdbDesignLib/FileModel/Design/MatrixFile.h +++ b/OdbDesignLib/FileModel/Design/MatrixFile.h @@ -10,17 +10,19 @@ #include #include "RgbColor.h" #include "../../enums.h" +#include "../../IProtoBuffable.h" +#include "../../ProtoBuf/matrixfile.pb.h" namespace Odb::Lib::FileModel::Design { - class MatrixFile : public OdbFile + class MatrixFile : public OdbFile, public IProtoBuffable { public: MatrixFile() = default; ~MatrixFile() = default; - struct StepRecord + struct StepRecord : public IProtoBuffable { unsigned int column; unsigned int id = (unsigned int) -1; @@ -29,9 +31,13 @@ namespace Odb::Lib::FileModel::Design typedef std::vector> Vector; inline static const char* RECORD_TOKEN = "STEP"; + + // Inherited via IProtoBuffable + std::unique_ptr to_protobuf() const override; + void from_protobuf(const Odb::Lib::Protobuf::MatrixFile::StepRecord& message) override; }; - struct LayerRecord + struct LayerRecord : public IProtoBuffable { enum class Type { @@ -67,9 +73,7 @@ namespace Odb::Lib::FileModel::Design { Rigid, Flex - }; - - + }; typedef std::vector> Vector; @@ -93,6 +97,9 @@ namespace Odb::Lib::FileModel::Design inline static const char* RECORD_TOKEN = "LAYER"; + // Inherited via IProtoBuffable + std::unique_ptr to_protobuf() const override; + void from_protobuf(const Odb::Lib::Protobuf::MatrixFile::LayerRecord& message) override; }; const inline LayerRecord::Vector& GetLayerRecords() const; @@ -103,6 +110,10 @@ namespace Odb::Lib::FileModel::Design static inline bool attributeValueIsOptional(const std::string& attribute); + // Inherited via IProtoBuffable + std::unique_ptr to_protobuf() const override; + void from_protobuf(const Odb::Lib::Protobuf::MatrixFile& message) override; + private: LayerRecord::Vector m_layerRecords; StepRecord::Vector m_stepRecords; @@ -124,6 +135,6 @@ namespace Odb::Lib::FileModel::Design "CU_BOTTOM", "REF", "COLOR", - }; + }; }; } diff --git a/OdbDesignLib/FileModel/Design/MiscInfoFile.cpp b/OdbDesignLib/FileModel/Design/MiscInfoFile.cpp index fb1de5aa..4b1da37b 100644 --- a/OdbDesignLib/FileModel/Design/MiscInfoFile.cpp +++ b/OdbDesignLib/FileModel/Design/MiscInfoFile.cpp @@ -1,8 +1,8 @@ -#include "MiscInfoFile.h" // // Created by nmill on 10/13/2023. // +#include "../../crow_win.h" #include #include "MiscInfoFile.h" #include @@ -204,6 +204,31 @@ namespace Odb::Lib::FileModel::Design return false; } + std::unique_ptr MiscInfoFile::to_protobuf() const + { + std::unique_ptr pMiscInfoFileMessage(new Odb::Lib::Protobuf::MiscInfoFile); + pMiscInfoFileMessage->set_jobname(m_jobName); + pMiscInfoFileMessage->set_productmodelname(m_productModelName); + pMiscInfoFileMessage->set_odbversionmajor(m_odbVersionMajor); + pMiscInfoFileMessage->set_odbversionminor(m_odbVersionMinor); + pMiscInfoFileMessage->set_odbsource(m_odbSource); + auto seconds = std::chrono::duration_cast(m_creationDateDate.time_since_epoch()).count(); + pMiscInfoFileMessage->mutable_creationdatedate()->set_seconds(seconds); + pMiscInfoFileMessage->mutable_creationdatedate()->set_nanos(0); + seconds = std::chrono::duration_cast(m_saveDate.time_since_epoch()).count(); + pMiscInfoFileMessage->mutable_savedate()->set_seconds(seconds); + pMiscInfoFileMessage->mutable_savedate()->set_nanos(0); + pMiscInfoFileMessage->set_saveapp(m_saveApp); + pMiscInfoFileMessage->set_saveuser(m_saveUser); + pMiscInfoFileMessage->set_units(m_units); + pMiscInfoFileMessage->set_maxuniqueid(m_maxUniqueId); + return pMiscInfoFileMessage; + } + + void MiscInfoFile::from_protobuf(const Odb::Lib::Protobuf::MiscInfoFile& message) + { + } + std::string MiscInfoFile::GetProductModelName() const { return m_productModelName; diff --git a/OdbDesignLib/FileModel/Design/MiscInfoFile.h b/OdbDesignLib/FileModel/Design/MiscInfoFile.h index 0de9b20b..fc871ceb 100644 --- a/OdbDesignLib/FileModel/Design/MiscInfoFile.h +++ b/OdbDesignLib/FileModel/Design/MiscInfoFile.h @@ -4,13 +4,15 @@ #include "../OdbFile.h" #include +#include "../../IProtoBuffable.h" +#include "../../ProtoBuf/miscinfofile.pb.h" #pragma once namespace Odb::Lib::FileModel::Design { - class MiscInfoFile : public OdbFile + class MiscInfoFile : public OdbFile, public IProtoBuffable { public: MiscInfoFile() = default; @@ -30,6 +32,10 @@ namespace Odb::Lib::FileModel::Design bool Parse(std::filesystem::path path) override; + // Inherited via IProtoBuffable + std::unique_ptr to_protobuf() const override; + void from_protobuf(const Odb::Lib::Protobuf::MiscInfoFile& message) override; + private: std::string m_productModelName; std::string m_jobName; @@ -49,6 +55,6 @@ namespace Odb::Lib::FileModel::Design { //"ODB_SOURCE", // not optional per spec pg. 80 "MAX_UID", - }; + }; }; } diff --git a/OdbDesignLib/ProtoBuf/enums.pb.cc b/OdbDesignLib/ProtoBuf/enums.pb.cc new file mode 100644 index 00000000..7206ab9d --- /dev/null +++ b/OdbDesignLib/ProtoBuf/enums.pb.cc @@ -0,0 +1,110 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: enums.proto + +#include "enums.pb.h" + +#include + +#include +#include +#include +#include +#include +#include +#include +// @@protoc_insertion_point(includes) +#include + +PROTOBUF_PRAGMA_INIT_SEG + +namespace _pb = ::PROTOBUF_NAMESPACE_ID; +namespace _pbi = _pb::internal; + +namespace Odb { +namespace Lib { +namespace Protobuf { +} // namespace Protobuf +} // namespace Lib +} // namespace Odb +static const ::_pb::EnumDescriptor* file_level_enum_descriptors_enums_2eproto[3]; +static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_enums_2eproto = nullptr; +const uint32_t TableStruct_enums_2eproto::offsets[1] = {}; +static constexpr ::_pbi::MigrationSchema* schemas = nullptr; +static constexpr ::_pb::Message* const* file_default_instances = nullptr; + +const char descriptor_table_protodef_enums_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = + "\n\013enums.proto\022\020Odb.Lib.Protobuf* \n\tBoard" + "Side\022\007\n\003Top\020\000\022\n\n\006Bottom\020\001*\"\n\tLineShape\022\n" + "\n\006Square\020\000\022\t\n\005Round\020\001*&\n\010Polarity\022\014\n\010Pos" + "itive\020\000\022\014\n\010Negative\020\001b\006proto3" + ; +static ::_pbi::once_flag descriptor_table_enums_2eproto_once; +const ::_pbi::DescriptorTable descriptor_table_enums_2eproto = { + false, false, 149, descriptor_table_protodef_enums_2eproto, + "enums.proto", + &descriptor_table_enums_2eproto_once, nullptr, 0, 0, + schemas, file_default_instances, TableStruct_enums_2eproto::offsets, + nullptr, file_level_enum_descriptors_enums_2eproto, + file_level_service_descriptors_enums_2eproto, +}; +PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_enums_2eproto_getter() { + return &descriptor_table_enums_2eproto; +} + +// Force running AddDescriptors() at dynamic initialization time. +PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_enums_2eproto(&descriptor_table_enums_2eproto); +namespace Odb { +namespace Lib { +namespace Protobuf { +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* BoardSide_descriptor() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_enums_2eproto); + return file_level_enum_descriptors_enums_2eproto[0]; +} +bool BoardSide_IsValid(int value) { + switch (value) { + case 0: + case 1: + return true; + default: + return false; + } +} + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* LineShape_descriptor() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_enums_2eproto); + return file_level_enum_descriptors_enums_2eproto[1]; +} +bool LineShape_IsValid(int value) { + switch (value) { + case 0: + case 1: + return true; + default: + return false; + } +} + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Polarity_descriptor() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_enums_2eproto); + return file_level_enum_descriptors_enums_2eproto[2]; +} +bool Polarity_IsValid(int value) { + switch (value) { + case 0: + case 1: + return true; + default: + return false; + } +} + + +// @@protoc_insertion_point(namespace_scope) +} // namespace Protobuf +} // namespace Lib +} // namespace Odb +PROTOBUF_NAMESPACE_OPEN +PROTOBUF_NAMESPACE_CLOSE + +// @@protoc_insertion_point(global_scope) +#include diff --git a/OdbDesignLib/ProtoBuf/enums.pb.h b/OdbDesignLib/ProtoBuf/enums.pb.h new file mode 100644 index 00000000..6c52e12b --- /dev/null +++ b/OdbDesignLib/ProtoBuf/enums.pb.h @@ -0,0 +1,172 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: enums.proto + +#ifndef GOOGLE_PROTOBUF_INCLUDED_enums_2eproto +#define GOOGLE_PROTOBUF_INCLUDED_enums_2eproto + +#include +#include + +#include +#if PROTOBUF_VERSION < 3021000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3021012 < PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include // IWYU pragma: export +#include // IWYU pragma: export +#include +// @@protoc_insertion_point(includes) +#include +#define PROTOBUF_INTERNAL_EXPORT_enums_2eproto +PROTOBUF_NAMESPACE_OPEN +namespace internal { +class AnyMetadata; +} // namespace internal +PROTOBUF_NAMESPACE_CLOSE + +// Internal implementation detail -- do not use these members. +struct TableStruct_enums_2eproto { + static const uint32_t offsets[]; +}; +extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_enums_2eproto; +PROTOBUF_NAMESPACE_OPEN +PROTOBUF_NAMESPACE_CLOSE +namespace Odb { +namespace Lib { +namespace Protobuf { + +enum BoardSide : int { + Top = 0, + Bottom = 1, + BoardSide_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), + BoardSide_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() +}; +bool BoardSide_IsValid(int value); +constexpr BoardSide BoardSide_MIN = Top; +constexpr BoardSide BoardSide_MAX = Bottom; +constexpr int BoardSide_ARRAYSIZE = BoardSide_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* BoardSide_descriptor(); +template +inline const std::string& BoardSide_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function BoardSide_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + BoardSide_descriptor(), enum_t_value); +} +inline bool BoardSide_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, BoardSide* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + BoardSide_descriptor(), name, value); +} +enum LineShape : int { + Square = 0, + Round = 1, + LineShape_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), + LineShape_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() +}; +bool LineShape_IsValid(int value); +constexpr LineShape LineShape_MIN = Square; +constexpr LineShape LineShape_MAX = Round; +constexpr int LineShape_ARRAYSIZE = LineShape_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* LineShape_descriptor(); +template +inline const std::string& LineShape_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function LineShape_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + LineShape_descriptor(), enum_t_value); +} +inline bool LineShape_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, LineShape* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + LineShape_descriptor(), name, value); +} +enum Polarity : int { + Positive = 0, + Negative = 1, + Polarity_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), + Polarity_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() +}; +bool Polarity_IsValid(int value); +constexpr Polarity Polarity_MIN = Positive; +constexpr Polarity Polarity_MAX = Negative; +constexpr int Polarity_ARRAYSIZE = Polarity_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Polarity_descriptor(); +template +inline const std::string& Polarity_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function Polarity_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + Polarity_descriptor(), enum_t_value); +} +inline bool Polarity_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Polarity* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + Polarity_descriptor(), name, value); +} +// =================================================================== + + +// =================================================================== + + +// =================================================================== + +#ifdef __GNUC__ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +#ifdef __GNUC__ + #pragma GCC diagnostic pop +#endif // __GNUC__ + +// @@protoc_insertion_point(namespace_scope) + +} // namespace Protobuf +} // namespace Lib +} // namespace Odb + +PROTOBUF_NAMESPACE_OPEN + +template <> struct is_proto_enum< ::Odb::Lib::Protobuf::BoardSide> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::Odb::Lib::Protobuf::BoardSide>() { + return ::Odb::Lib::Protobuf::BoardSide_descriptor(); +} +template <> struct is_proto_enum< ::Odb::Lib::Protobuf::LineShape> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::Odb::Lib::Protobuf::LineShape>() { + return ::Odb::Lib::Protobuf::LineShape_descriptor(); +} +template <> struct is_proto_enum< ::Odb::Lib::Protobuf::Polarity> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::Odb::Lib::Protobuf::Polarity>() { + return ::Odb::Lib::Protobuf::Polarity_descriptor(); +} + +PROTOBUF_NAMESPACE_CLOSE + +// @@protoc_insertion_point(global_scope) + +#include +#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_enums_2eproto diff --git a/OdbDesignLib/ProtoBuf/matrixfile.pb.cc b/OdbDesignLib/ProtoBuf/matrixfile.pb.cc index 52e1aca5..a43f7f0b 100644 --- a/OdbDesignLib/ProtoBuf/matrixfile.pb.cc +++ b/OdbDesignLib/ProtoBuf/matrixfile.pb.cc @@ -23,8 +23,54 @@ namespace _pbi = _pb::internal; namespace Odb { namespace Lib { namespace Protobuf { +PROTOBUF_CONSTEXPR MatrixFile_StepRecord::MatrixFile_StepRecord( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.column_)*/0u + , /*decltype(_impl_.id_)*/0u + , /*decltype(_impl_._cached_size_)*/{}} {} +struct MatrixFile_StepRecordDefaultTypeInternal { + PROTOBUF_CONSTEXPR MatrixFile_StepRecordDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~MatrixFile_StepRecordDefaultTypeInternal() {} + union { + MatrixFile_StepRecord _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MatrixFile_StepRecordDefaultTypeInternal _MatrixFile_StepRecord_default_instance_; +PROTOBUF_CONSTEXPR MatrixFile_LayerRecord::MatrixFile_LayerRecord( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.dielectricname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.startname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.endname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.oldname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.addtype_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.row_)*/0u + , /*decltype(_impl_.context_)*/0 + , /*decltype(_impl_.type_)*/0 + , /*decltype(_impl_.polarity_)*/0 + , /*decltype(_impl_.dielectrictype_)*/0 + , /*decltype(_impl_.form_)*/0 + , /*decltype(_impl_.cutop_)*/0u + , /*decltype(_impl_.cubottom_)*/0u + , /*decltype(_impl_.ref_)*/0u + , /*decltype(_impl_.id_)*/0u + , /*decltype(_impl_._cached_size_)*/{}} {} +struct MatrixFile_LayerRecordDefaultTypeInternal { + PROTOBUF_CONSTEXPR MatrixFile_LayerRecordDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~MatrixFile_LayerRecordDefaultTypeInternal() {} + union { + MatrixFile_LayerRecord _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MatrixFile_LayerRecordDefaultTypeInternal _MatrixFile_LayerRecord_default_instance_; PROTOBUF_CONSTEXPR MatrixFile::MatrixFile( - ::_pbi::ConstantInitialized) {} + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.steps_)*/{} + , /*decltype(_impl_.layers_)*/{} + , /*decltype(_impl_._cached_size_)*/{}} {} struct MatrixFileDefaultTypeInternal { PROTOBUF_CONSTEXPR MatrixFileDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} @@ -37,35 +83,100 @@ PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORIT } // namespace Protobuf } // namespace Lib } // namespace Odb -static ::_pb::Metadata file_level_metadata_matrixfile_2eproto[1]; -static constexpr ::_pb::EnumDescriptor const** file_level_enum_descriptors_matrixfile_2eproto = nullptr; +static ::_pb::Metadata file_level_metadata_matrixfile_2eproto[3]; +static const ::_pb::EnumDescriptor* file_level_enum_descriptors_matrixfile_2eproto[4]; static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_matrixfile_2eproto = nullptr; const uint32_t TableStruct_matrixfile_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MatrixFile_StepRecord, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MatrixFile_StepRecord, _impl_.column_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MatrixFile_StepRecord, _impl_.id_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MatrixFile_StepRecord, _impl_.name_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MatrixFile_LayerRecord, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MatrixFile_LayerRecord, _impl_.row_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MatrixFile_LayerRecord, _impl_.context_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MatrixFile_LayerRecord, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MatrixFile_LayerRecord, _impl_.name_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MatrixFile_LayerRecord, _impl_.polarity_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MatrixFile_LayerRecord, _impl_.dielectrictype_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MatrixFile_LayerRecord, _impl_.dielectricname_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MatrixFile_LayerRecord, _impl_.form_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MatrixFile_LayerRecord, _impl_.cutop_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MatrixFile_LayerRecord, _impl_.cubottom_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MatrixFile_LayerRecord, _impl_.ref_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MatrixFile_LayerRecord, _impl_.startname_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MatrixFile_LayerRecord, _impl_.endname_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MatrixFile_LayerRecord, _impl_.oldname_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MatrixFile_LayerRecord, _impl_.addtype_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MatrixFile_LayerRecord, _impl_.id_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MatrixFile, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MatrixFile, _impl_.steps_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MatrixFile, _impl_.layers_), }; static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { - { 0, -1, -1, sizeof(::Odb::Lib::Protobuf::MatrixFile)}, + { 0, -1, -1, sizeof(::Odb::Lib::Protobuf::MatrixFile_StepRecord)}, + { 9, -1, -1, sizeof(::Odb::Lib::Protobuf::MatrixFile_LayerRecord)}, + { 31, -1, -1, sizeof(::Odb::Lib::Protobuf::MatrixFile)}, }; static const ::_pb::Message* const file_default_instances[] = { + &::Odb::Lib::Protobuf::_MatrixFile_StepRecord_default_instance_._instance, + &::Odb::Lib::Protobuf::_MatrixFile_LayerRecord_default_instance_._instance, &::Odb::Lib::Protobuf::_MatrixFile_default_instance_._instance, }; const char descriptor_table_protodef_matrixfile_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = - "\n\020matrixfile.proto\022\020Odb.Lib.Protobuf\"\014\n\n" - "MatrixFileb\006proto3" + "\n\020matrixfile.proto\022\020Odb.Lib.Protobuf\032\013en" + "ums.proto\"\350\007\n\nMatrixFile\0226\n\005steps\030\001 \003(\0132" + "\'.Odb.Lib.Protobuf.MatrixFile.StepRecord" + "\0228\n\006layers\030\002 \003(\0132(.Odb.Lib.Protobuf.Matr" + "ixFile.LayerRecord\0326\n\nStepRecord\022\016\n\006colu" + "mn\030\001 \001(\r\022\n\n\002id\030\002 \001(\r\022\014\n\004name\030\003 \001(\t\032\257\006\n\013L" + "ayerRecord\022\013\n\003row\030\001 \001(\r\022A\n\007context\030\002 \001(\016" + "20.Odb.Lib.Protobuf.MatrixFile.LayerReco" + "rd.Context\022;\n\004type\030\003 \001(\0162-.Odb.Lib.Proto" + "buf.MatrixFile.LayerRecord.Type\022\014\n\004name\030" + "\004 \001(\t\022,\n\010polarity\030\005 \001(\0162\032.Odb.Lib.Protob" + "uf.Polarity\022O\n\016dielectricType\030\006 \001(\01627.Od" + "b.Lib.Protobuf.MatrixFile.LayerRecord.Di" + "electricType\022\026\n\016dielectricName\030\007 \001(\t\022;\n\004" + "form\030\010 \001(\0162-.Odb.Lib.Protobuf.MatrixFile" + ".LayerRecord.Form\022\r\n\005cuTop\030\t \001(\r\022\020\n\010cuBo" + "ttom\030\n \001(\r\022\013\n\003ref\030\013 \001(\r\022\021\n\tstartName\030\014 \001" + "(\t\022\017\n\007endName\030\r \001(\t\022\017\n\007oldName\030\016 \001(\t\022\017\n\007" + "addType\030\017 \001(\t\022\n\n\002id\030\021 \001(\r\"\300\001\n\004Type\022\n\n\006Si" + "gnal\020\000\022\017\n\013PowerGround\020\001\022\016\n\nDielectric\020\002\022" + "\t\n\005Mixed\020\003\022\016\n\nSolderMask\020\004\022\017\n\013SolderPast" + "e\020\005\022\016\n\nSilkScreen\020\006\022\t\n\005Drill\020\007\022\010\n\004Rout\020\010" + "\022\014\n\010Document\020\t\022\r\n\tComponent\020\n\022\010\n\004Mask\020\013\022" + "\023\n\017ConductivePaste\020\014\"\036\n\007Context\022\t\n\005Board" + "\020\000\022\010\n\004Misc\020\001\"1\n\016DielectricType\022\010\n\004None\020\000" + "\022\013\n\007Prepreg\020\001\022\010\n\004Core\020\002\"\033\n\004Form\022\t\n\005Rigid" + "\020\000\022\010\n\004Flex\020\001b\006proto3" ; +static const ::_pbi::DescriptorTable* const descriptor_table_matrixfile_2eproto_deps[1] = { + &::descriptor_table_enums_2eproto, +}; static ::_pbi::once_flag descriptor_table_matrixfile_2eproto_once; const ::_pbi::DescriptorTable descriptor_table_matrixfile_2eproto = { - false, false, 58, descriptor_table_protodef_matrixfile_2eproto, + false, false, 1060, descriptor_table_protodef_matrixfile_2eproto, "matrixfile.proto", - &descriptor_table_matrixfile_2eproto_once, nullptr, 0, 1, + &descriptor_table_matrixfile_2eproto_once, descriptor_table_matrixfile_2eproto_deps, 1, 3, schemas, file_default_instances, TableStruct_matrixfile_2eproto::offsets, file_level_metadata_matrixfile_2eproto, file_level_enum_descriptors_matrixfile_2eproto, file_level_service_descriptors_matrixfile_2eproto, @@ -79,6 +190,1099 @@ PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_in namespace Odb { namespace Lib { namespace Protobuf { +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* MatrixFile_LayerRecord_Type_descriptor() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_matrixfile_2eproto); + return file_level_enum_descriptors_matrixfile_2eproto[0]; +} +bool MatrixFile_LayerRecord_Type_IsValid(int value) { + switch (value) { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + return true; + default: + return false; + } +} + +#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912)) +constexpr MatrixFile_LayerRecord_Type MatrixFile_LayerRecord::Signal; +constexpr MatrixFile_LayerRecord_Type MatrixFile_LayerRecord::PowerGround; +constexpr MatrixFile_LayerRecord_Type MatrixFile_LayerRecord::Dielectric; +constexpr MatrixFile_LayerRecord_Type MatrixFile_LayerRecord::Mixed; +constexpr MatrixFile_LayerRecord_Type MatrixFile_LayerRecord::SolderMask; +constexpr MatrixFile_LayerRecord_Type MatrixFile_LayerRecord::SolderPaste; +constexpr MatrixFile_LayerRecord_Type MatrixFile_LayerRecord::SilkScreen; +constexpr MatrixFile_LayerRecord_Type MatrixFile_LayerRecord::Drill; +constexpr MatrixFile_LayerRecord_Type MatrixFile_LayerRecord::Rout; +constexpr MatrixFile_LayerRecord_Type MatrixFile_LayerRecord::Document; +constexpr MatrixFile_LayerRecord_Type MatrixFile_LayerRecord::Component; +constexpr MatrixFile_LayerRecord_Type MatrixFile_LayerRecord::Mask; +constexpr MatrixFile_LayerRecord_Type MatrixFile_LayerRecord::ConductivePaste; +constexpr MatrixFile_LayerRecord_Type MatrixFile_LayerRecord::Type_MIN; +constexpr MatrixFile_LayerRecord_Type MatrixFile_LayerRecord::Type_MAX; +constexpr int MatrixFile_LayerRecord::Type_ARRAYSIZE; +#endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912)) +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* MatrixFile_LayerRecord_Context_descriptor() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_matrixfile_2eproto); + return file_level_enum_descriptors_matrixfile_2eproto[1]; +} +bool MatrixFile_LayerRecord_Context_IsValid(int value) { + switch (value) { + case 0: + case 1: + return true; + default: + return false; + } +} + +#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912)) +constexpr MatrixFile_LayerRecord_Context MatrixFile_LayerRecord::Board; +constexpr MatrixFile_LayerRecord_Context MatrixFile_LayerRecord::Misc; +constexpr MatrixFile_LayerRecord_Context MatrixFile_LayerRecord::Context_MIN; +constexpr MatrixFile_LayerRecord_Context MatrixFile_LayerRecord::Context_MAX; +constexpr int MatrixFile_LayerRecord::Context_ARRAYSIZE; +#endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912)) +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* MatrixFile_LayerRecord_DielectricType_descriptor() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_matrixfile_2eproto); + return file_level_enum_descriptors_matrixfile_2eproto[2]; +} +bool MatrixFile_LayerRecord_DielectricType_IsValid(int value) { + switch (value) { + case 0: + case 1: + case 2: + return true; + default: + return false; + } +} + +#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912)) +constexpr MatrixFile_LayerRecord_DielectricType MatrixFile_LayerRecord::None; +constexpr MatrixFile_LayerRecord_DielectricType MatrixFile_LayerRecord::Prepreg; +constexpr MatrixFile_LayerRecord_DielectricType MatrixFile_LayerRecord::Core; +constexpr MatrixFile_LayerRecord_DielectricType MatrixFile_LayerRecord::DielectricType_MIN; +constexpr MatrixFile_LayerRecord_DielectricType MatrixFile_LayerRecord::DielectricType_MAX; +constexpr int MatrixFile_LayerRecord::DielectricType_ARRAYSIZE; +#endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912)) +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* MatrixFile_LayerRecord_Form_descriptor() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_matrixfile_2eproto); + return file_level_enum_descriptors_matrixfile_2eproto[3]; +} +bool MatrixFile_LayerRecord_Form_IsValid(int value) { + switch (value) { + case 0: + case 1: + return true; + default: + return false; + } +} + +#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912)) +constexpr MatrixFile_LayerRecord_Form MatrixFile_LayerRecord::Rigid; +constexpr MatrixFile_LayerRecord_Form MatrixFile_LayerRecord::Flex; +constexpr MatrixFile_LayerRecord_Form MatrixFile_LayerRecord::Form_MIN; +constexpr MatrixFile_LayerRecord_Form MatrixFile_LayerRecord::Form_MAX; +constexpr int MatrixFile_LayerRecord::Form_ARRAYSIZE; +#endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912)) + +// =================================================================== + +class MatrixFile_StepRecord::_Internal { + public: +}; + +MatrixFile_StepRecord::MatrixFile_StepRecord(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:Odb.Lib.Protobuf.MatrixFile.StepRecord) +} +MatrixFile_StepRecord::MatrixFile_StepRecord(const MatrixFile_StepRecord& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + MatrixFile_StepRecord* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.name_){} + , decltype(_impl_.column_){} + , decltype(_impl_.id_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.name_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.name_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_name().empty()) { + _this->_impl_.name_.Set(from._internal_name(), + _this->GetArenaForAllocation()); + } + ::memcpy(&_impl_.column_, &from._impl_.column_, + static_cast(reinterpret_cast(&_impl_.id_) - + reinterpret_cast(&_impl_.column_)) + sizeof(_impl_.id_)); + // @@protoc_insertion_point(copy_constructor:Odb.Lib.Protobuf.MatrixFile.StepRecord) +} + +inline void MatrixFile_StepRecord::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.name_){} + , decltype(_impl_.column_){0u} + , decltype(_impl_.id_){0u} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.name_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.name_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +MatrixFile_StepRecord::~MatrixFile_StepRecord() { + // @@protoc_insertion_point(destructor:Odb.Lib.Protobuf.MatrixFile.StepRecord) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void MatrixFile_StepRecord::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.name_.Destroy(); +} + +void MatrixFile_StepRecord::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void MatrixFile_StepRecord::Clear() { +// @@protoc_insertion_point(message_clear_start:Odb.Lib.Protobuf.MatrixFile.StepRecord) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.name_.ClearToEmpty(); + ::memset(&_impl_.column_, 0, static_cast( + reinterpret_cast(&_impl_.id_) - + reinterpret_cast(&_impl_.column_)) + sizeof(_impl_.id_)); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* MatrixFile_StepRecord::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // uint32 column = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { + _impl_.column_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // uint32 id = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { + _impl_.id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string name = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + auto str = _internal_mutable_name(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.MatrixFile.StepRecord.name")); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* MatrixFile_StepRecord::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:Odb.Lib.Protobuf.MatrixFile.StepRecord) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // uint32 column = 1; + if (this->_internal_column() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_column(), target); + } + + // uint32 id = 2; + if (this->_internal_id() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_id(), target); + } + + // string name = 3; + if (!this->_internal_name().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_name().data(), static_cast(this->_internal_name().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.MatrixFile.StepRecord.name"); + target = stream->WriteStringMaybeAliased( + 3, this->_internal_name(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:Odb.Lib.Protobuf.MatrixFile.StepRecord) + return target; +} + +size_t MatrixFile_StepRecord::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:Odb.Lib.Protobuf.MatrixFile.StepRecord) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string name = 3; + if (!this->_internal_name().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_name()); + } + + // uint32 column = 1; + if (this->_internal_column() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_column()); + } + + // uint32 id = 2; + if (this->_internal_id() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_id()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData MatrixFile_StepRecord::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + MatrixFile_StepRecord::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*MatrixFile_StepRecord::GetClassData() const { return &_class_data_; } + + +void MatrixFile_StepRecord::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:Odb.Lib.Protobuf.MatrixFile.StepRecord) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_name().empty()) { + _this->_internal_set_name(from._internal_name()); + } + if (from._internal_column() != 0) { + _this->_internal_set_column(from._internal_column()); + } + if (from._internal_id() != 0) { + _this->_internal_set_id(from._internal_id()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void MatrixFile_StepRecord::CopyFrom(const MatrixFile_StepRecord& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:Odb.Lib.Protobuf.MatrixFile.StepRecord) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool MatrixFile_StepRecord::IsInitialized() const { + return true; +} + +void MatrixFile_StepRecord::InternalSwap(MatrixFile_StepRecord* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.name_, lhs_arena, + &other->_impl_.name_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(MatrixFile_StepRecord, _impl_.id_) + + sizeof(MatrixFile_StepRecord::_impl_.id_) + - PROTOBUF_FIELD_OFFSET(MatrixFile_StepRecord, _impl_.column_)>( + reinterpret_cast(&_impl_.column_), + reinterpret_cast(&other->_impl_.column_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata MatrixFile_StepRecord::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_matrixfile_2eproto_getter, &descriptor_table_matrixfile_2eproto_once, + file_level_metadata_matrixfile_2eproto[0]); +} + +// =================================================================== + +class MatrixFile_LayerRecord::_Internal { + public: +}; + +MatrixFile_LayerRecord::MatrixFile_LayerRecord(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:Odb.Lib.Protobuf.MatrixFile.LayerRecord) +} +MatrixFile_LayerRecord::MatrixFile_LayerRecord(const MatrixFile_LayerRecord& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + MatrixFile_LayerRecord* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.name_){} + , decltype(_impl_.dielectricname_){} + , decltype(_impl_.startname_){} + , decltype(_impl_.endname_){} + , decltype(_impl_.oldname_){} + , decltype(_impl_.addtype_){} + , decltype(_impl_.row_){} + , decltype(_impl_.context_){} + , decltype(_impl_.type_){} + , decltype(_impl_.polarity_){} + , decltype(_impl_.dielectrictype_){} + , decltype(_impl_.form_){} + , decltype(_impl_.cutop_){} + , decltype(_impl_.cubottom_){} + , decltype(_impl_.ref_){} + , decltype(_impl_.id_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.name_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.name_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_name().empty()) { + _this->_impl_.name_.Set(from._internal_name(), + _this->GetArenaForAllocation()); + } + _impl_.dielectricname_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.dielectricname_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_dielectricname().empty()) { + _this->_impl_.dielectricname_.Set(from._internal_dielectricname(), + _this->GetArenaForAllocation()); + } + _impl_.startname_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.startname_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_startname().empty()) { + _this->_impl_.startname_.Set(from._internal_startname(), + _this->GetArenaForAllocation()); + } + _impl_.endname_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.endname_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_endname().empty()) { + _this->_impl_.endname_.Set(from._internal_endname(), + _this->GetArenaForAllocation()); + } + _impl_.oldname_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.oldname_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_oldname().empty()) { + _this->_impl_.oldname_.Set(from._internal_oldname(), + _this->GetArenaForAllocation()); + } + _impl_.addtype_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.addtype_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_addtype().empty()) { + _this->_impl_.addtype_.Set(from._internal_addtype(), + _this->GetArenaForAllocation()); + } + ::memcpy(&_impl_.row_, &from._impl_.row_, + static_cast(reinterpret_cast(&_impl_.id_) - + reinterpret_cast(&_impl_.row_)) + sizeof(_impl_.id_)); + // @@protoc_insertion_point(copy_constructor:Odb.Lib.Protobuf.MatrixFile.LayerRecord) +} + +inline void MatrixFile_LayerRecord::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.name_){} + , decltype(_impl_.dielectricname_){} + , decltype(_impl_.startname_){} + , decltype(_impl_.endname_){} + , decltype(_impl_.oldname_){} + , decltype(_impl_.addtype_){} + , decltype(_impl_.row_){0u} + , decltype(_impl_.context_){0} + , decltype(_impl_.type_){0} + , decltype(_impl_.polarity_){0} + , decltype(_impl_.dielectrictype_){0} + , decltype(_impl_.form_){0} + , decltype(_impl_.cutop_){0u} + , decltype(_impl_.cubottom_){0u} + , decltype(_impl_.ref_){0u} + , decltype(_impl_.id_){0u} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.name_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.name_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.dielectricname_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.dielectricname_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.startname_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.startname_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.endname_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.endname_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.oldname_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.oldname_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.addtype_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.addtype_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +MatrixFile_LayerRecord::~MatrixFile_LayerRecord() { + // @@protoc_insertion_point(destructor:Odb.Lib.Protobuf.MatrixFile.LayerRecord) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void MatrixFile_LayerRecord::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.name_.Destroy(); + _impl_.dielectricname_.Destroy(); + _impl_.startname_.Destroy(); + _impl_.endname_.Destroy(); + _impl_.oldname_.Destroy(); + _impl_.addtype_.Destroy(); +} + +void MatrixFile_LayerRecord::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void MatrixFile_LayerRecord::Clear() { +// @@protoc_insertion_point(message_clear_start:Odb.Lib.Protobuf.MatrixFile.LayerRecord) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.name_.ClearToEmpty(); + _impl_.dielectricname_.ClearToEmpty(); + _impl_.startname_.ClearToEmpty(); + _impl_.endname_.ClearToEmpty(); + _impl_.oldname_.ClearToEmpty(); + _impl_.addtype_.ClearToEmpty(); + ::memset(&_impl_.row_, 0, static_cast( + reinterpret_cast(&_impl_.id_) - + reinterpret_cast(&_impl_.row_)) + sizeof(_impl_.id_)); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* MatrixFile_LayerRecord::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // uint32 row = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { + _impl_.row_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .Odb.Lib.Protobuf.MatrixFile.LayerRecord.Context context = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { + uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + _internal_set_context(static_cast<::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Context>(val)); + } else + goto handle_unusual; + continue; + // .Odb.Lib.Protobuf.MatrixFile.LayerRecord.Type type = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { + uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + _internal_set_type(static_cast<::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Type>(val)); + } else + goto handle_unusual; + continue; + // string name = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { + auto str = _internal_mutable_name(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.MatrixFile.LayerRecord.name")); + } else + goto handle_unusual; + continue; + // .Odb.Lib.Protobuf.Polarity polarity = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 40)) { + uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + _internal_set_polarity(static_cast<::Odb::Lib::Protobuf::Polarity>(val)); + } else + goto handle_unusual; + continue; + // .Odb.Lib.Protobuf.MatrixFile.LayerRecord.DielectricType dielectricType = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 48)) { + uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + _internal_set_dielectrictype(static_cast<::Odb::Lib::Protobuf::MatrixFile_LayerRecord_DielectricType>(val)); + } else + goto handle_unusual; + continue; + // string dielectricName = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 58)) { + auto str = _internal_mutable_dielectricname(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.MatrixFile.LayerRecord.dielectricName")); + } else + goto handle_unusual; + continue; + // .Odb.Lib.Protobuf.MatrixFile.LayerRecord.Form form = 8; + case 8: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 64)) { + uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + _internal_set_form(static_cast<::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Form>(val)); + } else + goto handle_unusual; + continue; + // uint32 cuTop = 9; + case 9: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 72)) { + _impl_.cutop_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // uint32 cuBottom = 10; + case 10: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 80)) { + _impl_.cubottom_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // uint32 ref = 11; + case 11: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 88)) { + _impl_.ref_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string startName = 12; + case 12: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 98)) { + auto str = _internal_mutable_startname(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.MatrixFile.LayerRecord.startName")); + } else + goto handle_unusual; + continue; + // string endName = 13; + case 13: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 106)) { + auto str = _internal_mutable_endname(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.MatrixFile.LayerRecord.endName")); + } else + goto handle_unusual; + continue; + // string oldName = 14; + case 14: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 114)) { + auto str = _internal_mutable_oldname(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.MatrixFile.LayerRecord.oldName")); + } else + goto handle_unusual; + continue; + // string addType = 15; + case 15: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 122)) { + auto str = _internal_mutable_addtype(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.MatrixFile.LayerRecord.addType")); + } else + goto handle_unusual; + continue; + // uint32 id = 17; + case 17: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 136)) { + _impl_.id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* MatrixFile_LayerRecord::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:Odb.Lib.Protobuf.MatrixFile.LayerRecord) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // uint32 row = 1; + if (this->_internal_row() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_row(), target); + } + + // .Odb.Lib.Protobuf.MatrixFile.LayerRecord.Context context = 2; + if (this->_internal_context() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 2, this->_internal_context(), target); + } + + // .Odb.Lib.Protobuf.MatrixFile.LayerRecord.Type type = 3; + if (this->_internal_type() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 3, this->_internal_type(), target); + } + + // string name = 4; + if (!this->_internal_name().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_name().data(), static_cast(this->_internal_name().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.MatrixFile.LayerRecord.name"); + target = stream->WriteStringMaybeAliased( + 4, this->_internal_name(), target); + } + + // .Odb.Lib.Protobuf.Polarity polarity = 5; + if (this->_internal_polarity() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 5, this->_internal_polarity(), target); + } + + // .Odb.Lib.Protobuf.MatrixFile.LayerRecord.DielectricType dielectricType = 6; + if (this->_internal_dielectrictype() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 6, this->_internal_dielectrictype(), target); + } + + // string dielectricName = 7; + if (!this->_internal_dielectricname().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_dielectricname().data(), static_cast(this->_internal_dielectricname().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.MatrixFile.LayerRecord.dielectricName"); + target = stream->WriteStringMaybeAliased( + 7, this->_internal_dielectricname(), target); + } + + // .Odb.Lib.Protobuf.MatrixFile.LayerRecord.Form form = 8; + if (this->_internal_form() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 8, this->_internal_form(), target); + } + + // uint32 cuTop = 9; + if (this->_internal_cutop() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray(9, this->_internal_cutop(), target); + } + + // uint32 cuBottom = 10; + if (this->_internal_cubottom() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray(10, this->_internal_cubottom(), target); + } + + // uint32 ref = 11; + if (this->_internal_ref() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray(11, this->_internal_ref(), target); + } + + // string startName = 12; + if (!this->_internal_startname().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_startname().data(), static_cast(this->_internal_startname().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.MatrixFile.LayerRecord.startName"); + target = stream->WriteStringMaybeAliased( + 12, this->_internal_startname(), target); + } + + // string endName = 13; + if (!this->_internal_endname().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_endname().data(), static_cast(this->_internal_endname().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.MatrixFile.LayerRecord.endName"); + target = stream->WriteStringMaybeAliased( + 13, this->_internal_endname(), target); + } + + // string oldName = 14; + if (!this->_internal_oldname().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_oldname().data(), static_cast(this->_internal_oldname().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.MatrixFile.LayerRecord.oldName"); + target = stream->WriteStringMaybeAliased( + 14, this->_internal_oldname(), target); + } + + // string addType = 15; + if (!this->_internal_addtype().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_addtype().data(), static_cast(this->_internal_addtype().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.MatrixFile.LayerRecord.addType"); + target = stream->WriteStringMaybeAliased( + 15, this->_internal_addtype(), target); + } + + // uint32 id = 17; + if (this->_internal_id() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray(17, this->_internal_id(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:Odb.Lib.Protobuf.MatrixFile.LayerRecord) + return target; +} + +size_t MatrixFile_LayerRecord::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:Odb.Lib.Protobuf.MatrixFile.LayerRecord) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string name = 4; + if (!this->_internal_name().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_name()); + } + + // string dielectricName = 7; + if (!this->_internal_dielectricname().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_dielectricname()); + } + + // string startName = 12; + if (!this->_internal_startname().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_startname()); + } + + // string endName = 13; + if (!this->_internal_endname().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_endname()); + } + + // string oldName = 14; + if (!this->_internal_oldname().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_oldname()); + } + + // string addType = 15; + if (!this->_internal_addtype().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_addtype()); + } + + // uint32 row = 1; + if (this->_internal_row() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_row()); + } + + // .Odb.Lib.Protobuf.MatrixFile.LayerRecord.Context context = 2; + if (this->_internal_context() != 0) { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this->_internal_context()); + } + + // .Odb.Lib.Protobuf.MatrixFile.LayerRecord.Type type = 3; + if (this->_internal_type() != 0) { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this->_internal_type()); + } + + // .Odb.Lib.Protobuf.Polarity polarity = 5; + if (this->_internal_polarity() != 0) { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this->_internal_polarity()); + } + + // .Odb.Lib.Protobuf.MatrixFile.LayerRecord.DielectricType dielectricType = 6; + if (this->_internal_dielectrictype() != 0) { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this->_internal_dielectrictype()); + } + + // .Odb.Lib.Protobuf.MatrixFile.LayerRecord.Form form = 8; + if (this->_internal_form() != 0) { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this->_internal_form()); + } + + // uint32 cuTop = 9; + if (this->_internal_cutop() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_cutop()); + } + + // uint32 cuBottom = 10; + if (this->_internal_cubottom() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_cubottom()); + } + + // uint32 ref = 11; + if (this->_internal_ref() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_ref()); + } + + // uint32 id = 17; + if (this->_internal_id() != 0) { + total_size += 2 + + ::_pbi::WireFormatLite::UInt32Size( + this->_internal_id()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData MatrixFile_LayerRecord::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + MatrixFile_LayerRecord::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*MatrixFile_LayerRecord::GetClassData() const { return &_class_data_; } + + +void MatrixFile_LayerRecord::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:Odb.Lib.Protobuf.MatrixFile.LayerRecord) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_name().empty()) { + _this->_internal_set_name(from._internal_name()); + } + if (!from._internal_dielectricname().empty()) { + _this->_internal_set_dielectricname(from._internal_dielectricname()); + } + if (!from._internal_startname().empty()) { + _this->_internal_set_startname(from._internal_startname()); + } + if (!from._internal_endname().empty()) { + _this->_internal_set_endname(from._internal_endname()); + } + if (!from._internal_oldname().empty()) { + _this->_internal_set_oldname(from._internal_oldname()); + } + if (!from._internal_addtype().empty()) { + _this->_internal_set_addtype(from._internal_addtype()); + } + if (from._internal_row() != 0) { + _this->_internal_set_row(from._internal_row()); + } + if (from._internal_context() != 0) { + _this->_internal_set_context(from._internal_context()); + } + if (from._internal_type() != 0) { + _this->_internal_set_type(from._internal_type()); + } + if (from._internal_polarity() != 0) { + _this->_internal_set_polarity(from._internal_polarity()); + } + if (from._internal_dielectrictype() != 0) { + _this->_internal_set_dielectrictype(from._internal_dielectrictype()); + } + if (from._internal_form() != 0) { + _this->_internal_set_form(from._internal_form()); + } + if (from._internal_cutop() != 0) { + _this->_internal_set_cutop(from._internal_cutop()); + } + if (from._internal_cubottom() != 0) { + _this->_internal_set_cubottom(from._internal_cubottom()); + } + if (from._internal_ref() != 0) { + _this->_internal_set_ref(from._internal_ref()); + } + if (from._internal_id() != 0) { + _this->_internal_set_id(from._internal_id()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void MatrixFile_LayerRecord::CopyFrom(const MatrixFile_LayerRecord& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:Odb.Lib.Protobuf.MatrixFile.LayerRecord) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool MatrixFile_LayerRecord::IsInitialized() const { + return true; +} + +void MatrixFile_LayerRecord::InternalSwap(MatrixFile_LayerRecord* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.name_, lhs_arena, + &other->_impl_.name_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.dielectricname_, lhs_arena, + &other->_impl_.dielectricname_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.startname_, lhs_arena, + &other->_impl_.startname_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.endname_, lhs_arena, + &other->_impl_.endname_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.oldname_, lhs_arena, + &other->_impl_.oldname_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.addtype_, lhs_arena, + &other->_impl_.addtype_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(MatrixFile_LayerRecord, _impl_.id_) + + sizeof(MatrixFile_LayerRecord::_impl_.id_) + - PROTOBUF_FIELD_OFFSET(MatrixFile_LayerRecord, _impl_.row_)>( + reinterpret_cast(&_impl_.row_), + reinterpret_cast(&other->_impl_.row_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata MatrixFile_LayerRecord::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_matrixfile_2eproto_getter, &descriptor_table_matrixfile_2eproto_once, + file_level_metadata_matrixfile_2eproto[1]); +} // =================================================================== @@ -88,36 +1292,215 @@ class MatrixFile::_Internal { MatrixFile::MatrixFile(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase(arena, is_message_owned) { + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); // @@protoc_insertion_point(arena_constructor:Odb.Lib.Protobuf.MatrixFile) } MatrixFile::MatrixFile(const MatrixFile& from) - : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase() { + : ::PROTOBUF_NAMESPACE_ID::Message() { MatrixFile* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.steps_){from._impl_.steps_} + , decltype(_impl_.layers_){from._impl_.layers_} + , /*decltype(_impl_._cached_size_)*/{}}; + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); // @@protoc_insertion_point(copy_constructor:Odb.Lib.Protobuf.MatrixFile) } +inline void MatrixFile::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.steps_){arena} + , decltype(_impl_.layers_){arena} + , /*decltype(_impl_._cached_size_)*/{} + }; +} + +MatrixFile::~MatrixFile() { + // @@protoc_insertion_point(destructor:Odb.Lib.Protobuf.MatrixFile) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void MatrixFile::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.steps_.~RepeatedPtrField(); + _impl_.layers_.~RepeatedPtrField(); +} + +void MatrixFile::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void MatrixFile::Clear() { +// @@protoc_insertion_point(message_clear_start:Odb.Lib.Protobuf.MatrixFile) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.steps_.Clear(); + _impl_.layers_.Clear(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* MatrixFile::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // repeated .Odb.Lib.Protobuf.MatrixFile.StepRecord steps = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_steps(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr)); + } else + goto handle_unusual; + continue; + // repeated .Odb.Lib.Protobuf.MatrixFile.LayerRecord layers = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_layers(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr)); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* MatrixFile::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:Odb.Lib.Protobuf.MatrixFile) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // repeated .Odb.Lib.Protobuf.MatrixFile.StepRecord steps = 1; + for (unsigned i = 0, + n = static_cast(this->_internal_steps_size()); i < n; i++) { + const auto& repfield = this->_internal_steps(i); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream); + } + + // repeated .Odb.Lib.Protobuf.MatrixFile.LayerRecord layers = 2; + for (unsigned i = 0, + n = static_cast(this->_internal_layers_size()); i < n; i++) { + const auto& repfield = this->_internal_layers(i); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:Odb.Lib.Protobuf.MatrixFile) + return target; +} + +size_t MatrixFile::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:Odb.Lib.Protobuf.MatrixFile) + size_t total_size = 0; + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + // repeated .Odb.Lib.Protobuf.MatrixFile.StepRecord steps = 1; + total_size += 1UL * this->_internal_steps_size(); + for (const auto& msg : this->_impl_.steps_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + // repeated .Odb.Lib.Protobuf.MatrixFile.LayerRecord layers = 2; + total_size += 1UL * this->_internal_layers_size(); + for (const auto& msg : this->_impl_.layers_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} const ::PROTOBUF_NAMESPACE_ID::Message::ClassData MatrixFile::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl, - ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl, + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + MatrixFile::MergeImpl }; const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*MatrixFile::GetClassData() const { return &_class_data_; } +void MatrixFile::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:Odb.Lib.Protobuf.MatrixFile) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + _this->_impl_.steps_.MergeFrom(from._impl_.steps_); + _this->_impl_.layers_.MergeFrom(from._impl_.layers_); + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} +void MatrixFile::CopyFrom(const MatrixFile& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:Odb.Lib.Protobuf.MatrixFile) + if (&from == this) return; + Clear(); + MergeFrom(from); +} +bool MatrixFile::IsInitialized() const { + return true; +} +void MatrixFile::InternalSwap(MatrixFile* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + _impl_.steps_.InternalSwap(&other->_impl_.steps_); + _impl_.layers_.InternalSwap(&other->_impl_.layers_); +} ::PROTOBUF_NAMESPACE_ID::Metadata MatrixFile::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_matrixfile_2eproto_getter, &descriptor_table_matrixfile_2eproto_once, - file_level_metadata_matrixfile_2eproto[0]); + file_level_metadata_matrixfile_2eproto[2]); } // @@protoc_insertion_point(namespace_scope) @@ -125,6 +1508,14 @@ ::PROTOBUF_NAMESPACE_ID::Metadata MatrixFile::GetMetadata() const { } // namespace Lib } // namespace Odb PROTOBUF_NAMESPACE_OPEN +template<> PROTOBUF_NOINLINE ::Odb::Lib::Protobuf::MatrixFile_StepRecord* +Arena::CreateMaybeMessage< ::Odb::Lib::Protobuf::MatrixFile_StepRecord >(Arena* arena) { + return Arena::CreateMessageInternal< ::Odb::Lib::Protobuf::MatrixFile_StepRecord >(arena); +} +template<> PROTOBUF_NOINLINE ::Odb::Lib::Protobuf::MatrixFile_LayerRecord* +Arena::CreateMaybeMessage< ::Odb::Lib::Protobuf::MatrixFile_LayerRecord >(Arena* arena) { + return Arena::CreateMessageInternal< ::Odb::Lib::Protobuf::MatrixFile_LayerRecord >(arena); +} template<> PROTOBUF_NOINLINE ::Odb::Lib::Protobuf::MatrixFile* Arena::CreateMaybeMessage< ::Odb::Lib::Protobuf::MatrixFile >(Arena* arena) { return Arena::CreateMessageInternal< ::Odb::Lib::Protobuf::MatrixFile >(arena); diff --git a/OdbDesignLib/ProtoBuf/matrixfile.pb.h b/OdbDesignLib/ProtoBuf/matrixfile.pb.h index fa9e2e8e..a13b00f1 100644 --- a/OdbDesignLib/ProtoBuf/matrixfile.pb.h +++ b/OdbDesignLib/ProtoBuf/matrixfile.pb.h @@ -23,14 +23,15 @@ #include #include #include -#include #include #include #include #include #include // IWYU pragma: export #include // IWYU pragma: export +#include #include +#include "enums.pb.h" // @@protoc_insertion_point(includes) #include #define PROTOBUF_INTERNAL_EXPORT_matrixfile_2eproto @@ -51,22 +52,805 @@ namespace Protobuf { class MatrixFile; struct MatrixFileDefaultTypeInternal; extern MatrixFileDefaultTypeInternal _MatrixFile_default_instance_; +class MatrixFile_LayerRecord; +struct MatrixFile_LayerRecordDefaultTypeInternal; +extern MatrixFile_LayerRecordDefaultTypeInternal _MatrixFile_LayerRecord_default_instance_; +class MatrixFile_StepRecord; +struct MatrixFile_StepRecordDefaultTypeInternal; +extern MatrixFile_StepRecordDefaultTypeInternal _MatrixFile_StepRecord_default_instance_; } // namespace Protobuf } // namespace Lib } // namespace Odb PROTOBUF_NAMESPACE_OPEN template<> ::Odb::Lib::Protobuf::MatrixFile* Arena::CreateMaybeMessage<::Odb::Lib::Protobuf::MatrixFile>(Arena*); +template<> ::Odb::Lib::Protobuf::MatrixFile_LayerRecord* Arena::CreateMaybeMessage<::Odb::Lib::Protobuf::MatrixFile_LayerRecord>(Arena*); +template<> ::Odb::Lib::Protobuf::MatrixFile_StepRecord* Arena::CreateMaybeMessage<::Odb::Lib::Protobuf::MatrixFile_StepRecord>(Arena*); PROTOBUF_NAMESPACE_CLOSE namespace Odb { namespace Lib { namespace Protobuf { +enum MatrixFile_LayerRecord_Type : int { + MatrixFile_LayerRecord_Type_Signal = 0, + MatrixFile_LayerRecord_Type_PowerGround = 1, + MatrixFile_LayerRecord_Type_Dielectric = 2, + MatrixFile_LayerRecord_Type_Mixed = 3, + MatrixFile_LayerRecord_Type_SolderMask = 4, + MatrixFile_LayerRecord_Type_SolderPaste = 5, + MatrixFile_LayerRecord_Type_SilkScreen = 6, + MatrixFile_LayerRecord_Type_Drill = 7, + MatrixFile_LayerRecord_Type_Rout = 8, + MatrixFile_LayerRecord_Type_Document = 9, + MatrixFile_LayerRecord_Type_Component = 10, + MatrixFile_LayerRecord_Type_Mask = 11, + MatrixFile_LayerRecord_Type_ConductivePaste = 12, + MatrixFile_LayerRecord_Type_MatrixFile_LayerRecord_Type_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), + MatrixFile_LayerRecord_Type_MatrixFile_LayerRecord_Type_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() +}; +bool MatrixFile_LayerRecord_Type_IsValid(int value); +constexpr MatrixFile_LayerRecord_Type MatrixFile_LayerRecord_Type_Type_MIN = MatrixFile_LayerRecord_Type_Signal; +constexpr MatrixFile_LayerRecord_Type MatrixFile_LayerRecord_Type_Type_MAX = MatrixFile_LayerRecord_Type_ConductivePaste; +constexpr int MatrixFile_LayerRecord_Type_Type_ARRAYSIZE = MatrixFile_LayerRecord_Type_Type_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* MatrixFile_LayerRecord_Type_descriptor(); +template +inline const std::string& MatrixFile_LayerRecord_Type_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function MatrixFile_LayerRecord_Type_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + MatrixFile_LayerRecord_Type_descriptor(), enum_t_value); +} +inline bool MatrixFile_LayerRecord_Type_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, MatrixFile_LayerRecord_Type* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + MatrixFile_LayerRecord_Type_descriptor(), name, value); +} +enum MatrixFile_LayerRecord_Context : int { + MatrixFile_LayerRecord_Context_Board = 0, + MatrixFile_LayerRecord_Context_Misc = 1, + MatrixFile_LayerRecord_Context_MatrixFile_LayerRecord_Context_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), + MatrixFile_LayerRecord_Context_MatrixFile_LayerRecord_Context_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() +}; +bool MatrixFile_LayerRecord_Context_IsValid(int value); +constexpr MatrixFile_LayerRecord_Context MatrixFile_LayerRecord_Context_Context_MIN = MatrixFile_LayerRecord_Context_Board; +constexpr MatrixFile_LayerRecord_Context MatrixFile_LayerRecord_Context_Context_MAX = MatrixFile_LayerRecord_Context_Misc; +constexpr int MatrixFile_LayerRecord_Context_Context_ARRAYSIZE = MatrixFile_LayerRecord_Context_Context_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* MatrixFile_LayerRecord_Context_descriptor(); +template +inline const std::string& MatrixFile_LayerRecord_Context_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function MatrixFile_LayerRecord_Context_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + MatrixFile_LayerRecord_Context_descriptor(), enum_t_value); +} +inline bool MatrixFile_LayerRecord_Context_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, MatrixFile_LayerRecord_Context* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + MatrixFile_LayerRecord_Context_descriptor(), name, value); +} +enum MatrixFile_LayerRecord_DielectricType : int { + MatrixFile_LayerRecord_DielectricType_None = 0, + MatrixFile_LayerRecord_DielectricType_Prepreg = 1, + MatrixFile_LayerRecord_DielectricType_Core = 2, + MatrixFile_LayerRecord_DielectricType_MatrixFile_LayerRecord_DielectricType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), + MatrixFile_LayerRecord_DielectricType_MatrixFile_LayerRecord_DielectricType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() +}; +bool MatrixFile_LayerRecord_DielectricType_IsValid(int value); +constexpr MatrixFile_LayerRecord_DielectricType MatrixFile_LayerRecord_DielectricType_DielectricType_MIN = MatrixFile_LayerRecord_DielectricType_None; +constexpr MatrixFile_LayerRecord_DielectricType MatrixFile_LayerRecord_DielectricType_DielectricType_MAX = MatrixFile_LayerRecord_DielectricType_Core; +constexpr int MatrixFile_LayerRecord_DielectricType_DielectricType_ARRAYSIZE = MatrixFile_LayerRecord_DielectricType_DielectricType_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* MatrixFile_LayerRecord_DielectricType_descriptor(); +template +inline const std::string& MatrixFile_LayerRecord_DielectricType_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function MatrixFile_LayerRecord_DielectricType_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + MatrixFile_LayerRecord_DielectricType_descriptor(), enum_t_value); +} +inline bool MatrixFile_LayerRecord_DielectricType_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, MatrixFile_LayerRecord_DielectricType* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + MatrixFile_LayerRecord_DielectricType_descriptor(), name, value); +} +enum MatrixFile_LayerRecord_Form : int { + MatrixFile_LayerRecord_Form_Rigid = 0, + MatrixFile_LayerRecord_Form_Flex = 1, + MatrixFile_LayerRecord_Form_MatrixFile_LayerRecord_Form_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), + MatrixFile_LayerRecord_Form_MatrixFile_LayerRecord_Form_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() +}; +bool MatrixFile_LayerRecord_Form_IsValid(int value); +constexpr MatrixFile_LayerRecord_Form MatrixFile_LayerRecord_Form_Form_MIN = MatrixFile_LayerRecord_Form_Rigid; +constexpr MatrixFile_LayerRecord_Form MatrixFile_LayerRecord_Form_Form_MAX = MatrixFile_LayerRecord_Form_Flex; +constexpr int MatrixFile_LayerRecord_Form_Form_ARRAYSIZE = MatrixFile_LayerRecord_Form_Form_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* MatrixFile_LayerRecord_Form_descriptor(); +template +inline const std::string& MatrixFile_LayerRecord_Form_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function MatrixFile_LayerRecord_Form_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + MatrixFile_LayerRecord_Form_descriptor(), enum_t_value); +} +inline bool MatrixFile_LayerRecord_Form_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, MatrixFile_LayerRecord_Form* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + MatrixFile_LayerRecord_Form_descriptor(), name, value); +} // =================================================================== +class MatrixFile_StepRecord final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Odb.Lib.Protobuf.MatrixFile.StepRecord) */ { + public: + inline MatrixFile_StepRecord() : MatrixFile_StepRecord(nullptr) {} + ~MatrixFile_StepRecord() override; + explicit PROTOBUF_CONSTEXPR MatrixFile_StepRecord(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + MatrixFile_StepRecord(const MatrixFile_StepRecord& from); + MatrixFile_StepRecord(MatrixFile_StepRecord&& from) noexcept + : MatrixFile_StepRecord() { + *this = ::std::move(from); + } + + inline MatrixFile_StepRecord& operator=(const MatrixFile_StepRecord& from) { + CopyFrom(from); + return *this; + } + inline MatrixFile_StepRecord& operator=(MatrixFile_StepRecord&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const MatrixFile_StepRecord& default_instance() { + return *internal_default_instance(); + } + static inline const MatrixFile_StepRecord* internal_default_instance() { + return reinterpret_cast( + &_MatrixFile_StepRecord_default_instance_); + } + static constexpr int kIndexInFileMessages = + 0; + + friend void swap(MatrixFile_StepRecord& a, MatrixFile_StepRecord& b) { + a.Swap(&b); + } + inline void Swap(MatrixFile_StepRecord* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(MatrixFile_StepRecord* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + MatrixFile_StepRecord* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const MatrixFile_StepRecord& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const MatrixFile_StepRecord& from) { + MatrixFile_StepRecord::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(MatrixFile_StepRecord* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "Odb.Lib.Protobuf.MatrixFile.StepRecord"; + } + protected: + explicit MatrixFile_StepRecord(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kNameFieldNumber = 3, + kColumnFieldNumber = 1, + kIdFieldNumber = 2, + }; + // string name = 3; + void clear_name(); + const std::string& name() const; + template + void set_name(ArgT0&& arg0, ArgT... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* name); + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); + std::string* _internal_mutable_name(); + public: + + // uint32 column = 1; + void clear_column(); + uint32_t column() const; + void set_column(uint32_t value); + private: + uint32_t _internal_column() const; + void _internal_set_column(uint32_t value); + public: + + // uint32 id = 2; + void clear_id(); + uint32_t id() const; + void set_id(uint32_t value); + private: + uint32_t _internal_id() const; + void _internal_set_id(uint32_t value); + public: + + // @@protoc_insertion_point(class_scope:Odb.Lib.Protobuf.MatrixFile.StepRecord) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; + uint32_t column_; + uint32_t id_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_matrixfile_2eproto; +}; +// ------------------------------------------------------------------- + +class MatrixFile_LayerRecord final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Odb.Lib.Protobuf.MatrixFile.LayerRecord) */ { + public: + inline MatrixFile_LayerRecord() : MatrixFile_LayerRecord(nullptr) {} + ~MatrixFile_LayerRecord() override; + explicit PROTOBUF_CONSTEXPR MatrixFile_LayerRecord(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + MatrixFile_LayerRecord(const MatrixFile_LayerRecord& from); + MatrixFile_LayerRecord(MatrixFile_LayerRecord&& from) noexcept + : MatrixFile_LayerRecord() { + *this = ::std::move(from); + } + + inline MatrixFile_LayerRecord& operator=(const MatrixFile_LayerRecord& from) { + CopyFrom(from); + return *this; + } + inline MatrixFile_LayerRecord& operator=(MatrixFile_LayerRecord&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const MatrixFile_LayerRecord& default_instance() { + return *internal_default_instance(); + } + static inline const MatrixFile_LayerRecord* internal_default_instance() { + return reinterpret_cast( + &_MatrixFile_LayerRecord_default_instance_); + } + static constexpr int kIndexInFileMessages = + 1; + + friend void swap(MatrixFile_LayerRecord& a, MatrixFile_LayerRecord& b) { + a.Swap(&b); + } + inline void Swap(MatrixFile_LayerRecord* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(MatrixFile_LayerRecord* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + MatrixFile_LayerRecord* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const MatrixFile_LayerRecord& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const MatrixFile_LayerRecord& from) { + MatrixFile_LayerRecord::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(MatrixFile_LayerRecord* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "Odb.Lib.Protobuf.MatrixFile.LayerRecord"; + } + protected: + explicit MatrixFile_LayerRecord(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + typedef MatrixFile_LayerRecord_Type Type; + static constexpr Type Signal = + MatrixFile_LayerRecord_Type_Signal; + static constexpr Type PowerGround = + MatrixFile_LayerRecord_Type_PowerGround; + static constexpr Type Dielectric = + MatrixFile_LayerRecord_Type_Dielectric; + static constexpr Type Mixed = + MatrixFile_LayerRecord_Type_Mixed; + static constexpr Type SolderMask = + MatrixFile_LayerRecord_Type_SolderMask; + static constexpr Type SolderPaste = + MatrixFile_LayerRecord_Type_SolderPaste; + static constexpr Type SilkScreen = + MatrixFile_LayerRecord_Type_SilkScreen; + static constexpr Type Drill = + MatrixFile_LayerRecord_Type_Drill; + static constexpr Type Rout = + MatrixFile_LayerRecord_Type_Rout; + static constexpr Type Document = + MatrixFile_LayerRecord_Type_Document; + static constexpr Type Component = + MatrixFile_LayerRecord_Type_Component; + static constexpr Type Mask = + MatrixFile_LayerRecord_Type_Mask; + static constexpr Type ConductivePaste = + MatrixFile_LayerRecord_Type_ConductivePaste; + static inline bool Type_IsValid(int value) { + return MatrixFile_LayerRecord_Type_IsValid(value); + } + static constexpr Type Type_MIN = + MatrixFile_LayerRecord_Type_Type_MIN; + static constexpr Type Type_MAX = + MatrixFile_LayerRecord_Type_Type_MAX; + static constexpr int Type_ARRAYSIZE = + MatrixFile_LayerRecord_Type_Type_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + Type_descriptor() { + return MatrixFile_LayerRecord_Type_descriptor(); + } + template + static inline const std::string& Type_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function Type_Name."); + return MatrixFile_LayerRecord_Type_Name(enum_t_value); + } + static inline bool Type_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + Type* value) { + return MatrixFile_LayerRecord_Type_Parse(name, value); + } + + typedef MatrixFile_LayerRecord_Context Context; + static constexpr Context Board = + MatrixFile_LayerRecord_Context_Board; + static constexpr Context Misc = + MatrixFile_LayerRecord_Context_Misc; + static inline bool Context_IsValid(int value) { + return MatrixFile_LayerRecord_Context_IsValid(value); + } + static constexpr Context Context_MIN = + MatrixFile_LayerRecord_Context_Context_MIN; + static constexpr Context Context_MAX = + MatrixFile_LayerRecord_Context_Context_MAX; + static constexpr int Context_ARRAYSIZE = + MatrixFile_LayerRecord_Context_Context_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + Context_descriptor() { + return MatrixFile_LayerRecord_Context_descriptor(); + } + template + static inline const std::string& Context_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function Context_Name."); + return MatrixFile_LayerRecord_Context_Name(enum_t_value); + } + static inline bool Context_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + Context* value) { + return MatrixFile_LayerRecord_Context_Parse(name, value); + } + + typedef MatrixFile_LayerRecord_DielectricType DielectricType; + static constexpr DielectricType None = + MatrixFile_LayerRecord_DielectricType_None; + static constexpr DielectricType Prepreg = + MatrixFile_LayerRecord_DielectricType_Prepreg; + static constexpr DielectricType Core = + MatrixFile_LayerRecord_DielectricType_Core; + static inline bool DielectricType_IsValid(int value) { + return MatrixFile_LayerRecord_DielectricType_IsValid(value); + } + static constexpr DielectricType DielectricType_MIN = + MatrixFile_LayerRecord_DielectricType_DielectricType_MIN; + static constexpr DielectricType DielectricType_MAX = + MatrixFile_LayerRecord_DielectricType_DielectricType_MAX; + static constexpr int DielectricType_ARRAYSIZE = + MatrixFile_LayerRecord_DielectricType_DielectricType_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + DielectricType_descriptor() { + return MatrixFile_LayerRecord_DielectricType_descriptor(); + } + template + static inline const std::string& DielectricType_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DielectricType_Name."); + return MatrixFile_LayerRecord_DielectricType_Name(enum_t_value); + } + static inline bool DielectricType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + DielectricType* value) { + return MatrixFile_LayerRecord_DielectricType_Parse(name, value); + } + + typedef MatrixFile_LayerRecord_Form Form; + static constexpr Form Rigid = + MatrixFile_LayerRecord_Form_Rigid; + static constexpr Form Flex = + MatrixFile_LayerRecord_Form_Flex; + static inline bool Form_IsValid(int value) { + return MatrixFile_LayerRecord_Form_IsValid(value); + } + static constexpr Form Form_MIN = + MatrixFile_LayerRecord_Form_Form_MIN; + static constexpr Form Form_MAX = + MatrixFile_LayerRecord_Form_Form_MAX; + static constexpr int Form_ARRAYSIZE = + MatrixFile_LayerRecord_Form_Form_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + Form_descriptor() { + return MatrixFile_LayerRecord_Form_descriptor(); + } + template + static inline const std::string& Form_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function Form_Name."); + return MatrixFile_LayerRecord_Form_Name(enum_t_value); + } + static inline bool Form_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + Form* value) { + return MatrixFile_LayerRecord_Form_Parse(name, value); + } + + // accessors ------------------------------------------------------- + + enum : int { + kNameFieldNumber = 4, + kDielectricNameFieldNumber = 7, + kStartNameFieldNumber = 12, + kEndNameFieldNumber = 13, + kOldNameFieldNumber = 14, + kAddTypeFieldNumber = 15, + kRowFieldNumber = 1, + kContextFieldNumber = 2, + kTypeFieldNumber = 3, + kPolarityFieldNumber = 5, + kDielectricTypeFieldNumber = 6, + kFormFieldNumber = 8, + kCuTopFieldNumber = 9, + kCuBottomFieldNumber = 10, + kRefFieldNumber = 11, + kIdFieldNumber = 17, + }; + // string name = 4; + void clear_name(); + const std::string& name() const; + template + void set_name(ArgT0&& arg0, ArgT... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* name); + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); + std::string* _internal_mutable_name(); + public: + + // string dielectricName = 7; + void clear_dielectricname(); + const std::string& dielectricname() const; + template + void set_dielectricname(ArgT0&& arg0, ArgT... args); + std::string* mutable_dielectricname(); + PROTOBUF_NODISCARD std::string* release_dielectricname(); + void set_allocated_dielectricname(std::string* dielectricname); + private: + const std::string& _internal_dielectricname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_dielectricname(const std::string& value); + std::string* _internal_mutable_dielectricname(); + public: + + // string startName = 12; + void clear_startname(); + const std::string& startname() const; + template + void set_startname(ArgT0&& arg0, ArgT... args); + std::string* mutable_startname(); + PROTOBUF_NODISCARD std::string* release_startname(); + void set_allocated_startname(std::string* startname); + private: + const std::string& _internal_startname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_startname(const std::string& value); + std::string* _internal_mutable_startname(); + public: + + // string endName = 13; + void clear_endname(); + const std::string& endname() const; + template + void set_endname(ArgT0&& arg0, ArgT... args); + std::string* mutable_endname(); + PROTOBUF_NODISCARD std::string* release_endname(); + void set_allocated_endname(std::string* endname); + private: + const std::string& _internal_endname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_endname(const std::string& value); + std::string* _internal_mutable_endname(); + public: + + // string oldName = 14; + void clear_oldname(); + const std::string& oldname() const; + template + void set_oldname(ArgT0&& arg0, ArgT... args); + std::string* mutable_oldname(); + PROTOBUF_NODISCARD std::string* release_oldname(); + void set_allocated_oldname(std::string* oldname); + private: + const std::string& _internal_oldname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_oldname(const std::string& value); + std::string* _internal_mutable_oldname(); + public: + + // string addType = 15; + void clear_addtype(); + const std::string& addtype() const; + template + void set_addtype(ArgT0&& arg0, ArgT... args); + std::string* mutable_addtype(); + PROTOBUF_NODISCARD std::string* release_addtype(); + void set_allocated_addtype(std::string* addtype); + private: + const std::string& _internal_addtype() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_addtype(const std::string& value); + std::string* _internal_mutable_addtype(); + public: + + // uint32 row = 1; + void clear_row(); + uint32_t row() const; + void set_row(uint32_t value); + private: + uint32_t _internal_row() const; + void _internal_set_row(uint32_t value); + public: + + // .Odb.Lib.Protobuf.MatrixFile.LayerRecord.Context context = 2; + void clear_context(); + ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Context context() const; + void set_context(::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Context value); + private: + ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Context _internal_context() const; + void _internal_set_context(::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Context value); + public: + + // .Odb.Lib.Protobuf.MatrixFile.LayerRecord.Type type = 3; + void clear_type(); + ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Type type() const; + void set_type(::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Type value); + private: + ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Type _internal_type() const; + void _internal_set_type(::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Type value); + public: + + // .Odb.Lib.Protobuf.Polarity polarity = 5; + void clear_polarity(); + ::Odb::Lib::Protobuf::Polarity polarity() const; + void set_polarity(::Odb::Lib::Protobuf::Polarity value); + private: + ::Odb::Lib::Protobuf::Polarity _internal_polarity() const; + void _internal_set_polarity(::Odb::Lib::Protobuf::Polarity value); + public: + + // .Odb.Lib.Protobuf.MatrixFile.LayerRecord.DielectricType dielectricType = 6; + void clear_dielectrictype(); + ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_DielectricType dielectrictype() const; + void set_dielectrictype(::Odb::Lib::Protobuf::MatrixFile_LayerRecord_DielectricType value); + private: + ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_DielectricType _internal_dielectrictype() const; + void _internal_set_dielectrictype(::Odb::Lib::Protobuf::MatrixFile_LayerRecord_DielectricType value); + public: + + // .Odb.Lib.Protobuf.MatrixFile.LayerRecord.Form form = 8; + void clear_form(); + ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Form form() const; + void set_form(::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Form value); + private: + ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Form _internal_form() const; + void _internal_set_form(::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Form value); + public: + + // uint32 cuTop = 9; + void clear_cutop(); + uint32_t cutop() const; + void set_cutop(uint32_t value); + private: + uint32_t _internal_cutop() const; + void _internal_set_cutop(uint32_t value); + public: + + // uint32 cuBottom = 10; + void clear_cubottom(); + uint32_t cubottom() const; + void set_cubottom(uint32_t value); + private: + uint32_t _internal_cubottom() const; + void _internal_set_cubottom(uint32_t value); + public: + + // uint32 ref = 11; + void clear_ref(); + uint32_t ref() const; + void set_ref(uint32_t value); + private: + uint32_t _internal_ref() const; + void _internal_set_ref(uint32_t value); + public: + + // uint32 id = 17; + void clear_id(); + uint32_t id() const; + void set_id(uint32_t value); + private: + uint32_t _internal_id() const; + void _internal_set_id(uint32_t value); + public: + + // @@protoc_insertion_point(class_scope:Odb.Lib.Protobuf.MatrixFile.LayerRecord) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr dielectricname_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr startname_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr endname_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr oldname_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr addtype_; + uint32_t row_; + int context_; + int type_; + int polarity_; + int dielectrictype_; + int form_; + uint32_t cutop_; + uint32_t cubottom_; + uint32_t ref_; + uint32_t id_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_matrixfile_2eproto; +}; +// ------------------------------------------------------------------- + class MatrixFile final : - public ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:Odb.Lib.Protobuf.MatrixFile) */ { + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Odb.Lib.Protobuf.MatrixFile) */ { public: inline MatrixFile() : MatrixFile(nullptr) {} + ~MatrixFile() override; explicit PROTOBUF_CONSTEXPR MatrixFile(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); MatrixFile(const MatrixFile& from); @@ -110,7 +894,7 @@ class MatrixFile final : &_MatrixFile_default_instance_); } static constexpr int kIndexInFileMessages = - 0; + 2; friend void swap(MatrixFile& a, MatrixFile& b) { a.Swap(&b); @@ -139,15 +923,29 @@ class MatrixFile final : MatrixFile* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyFrom; - inline void CopyFrom(const MatrixFile& from) { - ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl(*this, from); - } - using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeFrom; - void MergeFrom(const MatrixFile& from) { - ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl(*this, from); + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const MatrixFile& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const MatrixFile& from) { + MatrixFile::MergeImpl(*this, from); } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(MatrixFile* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; @@ -166,8 +964,51 @@ class MatrixFile final : // nested types ---------------------------------------------------- + typedef MatrixFile_StepRecord StepRecord; + typedef MatrixFile_LayerRecord LayerRecord; + // accessors ------------------------------------------------------- + enum : int { + kStepsFieldNumber = 1, + kLayersFieldNumber = 2, + }; + // repeated .Odb.Lib.Protobuf.MatrixFile.StepRecord steps = 1; + int steps_size() const; + private: + int _internal_steps_size() const; + public: + void clear_steps(); + ::Odb::Lib::Protobuf::MatrixFile_StepRecord* mutable_steps(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::MatrixFile_StepRecord >* + mutable_steps(); + private: + const ::Odb::Lib::Protobuf::MatrixFile_StepRecord& _internal_steps(int index) const; + ::Odb::Lib::Protobuf::MatrixFile_StepRecord* _internal_add_steps(); + public: + const ::Odb::Lib::Protobuf::MatrixFile_StepRecord& steps(int index) const; + ::Odb::Lib::Protobuf::MatrixFile_StepRecord* add_steps(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::MatrixFile_StepRecord >& + steps() const; + + // repeated .Odb.Lib.Protobuf.MatrixFile.LayerRecord layers = 2; + int layers_size() const; + private: + int _internal_layers_size() const; + public: + void clear_layers(); + ::Odb::Lib::Protobuf::MatrixFile_LayerRecord* mutable_layers(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::MatrixFile_LayerRecord >* + mutable_layers(); + private: + const ::Odb::Lib::Protobuf::MatrixFile_LayerRecord& _internal_layers(int index) const; + ::Odb::Lib::Protobuf::MatrixFile_LayerRecord* _internal_add_layers(); + public: + const ::Odb::Lib::Protobuf::MatrixFile_LayerRecord& layers(int index) const; + ::Odb::Lib::Protobuf::MatrixFile_LayerRecord* add_layers(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::MatrixFile_LayerRecord >& + layers() const; + // @@protoc_insertion_point(class_scope:Odb.Lib.Protobuf.MatrixFile) private: class _Internal; @@ -176,7 +1017,11 @@ class MatrixFile final : typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::MatrixFile_StepRecord > steps_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::MatrixFile_LayerRecord > layers_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; }; + union { Impl_ _impl_; }; friend struct ::TableStruct_matrixfile_2eproto; }; // =================================================================== @@ -188,11 +1033,693 @@ class MatrixFile final : #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wstrict-aliasing" #endif // __GNUC__ +// MatrixFile_StepRecord + +// uint32 column = 1; +inline void MatrixFile_StepRecord::clear_column() { + _impl_.column_ = 0u; +} +inline uint32_t MatrixFile_StepRecord::_internal_column() const { + return _impl_.column_; +} +inline uint32_t MatrixFile_StepRecord::column() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MatrixFile.StepRecord.column) + return _internal_column(); +} +inline void MatrixFile_StepRecord::_internal_set_column(uint32_t value) { + + _impl_.column_ = value; +} +inline void MatrixFile_StepRecord::set_column(uint32_t value) { + _internal_set_column(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.MatrixFile.StepRecord.column) +} + +// uint32 id = 2; +inline void MatrixFile_StepRecord::clear_id() { + _impl_.id_ = 0u; +} +inline uint32_t MatrixFile_StepRecord::_internal_id() const { + return _impl_.id_; +} +inline uint32_t MatrixFile_StepRecord::id() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MatrixFile.StepRecord.id) + return _internal_id(); +} +inline void MatrixFile_StepRecord::_internal_set_id(uint32_t value) { + + _impl_.id_ = value; +} +inline void MatrixFile_StepRecord::set_id(uint32_t value) { + _internal_set_id(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.MatrixFile.StepRecord.id) +} + +// string name = 3; +inline void MatrixFile_StepRecord::clear_name() { + _impl_.name_.ClearToEmpty(); +} +inline const std::string& MatrixFile_StepRecord::name() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MatrixFile.StepRecord.name) + return _internal_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void MatrixFile_StepRecord::set_name(ArgT0&& arg0, ArgT... args) { + + _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.MatrixFile.StepRecord.name) +} +inline std::string* MatrixFile_StepRecord::mutable_name() { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.MatrixFile.StepRecord.name) + return _s; +} +inline const std::string& MatrixFile_StepRecord::_internal_name() const { + return _impl_.name_.Get(); +} +inline void MatrixFile_StepRecord::_internal_set_name(const std::string& value) { + + _impl_.name_.Set(value, GetArenaForAllocation()); +} +inline std::string* MatrixFile_StepRecord::_internal_mutable_name() { + + return _impl_.name_.Mutable(GetArenaForAllocation()); +} +inline std::string* MatrixFile_StepRecord::release_name() { + // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.MatrixFile.StepRecord.name) + return _impl_.name_.Release(); +} +inline void MatrixFile_StepRecord::set_allocated_name(std::string* name) { + if (name != nullptr) { + + } else { + + } + _impl_.name_.SetAllocated(name, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.MatrixFile.StepRecord.name) +} + +// ------------------------------------------------------------------- + +// MatrixFile_LayerRecord + +// uint32 row = 1; +inline void MatrixFile_LayerRecord::clear_row() { + _impl_.row_ = 0u; +} +inline uint32_t MatrixFile_LayerRecord::_internal_row() const { + return _impl_.row_; +} +inline uint32_t MatrixFile_LayerRecord::row() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MatrixFile.LayerRecord.row) + return _internal_row(); +} +inline void MatrixFile_LayerRecord::_internal_set_row(uint32_t value) { + + _impl_.row_ = value; +} +inline void MatrixFile_LayerRecord::set_row(uint32_t value) { + _internal_set_row(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.MatrixFile.LayerRecord.row) +} + +// .Odb.Lib.Protobuf.MatrixFile.LayerRecord.Context context = 2; +inline void MatrixFile_LayerRecord::clear_context() { + _impl_.context_ = 0; +} +inline ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Context MatrixFile_LayerRecord::_internal_context() const { + return static_cast< ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Context >(_impl_.context_); +} +inline ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Context MatrixFile_LayerRecord::context() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MatrixFile.LayerRecord.context) + return _internal_context(); +} +inline void MatrixFile_LayerRecord::_internal_set_context(::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Context value) { + + _impl_.context_ = value; +} +inline void MatrixFile_LayerRecord::set_context(::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Context value) { + _internal_set_context(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.MatrixFile.LayerRecord.context) +} + +// .Odb.Lib.Protobuf.MatrixFile.LayerRecord.Type type = 3; +inline void MatrixFile_LayerRecord::clear_type() { + _impl_.type_ = 0; +} +inline ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Type MatrixFile_LayerRecord::_internal_type() const { + return static_cast< ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Type >(_impl_.type_); +} +inline ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Type MatrixFile_LayerRecord::type() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MatrixFile.LayerRecord.type) + return _internal_type(); +} +inline void MatrixFile_LayerRecord::_internal_set_type(::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Type value) { + + _impl_.type_ = value; +} +inline void MatrixFile_LayerRecord::set_type(::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Type value) { + _internal_set_type(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.MatrixFile.LayerRecord.type) +} + +// string name = 4; +inline void MatrixFile_LayerRecord::clear_name() { + _impl_.name_.ClearToEmpty(); +} +inline const std::string& MatrixFile_LayerRecord::name() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MatrixFile.LayerRecord.name) + return _internal_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void MatrixFile_LayerRecord::set_name(ArgT0&& arg0, ArgT... args) { + + _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.MatrixFile.LayerRecord.name) +} +inline std::string* MatrixFile_LayerRecord::mutable_name() { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.MatrixFile.LayerRecord.name) + return _s; +} +inline const std::string& MatrixFile_LayerRecord::_internal_name() const { + return _impl_.name_.Get(); +} +inline void MatrixFile_LayerRecord::_internal_set_name(const std::string& value) { + + _impl_.name_.Set(value, GetArenaForAllocation()); +} +inline std::string* MatrixFile_LayerRecord::_internal_mutable_name() { + + return _impl_.name_.Mutable(GetArenaForAllocation()); +} +inline std::string* MatrixFile_LayerRecord::release_name() { + // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.MatrixFile.LayerRecord.name) + return _impl_.name_.Release(); +} +inline void MatrixFile_LayerRecord::set_allocated_name(std::string* name) { + if (name != nullptr) { + + } else { + + } + _impl_.name_.SetAllocated(name, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.MatrixFile.LayerRecord.name) +} + +// .Odb.Lib.Protobuf.Polarity polarity = 5; +inline void MatrixFile_LayerRecord::clear_polarity() { + _impl_.polarity_ = 0; +} +inline ::Odb::Lib::Protobuf::Polarity MatrixFile_LayerRecord::_internal_polarity() const { + return static_cast< ::Odb::Lib::Protobuf::Polarity >(_impl_.polarity_); +} +inline ::Odb::Lib::Protobuf::Polarity MatrixFile_LayerRecord::polarity() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MatrixFile.LayerRecord.polarity) + return _internal_polarity(); +} +inline void MatrixFile_LayerRecord::_internal_set_polarity(::Odb::Lib::Protobuf::Polarity value) { + + _impl_.polarity_ = value; +} +inline void MatrixFile_LayerRecord::set_polarity(::Odb::Lib::Protobuf::Polarity value) { + _internal_set_polarity(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.MatrixFile.LayerRecord.polarity) +} + +// .Odb.Lib.Protobuf.MatrixFile.LayerRecord.DielectricType dielectricType = 6; +inline void MatrixFile_LayerRecord::clear_dielectrictype() { + _impl_.dielectrictype_ = 0; +} +inline ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_DielectricType MatrixFile_LayerRecord::_internal_dielectrictype() const { + return static_cast< ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_DielectricType >(_impl_.dielectrictype_); +} +inline ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_DielectricType MatrixFile_LayerRecord::dielectrictype() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MatrixFile.LayerRecord.dielectricType) + return _internal_dielectrictype(); +} +inline void MatrixFile_LayerRecord::_internal_set_dielectrictype(::Odb::Lib::Protobuf::MatrixFile_LayerRecord_DielectricType value) { + + _impl_.dielectrictype_ = value; +} +inline void MatrixFile_LayerRecord::set_dielectrictype(::Odb::Lib::Protobuf::MatrixFile_LayerRecord_DielectricType value) { + _internal_set_dielectrictype(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.MatrixFile.LayerRecord.dielectricType) +} + +// string dielectricName = 7; +inline void MatrixFile_LayerRecord::clear_dielectricname() { + _impl_.dielectricname_.ClearToEmpty(); +} +inline const std::string& MatrixFile_LayerRecord::dielectricname() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MatrixFile.LayerRecord.dielectricName) + return _internal_dielectricname(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void MatrixFile_LayerRecord::set_dielectricname(ArgT0&& arg0, ArgT... args) { + + _impl_.dielectricname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.MatrixFile.LayerRecord.dielectricName) +} +inline std::string* MatrixFile_LayerRecord::mutable_dielectricname() { + std::string* _s = _internal_mutable_dielectricname(); + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.MatrixFile.LayerRecord.dielectricName) + return _s; +} +inline const std::string& MatrixFile_LayerRecord::_internal_dielectricname() const { + return _impl_.dielectricname_.Get(); +} +inline void MatrixFile_LayerRecord::_internal_set_dielectricname(const std::string& value) { + + _impl_.dielectricname_.Set(value, GetArenaForAllocation()); +} +inline std::string* MatrixFile_LayerRecord::_internal_mutable_dielectricname() { + + return _impl_.dielectricname_.Mutable(GetArenaForAllocation()); +} +inline std::string* MatrixFile_LayerRecord::release_dielectricname() { + // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.MatrixFile.LayerRecord.dielectricName) + return _impl_.dielectricname_.Release(); +} +inline void MatrixFile_LayerRecord::set_allocated_dielectricname(std::string* dielectricname) { + if (dielectricname != nullptr) { + + } else { + + } + _impl_.dielectricname_.SetAllocated(dielectricname, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.dielectricname_.IsDefault()) { + _impl_.dielectricname_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.MatrixFile.LayerRecord.dielectricName) +} + +// .Odb.Lib.Protobuf.MatrixFile.LayerRecord.Form form = 8; +inline void MatrixFile_LayerRecord::clear_form() { + _impl_.form_ = 0; +} +inline ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Form MatrixFile_LayerRecord::_internal_form() const { + return static_cast< ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Form >(_impl_.form_); +} +inline ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Form MatrixFile_LayerRecord::form() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MatrixFile.LayerRecord.form) + return _internal_form(); +} +inline void MatrixFile_LayerRecord::_internal_set_form(::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Form value) { + + _impl_.form_ = value; +} +inline void MatrixFile_LayerRecord::set_form(::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Form value) { + _internal_set_form(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.MatrixFile.LayerRecord.form) +} + +// uint32 cuTop = 9; +inline void MatrixFile_LayerRecord::clear_cutop() { + _impl_.cutop_ = 0u; +} +inline uint32_t MatrixFile_LayerRecord::_internal_cutop() const { + return _impl_.cutop_; +} +inline uint32_t MatrixFile_LayerRecord::cutop() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MatrixFile.LayerRecord.cuTop) + return _internal_cutop(); +} +inline void MatrixFile_LayerRecord::_internal_set_cutop(uint32_t value) { + + _impl_.cutop_ = value; +} +inline void MatrixFile_LayerRecord::set_cutop(uint32_t value) { + _internal_set_cutop(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.MatrixFile.LayerRecord.cuTop) +} + +// uint32 cuBottom = 10; +inline void MatrixFile_LayerRecord::clear_cubottom() { + _impl_.cubottom_ = 0u; +} +inline uint32_t MatrixFile_LayerRecord::_internal_cubottom() const { + return _impl_.cubottom_; +} +inline uint32_t MatrixFile_LayerRecord::cubottom() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MatrixFile.LayerRecord.cuBottom) + return _internal_cubottom(); +} +inline void MatrixFile_LayerRecord::_internal_set_cubottom(uint32_t value) { + + _impl_.cubottom_ = value; +} +inline void MatrixFile_LayerRecord::set_cubottom(uint32_t value) { + _internal_set_cubottom(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.MatrixFile.LayerRecord.cuBottom) +} + +// uint32 ref = 11; +inline void MatrixFile_LayerRecord::clear_ref() { + _impl_.ref_ = 0u; +} +inline uint32_t MatrixFile_LayerRecord::_internal_ref() const { + return _impl_.ref_; +} +inline uint32_t MatrixFile_LayerRecord::ref() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MatrixFile.LayerRecord.ref) + return _internal_ref(); +} +inline void MatrixFile_LayerRecord::_internal_set_ref(uint32_t value) { + + _impl_.ref_ = value; +} +inline void MatrixFile_LayerRecord::set_ref(uint32_t value) { + _internal_set_ref(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.MatrixFile.LayerRecord.ref) +} + +// string startName = 12; +inline void MatrixFile_LayerRecord::clear_startname() { + _impl_.startname_.ClearToEmpty(); +} +inline const std::string& MatrixFile_LayerRecord::startname() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MatrixFile.LayerRecord.startName) + return _internal_startname(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void MatrixFile_LayerRecord::set_startname(ArgT0&& arg0, ArgT... args) { + + _impl_.startname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.MatrixFile.LayerRecord.startName) +} +inline std::string* MatrixFile_LayerRecord::mutable_startname() { + std::string* _s = _internal_mutable_startname(); + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.MatrixFile.LayerRecord.startName) + return _s; +} +inline const std::string& MatrixFile_LayerRecord::_internal_startname() const { + return _impl_.startname_.Get(); +} +inline void MatrixFile_LayerRecord::_internal_set_startname(const std::string& value) { + + _impl_.startname_.Set(value, GetArenaForAllocation()); +} +inline std::string* MatrixFile_LayerRecord::_internal_mutable_startname() { + + return _impl_.startname_.Mutable(GetArenaForAllocation()); +} +inline std::string* MatrixFile_LayerRecord::release_startname() { + // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.MatrixFile.LayerRecord.startName) + return _impl_.startname_.Release(); +} +inline void MatrixFile_LayerRecord::set_allocated_startname(std::string* startname) { + if (startname != nullptr) { + + } else { + + } + _impl_.startname_.SetAllocated(startname, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.startname_.IsDefault()) { + _impl_.startname_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.MatrixFile.LayerRecord.startName) +} + +// string endName = 13; +inline void MatrixFile_LayerRecord::clear_endname() { + _impl_.endname_.ClearToEmpty(); +} +inline const std::string& MatrixFile_LayerRecord::endname() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MatrixFile.LayerRecord.endName) + return _internal_endname(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void MatrixFile_LayerRecord::set_endname(ArgT0&& arg0, ArgT... args) { + + _impl_.endname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.MatrixFile.LayerRecord.endName) +} +inline std::string* MatrixFile_LayerRecord::mutable_endname() { + std::string* _s = _internal_mutable_endname(); + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.MatrixFile.LayerRecord.endName) + return _s; +} +inline const std::string& MatrixFile_LayerRecord::_internal_endname() const { + return _impl_.endname_.Get(); +} +inline void MatrixFile_LayerRecord::_internal_set_endname(const std::string& value) { + + _impl_.endname_.Set(value, GetArenaForAllocation()); +} +inline std::string* MatrixFile_LayerRecord::_internal_mutable_endname() { + + return _impl_.endname_.Mutable(GetArenaForAllocation()); +} +inline std::string* MatrixFile_LayerRecord::release_endname() { + // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.MatrixFile.LayerRecord.endName) + return _impl_.endname_.Release(); +} +inline void MatrixFile_LayerRecord::set_allocated_endname(std::string* endname) { + if (endname != nullptr) { + + } else { + + } + _impl_.endname_.SetAllocated(endname, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.endname_.IsDefault()) { + _impl_.endname_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.MatrixFile.LayerRecord.endName) +} + +// string oldName = 14; +inline void MatrixFile_LayerRecord::clear_oldname() { + _impl_.oldname_.ClearToEmpty(); +} +inline const std::string& MatrixFile_LayerRecord::oldname() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MatrixFile.LayerRecord.oldName) + return _internal_oldname(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void MatrixFile_LayerRecord::set_oldname(ArgT0&& arg0, ArgT... args) { + + _impl_.oldname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.MatrixFile.LayerRecord.oldName) +} +inline std::string* MatrixFile_LayerRecord::mutable_oldname() { + std::string* _s = _internal_mutable_oldname(); + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.MatrixFile.LayerRecord.oldName) + return _s; +} +inline const std::string& MatrixFile_LayerRecord::_internal_oldname() const { + return _impl_.oldname_.Get(); +} +inline void MatrixFile_LayerRecord::_internal_set_oldname(const std::string& value) { + + _impl_.oldname_.Set(value, GetArenaForAllocation()); +} +inline std::string* MatrixFile_LayerRecord::_internal_mutable_oldname() { + + return _impl_.oldname_.Mutable(GetArenaForAllocation()); +} +inline std::string* MatrixFile_LayerRecord::release_oldname() { + // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.MatrixFile.LayerRecord.oldName) + return _impl_.oldname_.Release(); +} +inline void MatrixFile_LayerRecord::set_allocated_oldname(std::string* oldname) { + if (oldname != nullptr) { + + } else { + + } + _impl_.oldname_.SetAllocated(oldname, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.oldname_.IsDefault()) { + _impl_.oldname_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.MatrixFile.LayerRecord.oldName) +} + +// string addType = 15; +inline void MatrixFile_LayerRecord::clear_addtype() { + _impl_.addtype_.ClearToEmpty(); +} +inline const std::string& MatrixFile_LayerRecord::addtype() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MatrixFile.LayerRecord.addType) + return _internal_addtype(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void MatrixFile_LayerRecord::set_addtype(ArgT0&& arg0, ArgT... args) { + + _impl_.addtype_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.MatrixFile.LayerRecord.addType) +} +inline std::string* MatrixFile_LayerRecord::mutable_addtype() { + std::string* _s = _internal_mutable_addtype(); + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.MatrixFile.LayerRecord.addType) + return _s; +} +inline const std::string& MatrixFile_LayerRecord::_internal_addtype() const { + return _impl_.addtype_.Get(); +} +inline void MatrixFile_LayerRecord::_internal_set_addtype(const std::string& value) { + + _impl_.addtype_.Set(value, GetArenaForAllocation()); +} +inline std::string* MatrixFile_LayerRecord::_internal_mutable_addtype() { + + return _impl_.addtype_.Mutable(GetArenaForAllocation()); +} +inline std::string* MatrixFile_LayerRecord::release_addtype() { + // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.MatrixFile.LayerRecord.addType) + return _impl_.addtype_.Release(); +} +inline void MatrixFile_LayerRecord::set_allocated_addtype(std::string* addtype) { + if (addtype != nullptr) { + + } else { + + } + _impl_.addtype_.SetAllocated(addtype, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.addtype_.IsDefault()) { + _impl_.addtype_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.MatrixFile.LayerRecord.addType) +} + +// uint32 id = 17; +inline void MatrixFile_LayerRecord::clear_id() { + _impl_.id_ = 0u; +} +inline uint32_t MatrixFile_LayerRecord::_internal_id() const { + return _impl_.id_; +} +inline uint32_t MatrixFile_LayerRecord::id() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MatrixFile.LayerRecord.id) + return _internal_id(); +} +inline void MatrixFile_LayerRecord::_internal_set_id(uint32_t value) { + + _impl_.id_ = value; +} +inline void MatrixFile_LayerRecord::set_id(uint32_t value) { + _internal_set_id(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.MatrixFile.LayerRecord.id) +} + +// ------------------------------------------------------------------- + // MatrixFile +// repeated .Odb.Lib.Protobuf.MatrixFile.StepRecord steps = 1; +inline int MatrixFile::_internal_steps_size() const { + return _impl_.steps_.size(); +} +inline int MatrixFile::steps_size() const { + return _internal_steps_size(); +} +inline void MatrixFile::clear_steps() { + _impl_.steps_.Clear(); +} +inline ::Odb::Lib::Protobuf::MatrixFile_StepRecord* MatrixFile::mutable_steps(int index) { + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.MatrixFile.steps) + return _impl_.steps_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::MatrixFile_StepRecord >* +MatrixFile::mutable_steps() { + // @@protoc_insertion_point(field_mutable_list:Odb.Lib.Protobuf.MatrixFile.steps) + return &_impl_.steps_; +} +inline const ::Odb::Lib::Protobuf::MatrixFile_StepRecord& MatrixFile::_internal_steps(int index) const { + return _impl_.steps_.Get(index); +} +inline const ::Odb::Lib::Protobuf::MatrixFile_StepRecord& MatrixFile::steps(int index) const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MatrixFile.steps) + return _internal_steps(index); +} +inline ::Odb::Lib::Protobuf::MatrixFile_StepRecord* MatrixFile::_internal_add_steps() { + return _impl_.steps_.Add(); +} +inline ::Odb::Lib::Protobuf::MatrixFile_StepRecord* MatrixFile::add_steps() { + ::Odb::Lib::Protobuf::MatrixFile_StepRecord* _add = _internal_add_steps(); + // @@protoc_insertion_point(field_add:Odb.Lib.Protobuf.MatrixFile.steps) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::MatrixFile_StepRecord >& +MatrixFile::steps() const { + // @@protoc_insertion_point(field_list:Odb.Lib.Protobuf.MatrixFile.steps) + return _impl_.steps_; +} + +// repeated .Odb.Lib.Protobuf.MatrixFile.LayerRecord layers = 2; +inline int MatrixFile::_internal_layers_size() const { + return _impl_.layers_.size(); +} +inline int MatrixFile::layers_size() const { + return _internal_layers_size(); +} +inline void MatrixFile::clear_layers() { + _impl_.layers_.Clear(); +} +inline ::Odb::Lib::Protobuf::MatrixFile_LayerRecord* MatrixFile::mutable_layers(int index) { + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.MatrixFile.layers) + return _impl_.layers_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::MatrixFile_LayerRecord >* +MatrixFile::mutable_layers() { + // @@protoc_insertion_point(field_mutable_list:Odb.Lib.Protobuf.MatrixFile.layers) + return &_impl_.layers_; +} +inline const ::Odb::Lib::Protobuf::MatrixFile_LayerRecord& MatrixFile::_internal_layers(int index) const { + return _impl_.layers_.Get(index); +} +inline const ::Odb::Lib::Protobuf::MatrixFile_LayerRecord& MatrixFile::layers(int index) const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MatrixFile.layers) + return _internal_layers(index); +} +inline ::Odb::Lib::Protobuf::MatrixFile_LayerRecord* MatrixFile::_internal_add_layers() { + return _impl_.layers_.Add(); +} +inline ::Odb::Lib::Protobuf::MatrixFile_LayerRecord* MatrixFile::add_layers() { + ::Odb::Lib::Protobuf::MatrixFile_LayerRecord* _add = _internal_add_layers(); + // @@protoc_insertion_point(field_add:Odb.Lib.Protobuf.MatrixFile.layers) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::MatrixFile_LayerRecord >& +MatrixFile::layers() const { + // @@protoc_insertion_point(field_list:Odb.Lib.Protobuf.MatrixFile.layers) + return _impl_.layers_; +} + #ifdef __GNUC__ #pragma GCC diagnostic pop #endif // __GNUC__ +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) @@ -200,6 +1727,31 @@ class MatrixFile final : } // namespace Lib } // namespace Odb +PROTOBUF_NAMESPACE_OPEN + +template <> struct is_proto_enum< ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Type> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Type>() { + return ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Type_descriptor(); +} +template <> struct is_proto_enum< ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Context> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Context>() { + return ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Context_descriptor(); +} +template <> struct is_proto_enum< ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_DielectricType> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_DielectricType>() { + return ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_DielectricType_descriptor(); +} +template <> struct is_proto_enum< ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Form> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Form>() { + return ::Odb::Lib::Protobuf::MatrixFile_LayerRecord_Form_descriptor(); +} + +PROTOBUF_NAMESPACE_CLOSE + // @@protoc_insertion_point(global_scope) #include diff --git a/OdbDesignLib/ProtoBuf/miscinfofile.pb.cc b/OdbDesignLib/ProtoBuf/miscinfofile.pb.cc index 0396a5b6..a244d0bc 100644 --- a/OdbDesignLib/ProtoBuf/miscinfofile.pb.cc +++ b/OdbDesignLib/ProtoBuf/miscinfofile.pb.cc @@ -24,7 +24,20 @@ namespace Odb { namespace Lib { namespace Protobuf { PROTOBUF_CONSTEXPR MiscInfoFile::MiscInfoFile( - ::_pbi::ConstantInitialized) {} + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._has_bits_)*/{} + , /*decltype(_impl_._cached_size_)*/{} + , /*decltype(_impl_.productmodelname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.jobname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.odbversionmajor_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.odbversionminor_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.odbsource_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.saveapp_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.saveuser_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.units_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.creationdatedate_)*/nullptr + , /*decltype(_impl_.savedate_)*/nullptr + , /*decltype(_impl_.maxuniqueid_)*/0u} {} struct MiscInfoFileDefaultTypeInternal { PROTOBUF_CONSTEXPR MiscInfoFileDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} @@ -42,15 +55,37 @@ static constexpr ::_pb::EnumDescriptor const** file_level_enum_descriptors_misci static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_miscinfofile_2eproto = nullptr; const uint32_t TableStruct_miscinfofile_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { - ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MiscInfoFile, _impl_._has_bits_), PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MiscInfoFile, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MiscInfoFile, _impl_.productmodelname_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MiscInfoFile, _impl_.jobname_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MiscInfoFile, _impl_.odbversionmajor_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MiscInfoFile, _impl_.odbversionminor_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MiscInfoFile, _impl_.odbsource_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MiscInfoFile, _impl_.creationdatedate_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MiscInfoFile, _impl_.savedate_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MiscInfoFile, _impl_.saveapp_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MiscInfoFile, _impl_.saveuser_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MiscInfoFile, _impl_.units_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::MiscInfoFile, _impl_.maxuniqueid_), + 0, + 1, + 2, + 3, + 4, + 8, + 9, + 5, + 6, + 7, + 10, }; static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { - { 0, -1, -1, sizeof(::Odb::Lib::Protobuf::MiscInfoFile)}, + { 0, 17, -1, sizeof(::Odb::Lib::Protobuf::MiscInfoFile)}, }; static const ::_pb::Message* const file_default_instances[] = { @@ -58,14 +93,31 @@ static const ::_pb::Message* const file_default_instances[] = { }; const char descriptor_table_protodef_miscinfofile_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = - "\n\022miscinfofile.proto\022\020Odb.Lib.Protobuf\"\016" - "\n\014MiscInfoFileb\006proto3" + "\n\022miscinfofile.proto\022\020Odb.Lib.Protobuf\032\037" + "google/protobuf/timestamp.proto\"\214\004\n\014Misc" + "InfoFile\022\035\n\020productModelName\030\001 \001(\tH\000\210\001\001\022" + "\024\n\007jobName\030\002 \001(\tH\001\210\001\001\022\034\n\017odbVersionMajor" + "\030\003 \001(\tH\002\210\001\001\022\034\n\017odbVersionMinor\030\004 \001(\tH\003\210\001" + "\001\022\026\n\todbSource\030\005 \001(\tH\004\210\001\001\0229\n\020creationDat" + "eDate\030\006 \001(\0132\032.google.protobuf.TimestampH" + "\005\210\001\001\0221\n\010saveDate\030\007 \001(\0132\032.google.protobuf" + ".TimestampH\006\210\001\001\022\024\n\007saveApp\030\010 \001(\tH\007\210\001\001\022\025\n" + "\010saveUser\030\t \001(\tH\010\210\001\001\022\022\n\005units\030\n \001(\tH\t\210\001\001" + "\022\030\n\013maxUniqueId\030\013 \001(\rH\n\210\001\001B\023\n\021_productMo" + "delNameB\n\n\010_jobNameB\022\n\020_odbVersionMajorB" + "\022\n\020_odbVersionMinorB\014\n\n_odbSourceB\023\n\021_cr" + "eationDateDateB\013\n\t_saveDateB\n\n\010_saveAppB" + "\013\n\t_saveUserB\010\n\006_unitsB\016\n\014_maxUniqueIdb\006" + "proto3" ; +static const ::_pbi::DescriptorTable* const descriptor_table_miscinfofile_2eproto_deps[1] = { + &::descriptor_table_google_2fprotobuf_2ftimestamp_2eproto, +}; static ::_pbi::once_flag descriptor_table_miscinfofile_2eproto_once; const ::_pbi::DescriptorTable descriptor_table_miscinfofile_2eproto = { - false, false, 62, descriptor_table_protodef_miscinfofile_2eproto, + false, false, 606, descriptor_table_protodef_miscinfofile_2eproto, "miscinfofile.proto", - &descriptor_table_miscinfofile_2eproto_once, nullptr, 0, 1, + &descriptor_table_miscinfofile_2eproto_once, descriptor_table_miscinfofile_2eproto_deps, 1, 1, schemas, file_default_instances, TableStruct_miscinfofile_2eproto::offsets, file_level_metadata_miscinfofile_2eproto, file_level_enum_descriptors_miscinfofile_2eproto, file_level_service_descriptors_miscinfofile_2eproto, @@ -84,35 +136,743 @@ namespace Protobuf { class MiscInfoFile::_Internal { public: + using HasBits = decltype(std::declval()._impl_._has_bits_); + static void set_has_productmodelname(HasBits* has_bits) { + (*has_bits)[0] |= 1u; + } + static void set_has_jobname(HasBits* has_bits) { + (*has_bits)[0] |= 2u; + } + static void set_has_odbversionmajor(HasBits* has_bits) { + (*has_bits)[0] |= 4u; + } + static void set_has_odbversionminor(HasBits* has_bits) { + (*has_bits)[0] |= 8u; + } + static void set_has_odbsource(HasBits* has_bits) { + (*has_bits)[0] |= 16u; + } + static const ::PROTOBUF_NAMESPACE_ID::Timestamp& creationdatedate(const MiscInfoFile* msg); + static void set_has_creationdatedate(HasBits* has_bits) { + (*has_bits)[0] |= 256u; + } + static const ::PROTOBUF_NAMESPACE_ID::Timestamp& savedate(const MiscInfoFile* msg); + static void set_has_savedate(HasBits* has_bits) { + (*has_bits)[0] |= 512u; + } + static void set_has_saveapp(HasBits* has_bits) { + (*has_bits)[0] |= 32u; + } + static void set_has_saveuser(HasBits* has_bits) { + (*has_bits)[0] |= 64u; + } + static void set_has_units(HasBits* has_bits) { + (*has_bits)[0] |= 128u; + } + static void set_has_maxuniqueid(HasBits* has_bits) { + (*has_bits)[0] |= 1024u; + } }; +const ::PROTOBUF_NAMESPACE_ID::Timestamp& +MiscInfoFile::_Internal::creationdatedate(const MiscInfoFile* msg) { + return *msg->_impl_.creationdatedate_; +} +const ::PROTOBUF_NAMESPACE_ID::Timestamp& +MiscInfoFile::_Internal::savedate(const MiscInfoFile* msg) { + return *msg->_impl_.savedate_; +} +void MiscInfoFile::clear_creationdatedate() { + if (_impl_.creationdatedate_ != nullptr) _impl_.creationdatedate_->Clear(); + _impl_._has_bits_[0] &= ~0x00000100u; +} +void MiscInfoFile::clear_savedate() { + if (_impl_.savedate_ != nullptr) _impl_.savedate_->Clear(); + _impl_._has_bits_[0] &= ~0x00000200u; +} MiscInfoFile::MiscInfoFile(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase(arena, is_message_owned) { + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); // @@protoc_insertion_point(arena_constructor:Odb.Lib.Protobuf.MiscInfoFile) } MiscInfoFile::MiscInfoFile(const MiscInfoFile& from) - : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase() { + : ::PROTOBUF_NAMESPACE_ID::Message() { MiscInfoFile* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_._has_bits_){from._impl_._has_bits_} + , /*decltype(_impl_._cached_size_)*/{} + , decltype(_impl_.productmodelname_){} + , decltype(_impl_.jobname_){} + , decltype(_impl_.odbversionmajor_){} + , decltype(_impl_.odbversionminor_){} + , decltype(_impl_.odbsource_){} + , decltype(_impl_.saveapp_){} + , decltype(_impl_.saveuser_){} + , decltype(_impl_.units_){} + , decltype(_impl_.creationdatedate_){nullptr} + , decltype(_impl_.savedate_){nullptr} + , decltype(_impl_.maxuniqueid_){}}; + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.productmodelname_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.productmodelname_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (from._internal_has_productmodelname()) { + _this->_impl_.productmodelname_.Set(from._internal_productmodelname(), + _this->GetArenaForAllocation()); + } + _impl_.jobname_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.jobname_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (from._internal_has_jobname()) { + _this->_impl_.jobname_.Set(from._internal_jobname(), + _this->GetArenaForAllocation()); + } + _impl_.odbversionmajor_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.odbversionmajor_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (from._internal_has_odbversionmajor()) { + _this->_impl_.odbversionmajor_.Set(from._internal_odbversionmajor(), + _this->GetArenaForAllocation()); + } + _impl_.odbversionminor_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.odbversionminor_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (from._internal_has_odbversionminor()) { + _this->_impl_.odbversionminor_.Set(from._internal_odbversionminor(), + _this->GetArenaForAllocation()); + } + _impl_.odbsource_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.odbsource_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (from._internal_has_odbsource()) { + _this->_impl_.odbsource_.Set(from._internal_odbsource(), + _this->GetArenaForAllocation()); + } + _impl_.saveapp_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.saveapp_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (from._internal_has_saveapp()) { + _this->_impl_.saveapp_.Set(from._internal_saveapp(), + _this->GetArenaForAllocation()); + } + _impl_.saveuser_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.saveuser_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (from._internal_has_saveuser()) { + _this->_impl_.saveuser_.Set(from._internal_saveuser(), + _this->GetArenaForAllocation()); + } + _impl_.units_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.units_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (from._internal_has_units()) { + _this->_impl_.units_.Set(from._internal_units(), + _this->GetArenaForAllocation()); + } + if (from._internal_has_creationdatedate()) { + _this->_impl_.creationdatedate_ = new ::PROTOBUF_NAMESPACE_ID::Timestamp(*from._impl_.creationdatedate_); + } + if (from._internal_has_savedate()) { + _this->_impl_.savedate_ = new ::PROTOBUF_NAMESPACE_ID::Timestamp(*from._impl_.savedate_); + } + _this->_impl_.maxuniqueid_ = from._impl_.maxuniqueid_; // @@protoc_insertion_point(copy_constructor:Odb.Lib.Protobuf.MiscInfoFile) } +inline void MiscInfoFile::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_._has_bits_){} + , /*decltype(_impl_._cached_size_)*/{} + , decltype(_impl_.productmodelname_){} + , decltype(_impl_.jobname_){} + , decltype(_impl_.odbversionmajor_){} + , decltype(_impl_.odbversionminor_){} + , decltype(_impl_.odbsource_){} + , decltype(_impl_.saveapp_){} + , decltype(_impl_.saveuser_){} + , decltype(_impl_.units_){} + , decltype(_impl_.creationdatedate_){nullptr} + , decltype(_impl_.savedate_){nullptr} + , decltype(_impl_.maxuniqueid_){0u} + }; + _impl_.productmodelname_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.productmodelname_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.jobname_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.jobname_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.odbversionmajor_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.odbversionmajor_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.odbversionminor_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.odbversionminor_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.odbsource_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.odbsource_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.saveapp_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.saveapp_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.saveuser_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.saveuser_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.units_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.units_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +MiscInfoFile::~MiscInfoFile() { + // @@protoc_insertion_point(destructor:Odb.Lib.Protobuf.MiscInfoFile) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void MiscInfoFile::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.productmodelname_.Destroy(); + _impl_.jobname_.Destroy(); + _impl_.odbversionmajor_.Destroy(); + _impl_.odbversionminor_.Destroy(); + _impl_.odbsource_.Destroy(); + _impl_.saveapp_.Destroy(); + _impl_.saveuser_.Destroy(); + _impl_.units_.Destroy(); + if (this != internal_default_instance()) delete _impl_.creationdatedate_; + if (this != internal_default_instance()) delete _impl_.savedate_; +} + +void MiscInfoFile::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void MiscInfoFile::Clear() { +// @@protoc_insertion_point(message_clear_start:Odb.Lib.Protobuf.MiscInfoFile) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (cached_has_bits & 0x000000ffu) { + if (cached_has_bits & 0x00000001u) { + _impl_.productmodelname_.ClearNonDefaultToEmpty(); + } + if (cached_has_bits & 0x00000002u) { + _impl_.jobname_.ClearNonDefaultToEmpty(); + } + if (cached_has_bits & 0x00000004u) { + _impl_.odbversionmajor_.ClearNonDefaultToEmpty(); + } + if (cached_has_bits & 0x00000008u) { + _impl_.odbversionminor_.ClearNonDefaultToEmpty(); + } + if (cached_has_bits & 0x00000010u) { + _impl_.odbsource_.ClearNonDefaultToEmpty(); + } + if (cached_has_bits & 0x00000020u) { + _impl_.saveapp_.ClearNonDefaultToEmpty(); + } + if (cached_has_bits & 0x00000040u) { + _impl_.saveuser_.ClearNonDefaultToEmpty(); + } + if (cached_has_bits & 0x00000080u) { + _impl_.units_.ClearNonDefaultToEmpty(); + } + } + if (cached_has_bits & 0x00000300u) { + if (cached_has_bits & 0x00000100u) { + GOOGLE_DCHECK(_impl_.creationdatedate_ != nullptr); + _impl_.creationdatedate_->Clear(); + } + if (cached_has_bits & 0x00000200u) { + GOOGLE_DCHECK(_impl_.savedate_ != nullptr); + _impl_.savedate_->Clear(); + } + } + _impl_.maxuniqueid_ = 0u; + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* MiscInfoFile::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + _Internal::HasBits has_bits{}; + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // optional string productModelName = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_productmodelname(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.MiscInfoFile.productModelName")); + } else + goto handle_unusual; + continue; + // optional string jobName = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + auto str = _internal_mutable_jobname(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.MiscInfoFile.jobName")); + } else + goto handle_unusual; + continue; + // optional string odbVersionMajor = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + auto str = _internal_mutable_odbversionmajor(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.MiscInfoFile.odbVersionMajor")); + } else + goto handle_unusual; + continue; + // optional string odbVersionMinor = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { + auto str = _internal_mutable_odbversionminor(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.MiscInfoFile.odbVersionMinor")); + } else + goto handle_unusual; + continue; + // optional string odbSource = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { + auto str = _internal_mutable_odbsource(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.MiscInfoFile.odbSource")); + } else + goto handle_unusual; + continue; + // optional .google.protobuf.Timestamp creationDateDate = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 50)) { + ptr = ctx->ParseMessage(_internal_mutable_creationdatedate(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // optional .google.protobuf.Timestamp saveDate = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 58)) { + ptr = ctx->ParseMessage(_internal_mutable_savedate(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // optional string saveApp = 8; + case 8: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 66)) { + auto str = _internal_mutable_saveapp(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.MiscInfoFile.saveApp")); + } else + goto handle_unusual; + continue; + // optional string saveUser = 9; + case 9: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 74)) { + auto str = _internal_mutable_saveuser(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.MiscInfoFile.saveUser")); + } else + goto handle_unusual; + continue; + // optional string units = 10; + case 10: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 82)) { + auto str = _internal_mutable_units(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.MiscInfoFile.units")); + } else + goto handle_unusual; + continue; + // optional uint32 maxUniqueId = 11; + case 11: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 88)) { + _Internal::set_has_maxuniqueid(&has_bits); + _impl_.maxuniqueid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + _impl_._has_bits_.Or(has_bits); + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* MiscInfoFile::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:Odb.Lib.Protobuf.MiscInfoFile) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // optional string productModelName = 1; + if (_internal_has_productmodelname()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_productmodelname().data(), static_cast(this->_internal_productmodelname().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.MiscInfoFile.productModelName"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_productmodelname(), target); + } + + // optional string jobName = 2; + if (_internal_has_jobname()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_jobname().data(), static_cast(this->_internal_jobname().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.MiscInfoFile.jobName"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_jobname(), target); + } + + // optional string odbVersionMajor = 3; + if (_internal_has_odbversionmajor()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_odbversionmajor().data(), static_cast(this->_internal_odbversionmajor().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.MiscInfoFile.odbVersionMajor"); + target = stream->WriteStringMaybeAliased( + 3, this->_internal_odbversionmajor(), target); + } + + // optional string odbVersionMinor = 4; + if (_internal_has_odbversionminor()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_odbversionminor().data(), static_cast(this->_internal_odbversionminor().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.MiscInfoFile.odbVersionMinor"); + target = stream->WriteStringMaybeAliased( + 4, this->_internal_odbversionminor(), target); + } + + // optional string odbSource = 5; + if (_internal_has_odbsource()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_odbsource().data(), static_cast(this->_internal_odbsource().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.MiscInfoFile.odbSource"); + target = stream->WriteStringMaybeAliased( + 5, this->_internal_odbsource(), target); + } + // optional .google.protobuf.Timestamp creationDateDate = 6; + if (_internal_has_creationdatedate()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(6, _Internal::creationdatedate(this), + _Internal::creationdatedate(this).GetCachedSize(), target, stream); + } + // optional .google.protobuf.Timestamp saveDate = 7; + if (_internal_has_savedate()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(7, _Internal::savedate(this), + _Internal::savedate(this).GetCachedSize(), target, stream); + } + // optional string saveApp = 8; + if (_internal_has_saveapp()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_saveapp().data(), static_cast(this->_internal_saveapp().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.MiscInfoFile.saveApp"); + target = stream->WriteStringMaybeAliased( + 8, this->_internal_saveapp(), target); + } + + // optional string saveUser = 9; + if (_internal_has_saveuser()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_saveuser().data(), static_cast(this->_internal_saveuser().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.MiscInfoFile.saveUser"); + target = stream->WriteStringMaybeAliased( + 9, this->_internal_saveuser(), target); + } + + // optional string units = 10; + if (_internal_has_units()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_units().data(), static_cast(this->_internal_units().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.MiscInfoFile.units"); + target = stream->WriteStringMaybeAliased( + 10, this->_internal_units(), target); + } + + // optional uint32 maxUniqueId = 11; + if (_internal_has_maxuniqueid()) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray(11, this->_internal_maxuniqueid(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:Odb.Lib.Protobuf.MiscInfoFile) + return target; +} + +size_t MiscInfoFile::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:Odb.Lib.Protobuf.MiscInfoFile) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (cached_has_bits & 0x000000ffu) { + // optional string productModelName = 1; + if (cached_has_bits & 0x00000001u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_productmodelname()); + } + + // optional string jobName = 2; + if (cached_has_bits & 0x00000002u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_jobname()); + } + + // optional string odbVersionMajor = 3; + if (cached_has_bits & 0x00000004u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_odbversionmajor()); + } + + // optional string odbVersionMinor = 4; + if (cached_has_bits & 0x00000008u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_odbversionminor()); + } + + // optional string odbSource = 5; + if (cached_has_bits & 0x00000010u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_odbsource()); + } + + // optional string saveApp = 8; + if (cached_has_bits & 0x00000020u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_saveapp()); + } + + // optional string saveUser = 9; + if (cached_has_bits & 0x00000040u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_saveuser()); + } + + // optional string units = 10; + if (cached_has_bits & 0x00000080u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_units()); + } + + } + if (cached_has_bits & 0x00000700u) { + // optional .google.protobuf.Timestamp creationDateDate = 6; + if (cached_has_bits & 0x00000100u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.creationdatedate_); + } + + // optional .google.protobuf.Timestamp saveDate = 7; + if (cached_has_bits & 0x00000200u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.savedate_); + } + + // optional uint32 maxUniqueId = 11; + if (cached_has_bits & 0x00000400u) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_maxuniqueid()); + } + + } + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} const ::PROTOBUF_NAMESPACE_ID::Message::ClassData MiscInfoFile::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl, - ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl, + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + MiscInfoFile::MergeImpl }; const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*MiscInfoFile::GetClassData() const { return &_class_data_; } +void MiscInfoFile::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:Odb.Lib.Protobuf.MiscInfoFile) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + cached_has_bits = from._impl_._has_bits_[0]; + if (cached_has_bits & 0x000000ffu) { + if (cached_has_bits & 0x00000001u) { + _this->_internal_set_productmodelname(from._internal_productmodelname()); + } + if (cached_has_bits & 0x00000002u) { + _this->_internal_set_jobname(from._internal_jobname()); + } + if (cached_has_bits & 0x00000004u) { + _this->_internal_set_odbversionmajor(from._internal_odbversionmajor()); + } + if (cached_has_bits & 0x00000008u) { + _this->_internal_set_odbversionminor(from._internal_odbversionminor()); + } + if (cached_has_bits & 0x00000010u) { + _this->_internal_set_odbsource(from._internal_odbsource()); + } + if (cached_has_bits & 0x00000020u) { + _this->_internal_set_saveapp(from._internal_saveapp()); + } + if (cached_has_bits & 0x00000040u) { + _this->_internal_set_saveuser(from._internal_saveuser()); + } + if (cached_has_bits & 0x00000080u) { + _this->_internal_set_units(from._internal_units()); + } + } + if (cached_has_bits & 0x00000700u) { + if (cached_has_bits & 0x00000100u) { + _this->_internal_mutable_creationdatedate()->::PROTOBUF_NAMESPACE_ID::Timestamp::MergeFrom( + from._internal_creationdatedate()); + } + if (cached_has_bits & 0x00000200u) { + _this->_internal_mutable_savedate()->::PROTOBUF_NAMESPACE_ID::Timestamp::MergeFrom( + from._internal_savedate()); + } + if (cached_has_bits & 0x00000400u) { + _this->_impl_.maxuniqueid_ = from._impl_.maxuniqueid_; + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} +void MiscInfoFile::CopyFrom(const MiscInfoFile& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:Odb.Lib.Protobuf.MiscInfoFile) + if (&from == this) return; + Clear(); + MergeFrom(from); +} +bool MiscInfoFile::IsInitialized() const { + return true; +} +void MiscInfoFile::InternalSwap(MiscInfoFile* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.productmodelname_, lhs_arena, + &other->_impl_.productmodelname_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.jobname_, lhs_arena, + &other->_impl_.jobname_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.odbversionmajor_, lhs_arena, + &other->_impl_.odbversionmajor_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.odbversionminor_, lhs_arena, + &other->_impl_.odbversionminor_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.odbsource_, lhs_arena, + &other->_impl_.odbsource_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.saveapp_, lhs_arena, + &other->_impl_.saveapp_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.saveuser_, lhs_arena, + &other->_impl_.saveuser_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.units_, lhs_arena, + &other->_impl_.units_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(MiscInfoFile, _impl_.maxuniqueid_) + + sizeof(MiscInfoFile::_impl_.maxuniqueid_) + - PROTOBUF_FIELD_OFFSET(MiscInfoFile, _impl_.creationdatedate_)>( + reinterpret_cast(&_impl_.creationdatedate_), + reinterpret_cast(&other->_impl_.creationdatedate_)); +} ::PROTOBUF_NAMESPACE_ID::Metadata MiscInfoFile::GetMetadata() const { return ::_pbi::AssignDescriptors( diff --git a/OdbDesignLib/ProtoBuf/miscinfofile.pb.h b/OdbDesignLib/ProtoBuf/miscinfofile.pb.h index a5b737a1..6b27404c 100644 --- a/OdbDesignLib/ProtoBuf/miscinfofile.pb.h +++ b/OdbDesignLib/ProtoBuf/miscinfofile.pb.h @@ -23,7 +23,6 @@ #include #include #include -#include #include #include #include @@ -31,6 +30,7 @@ #include // IWYU pragma: export #include // IWYU pragma: export #include +#include // @@protoc_insertion_point(includes) #include #define PROTOBUF_INTERNAL_EXPORT_miscinfofile_2eproto @@ -64,9 +64,10 @@ namespace Protobuf { // =================================================================== class MiscInfoFile final : - public ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:Odb.Lib.Protobuf.MiscInfoFile) */ { + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Odb.Lib.Protobuf.MiscInfoFile) */ { public: inline MiscInfoFile() : MiscInfoFile(nullptr) {} + ~MiscInfoFile() override; explicit PROTOBUF_CONSTEXPR MiscInfoFile(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); MiscInfoFile(const MiscInfoFile& from); @@ -139,15 +140,29 @@ class MiscInfoFile final : MiscInfoFile* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyFrom; - inline void CopyFrom(const MiscInfoFile& from) { - ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl(*this, from); - } - using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeFrom; - void MergeFrom(const MiscInfoFile& from) { - ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl(*this, from); + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const MiscInfoFile& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const MiscInfoFile& from) { + MiscInfoFile::MergeImpl(*this, from); } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(MiscInfoFile* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; @@ -168,6 +183,212 @@ class MiscInfoFile final : // accessors ------------------------------------------------------- + enum : int { + kProductModelNameFieldNumber = 1, + kJobNameFieldNumber = 2, + kOdbVersionMajorFieldNumber = 3, + kOdbVersionMinorFieldNumber = 4, + kOdbSourceFieldNumber = 5, + kSaveAppFieldNumber = 8, + kSaveUserFieldNumber = 9, + kUnitsFieldNumber = 10, + kCreationDateDateFieldNumber = 6, + kSaveDateFieldNumber = 7, + kMaxUniqueIdFieldNumber = 11, + }; + // optional string productModelName = 1; + bool has_productmodelname() const; + private: + bool _internal_has_productmodelname() const; + public: + void clear_productmodelname(); + const std::string& productmodelname() const; + template + void set_productmodelname(ArgT0&& arg0, ArgT... args); + std::string* mutable_productmodelname(); + PROTOBUF_NODISCARD std::string* release_productmodelname(); + void set_allocated_productmodelname(std::string* productmodelname); + private: + const std::string& _internal_productmodelname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_productmodelname(const std::string& value); + std::string* _internal_mutable_productmodelname(); + public: + + // optional string jobName = 2; + bool has_jobname() const; + private: + bool _internal_has_jobname() const; + public: + void clear_jobname(); + const std::string& jobname() const; + template + void set_jobname(ArgT0&& arg0, ArgT... args); + std::string* mutable_jobname(); + PROTOBUF_NODISCARD std::string* release_jobname(); + void set_allocated_jobname(std::string* jobname); + private: + const std::string& _internal_jobname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_jobname(const std::string& value); + std::string* _internal_mutable_jobname(); + public: + + // optional string odbVersionMajor = 3; + bool has_odbversionmajor() const; + private: + bool _internal_has_odbversionmajor() const; + public: + void clear_odbversionmajor(); + const std::string& odbversionmajor() const; + template + void set_odbversionmajor(ArgT0&& arg0, ArgT... args); + std::string* mutable_odbversionmajor(); + PROTOBUF_NODISCARD std::string* release_odbversionmajor(); + void set_allocated_odbversionmajor(std::string* odbversionmajor); + private: + const std::string& _internal_odbversionmajor() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_odbversionmajor(const std::string& value); + std::string* _internal_mutable_odbversionmajor(); + public: + + // optional string odbVersionMinor = 4; + bool has_odbversionminor() const; + private: + bool _internal_has_odbversionminor() const; + public: + void clear_odbversionminor(); + const std::string& odbversionminor() const; + template + void set_odbversionminor(ArgT0&& arg0, ArgT... args); + std::string* mutable_odbversionminor(); + PROTOBUF_NODISCARD std::string* release_odbversionminor(); + void set_allocated_odbversionminor(std::string* odbversionminor); + private: + const std::string& _internal_odbversionminor() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_odbversionminor(const std::string& value); + std::string* _internal_mutable_odbversionminor(); + public: + + // optional string odbSource = 5; + bool has_odbsource() const; + private: + bool _internal_has_odbsource() const; + public: + void clear_odbsource(); + const std::string& odbsource() const; + template + void set_odbsource(ArgT0&& arg0, ArgT... args); + std::string* mutable_odbsource(); + PROTOBUF_NODISCARD std::string* release_odbsource(); + void set_allocated_odbsource(std::string* odbsource); + private: + const std::string& _internal_odbsource() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_odbsource(const std::string& value); + std::string* _internal_mutable_odbsource(); + public: + + // optional string saveApp = 8; + bool has_saveapp() const; + private: + bool _internal_has_saveapp() const; + public: + void clear_saveapp(); + const std::string& saveapp() const; + template + void set_saveapp(ArgT0&& arg0, ArgT... args); + std::string* mutable_saveapp(); + PROTOBUF_NODISCARD std::string* release_saveapp(); + void set_allocated_saveapp(std::string* saveapp); + private: + const std::string& _internal_saveapp() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_saveapp(const std::string& value); + std::string* _internal_mutable_saveapp(); + public: + + // optional string saveUser = 9; + bool has_saveuser() const; + private: + bool _internal_has_saveuser() const; + public: + void clear_saveuser(); + const std::string& saveuser() const; + template + void set_saveuser(ArgT0&& arg0, ArgT... args); + std::string* mutable_saveuser(); + PROTOBUF_NODISCARD std::string* release_saveuser(); + void set_allocated_saveuser(std::string* saveuser); + private: + const std::string& _internal_saveuser() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_saveuser(const std::string& value); + std::string* _internal_mutable_saveuser(); + public: + + // optional string units = 10; + bool has_units() const; + private: + bool _internal_has_units() const; + public: + void clear_units(); + const std::string& units() const; + template + void set_units(ArgT0&& arg0, ArgT... args); + std::string* mutable_units(); + PROTOBUF_NODISCARD std::string* release_units(); + void set_allocated_units(std::string* units); + private: + const std::string& _internal_units() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_units(const std::string& value); + std::string* _internal_mutable_units(); + public: + + // optional .google.protobuf.Timestamp creationDateDate = 6; + bool has_creationdatedate() const; + private: + bool _internal_has_creationdatedate() const; + public: + void clear_creationdatedate(); + const ::PROTOBUF_NAMESPACE_ID::Timestamp& creationdatedate() const; + PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::Timestamp* release_creationdatedate(); + ::PROTOBUF_NAMESPACE_ID::Timestamp* mutable_creationdatedate(); + void set_allocated_creationdatedate(::PROTOBUF_NAMESPACE_ID::Timestamp* creationdatedate); + private: + const ::PROTOBUF_NAMESPACE_ID::Timestamp& _internal_creationdatedate() const; + ::PROTOBUF_NAMESPACE_ID::Timestamp* _internal_mutable_creationdatedate(); + public: + void unsafe_arena_set_allocated_creationdatedate( + ::PROTOBUF_NAMESPACE_ID::Timestamp* creationdatedate); + ::PROTOBUF_NAMESPACE_ID::Timestamp* unsafe_arena_release_creationdatedate(); + + // optional .google.protobuf.Timestamp saveDate = 7; + bool has_savedate() const; + private: + bool _internal_has_savedate() const; + public: + void clear_savedate(); + const ::PROTOBUF_NAMESPACE_ID::Timestamp& savedate() const; + PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::Timestamp* release_savedate(); + ::PROTOBUF_NAMESPACE_ID::Timestamp* mutable_savedate(); + void set_allocated_savedate(::PROTOBUF_NAMESPACE_ID::Timestamp* savedate); + private: + const ::PROTOBUF_NAMESPACE_ID::Timestamp& _internal_savedate() const; + ::PROTOBUF_NAMESPACE_ID::Timestamp* _internal_mutable_savedate(); + public: + void unsafe_arena_set_allocated_savedate( + ::PROTOBUF_NAMESPACE_ID::Timestamp* savedate); + ::PROTOBUF_NAMESPACE_ID::Timestamp* unsafe_arena_release_savedate(); + + // optional uint32 maxUniqueId = 11; + bool has_maxuniqueid() const; + private: + bool _internal_has_maxuniqueid() const; + public: + void clear_maxuniqueid(); + uint32_t maxuniqueid() const; + void set_maxuniqueid(uint32_t value); + private: + uint32_t _internal_maxuniqueid() const; + void _internal_set_maxuniqueid(uint32_t value); + public: + // @@protoc_insertion_point(class_scope:Odb.Lib.Protobuf.MiscInfoFile) private: class _Internal; @@ -176,7 +397,21 @@ class MiscInfoFile final : typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr productmodelname_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr jobname_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr odbversionmajor_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr odbversionminor_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr odbsource_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr saveapp_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr saveuser_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr units_; + ::PROTOBUF_NAMESPACE_ID::Timestamp* creationdatedate_; + ::PROTOBUF_NAMESPACE_ID::Timestamp* savedate_; + uint32_t maxuniqueid_; }; + union { Impl_ _impl_; }; friend struct ::TableStruct_miscinfofile_2eproto; }; // =================================================================== @@ -190,6 +425,752 @@ class MiscInfoFile final : #endif // __GNUC__ // MiscInfoFile +// optional string productModelName = 1; +inline bool MiscInfoFile::_internal_has_productmodelname() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + return value; +} +inline bool MiscInfoFile::has_productmodelname() const { + return _internal_has_productmodelname(); +} +inline void MiscInfoFile::clear_productmodelname() { + _impl_.productmodelname_.ClearToEmpty(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const std::string& MiscInfoFile::productmodelname() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MiscInfoFile.productModelName) + return _internal_productmodelname(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void MiscInfoFile::set_productmodelname(ArgT0&& arg0, ArgT... args) { + _impl_._has_bits_[0] |= 0x00000001u; + _impl_.productmodelname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.MiscInfoFile.productModelName) +} +inline std::string* MiscInfoFile::mutable_productmodelname() { + std::string* _s = _internal_mutable_productmodelname(); + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.MiscInfoFile.productModelName) + return _s; +} +inline const std::string& MiscInfoFile::_internal_productmodelname() const { + return _impl_.productmodelname_.Get(); +} +inline void MiscInfoFile::_internal_set_productmodelname(const std::string& value) { + _impl_._has_bits_[0] |= 0x00000001u; + _impl_.productmodelname_.Set(value, GetArenaForAllocation()); +} +inline std::string* MiscInfoFile::_internal_mutable_productmodelname() { + _impl_._has_bits_[0] |= 0x00000001u; + return _impl_.productmodelname_.Mutable(GetArenaForAllocation()); +} +inline std::string* MiscInfoFile::release_productmodelname() { + // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.MiscInfoFile.productModelName) + if (!_internal_has_productmodelname()) { + return nullptr; + } + _impl_._has_bits_[0] &= ~0x00000001u; + auto* p = _impl_.productmodelname_.Release(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.productmodelname_.IsDefault()) { + _impl_.productmodelname_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + return p; +} +inline void MiscInfoFile::set_allocated_productmodelname(std::string* productmodelname) { + if (productmodelname != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + _impl_.productmodelname_.SetAllocated(productmodelname, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.productmodelname_.IsDefault()) { + _impl_.productmodelname_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.MiscInfoFile.productModelName) +} + +// optional string jobName = 2; +inline bool MiscInfoFile::_internal_has_jobname() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + return value; +} +inline bool MiscInfoFile::has_jobname() const { + return _internal_has_jobname(); +} +inline void MiscInfoFile::clear_jobname() { + _impl_.jobname_.ClearToEmpty(); + _impl_._has_bits_[0] &= ~0x00000002u; +} +inline const std::string& MiscInfoFile::jobname() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MiscInfoFile.jobName) + return _internal_jobname(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void MiscInfoFile::set_jobname(ArgT0&& arg0, ArgT... args) { + _impl_._has_bits_[0] |= 0x00000002u; + _impl_.jobname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.MiscInfoFile.jobName) +} +inline std::string* MiscInfoFile::mutable_jobname() { + std::string* _s = _internal_mutable_jobname(); + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.MiscInfoFile.jobName) + return _s; +} +inline const std::string& MiscInfoFile::_internal_jobname() const { + return _impl_.jobname_.Get(); +} +inline void MiscInfoFile::_internal_set_jobname(const std::string& value) { + _impl_._has_bits_[0] |= 0x00000002u; + _impl_.jobname_.Set(value, GetArenaForAllocation()); +} +inline std::string* MiscInfoFile::_internal_mutable_jobname() { + _impl_._has_bits_[0] |= 0x00000002u; + return _impl_.jobname_.Mutable(GetArenaForAllocation()); +} +inline std::string* MiscInfoFile::release_jobname() { + // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.MiscInfoFile.jobName) + if (!_internal_has_jobname()) { + return nullptr; + } + _impl_._has_bits_[0] &= ~0x00000002u; + auto* p = _impl_.jobname_.Release(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.jobname_.IsDefault()) { + _impl_.jobname_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + return p; +} +inline void MiscInfoFile::set_allocated_jobname(std::string* jobname) { + if (jobname != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + _impl_.jobname_.SetAllocated(jobname, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.jobname_.IsDefault()) { + _impl_.jobname_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.MiscInfoFile.jobName) +} + +// optional string odbVersionMajor = 3; +inline bool MiscInfoFile::_internal_has_odbversionmajor() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + return value; +} +inline bool MiscInfoFile::has_odbversionmajor() const { + return _internal_has_odbversionmajor(); +} +inline void MiscInfoFile::clear_odbversionmajor() { + _impl_.odbversionmajor_.ClearToEmpty(); + _impl_._has_bits_[0] &= ~0x00000004u; +} +inline const std::string& MiscInfoFile::odbversionmajor() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MiscInfoFile.odbVersionMajor) + return _internal_odbversionmajor(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void MiscInfoFile::set_odbversionmajor(ArgT0&& arg0, ArgT... args) { + _impl_._has_bits_[0] |= 0x00000004u; + _impl_.odbversionmajor_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.MiscInfoFile.odbVersionMajor) +} +inline std::string* MiscInfoFile::mutable_odbversionmajor() { + std::string* _s = _internal_mutable_odbversionmajor(); + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.MiscInfoFile.odbVersionMajor) + return _s; +} +inline const std::string& MiscInfoFile::_internal_odbversionmajor() const { + return _impl_.odbversionmajor_.Get(); +} +inline void MiscInfoFile::_internal_set_odbversionmajor(const std::string& value) { + _impl_._has_bits_[0] |= 0x00000004u; + _impl_.odbversionmajor_.Set(value, GetArenaForAllocation()); +} +inline std::string* MiscInfoFile::_internal_mutable_odbversionmajor() { + _impl_._has_bits_[0] |= 0x00000004u; + return _impl_.odbversionmajor_.Mutable(GetArenaForAllocation()); +} +inline std::string* MiscInfoFile::release_odbversionmajor() { + // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.MiscInfoFile.odbVersionMajor) + if (!_internal_has_odbversionmajor()) { + return nullptr; + } + _impl_._has_bits_[0] &= ~0x00000004u; + auto* p = _impl_.odbversionmajor_.Release(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.odbversionmajor_.IsDefault()) { + _impl_.odbversionmajor_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + return p; +} +inline void MiscInfoFile::set_allocated_odbversionmajor(std::string* odbversionmajor) { + if (odbversionmajor != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + _impl_.odbversionmajor_.SetAllocated(odbversionmajor, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.odbversionmajor_.IsDefault()) { + _impl_.odbversionmajor_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.MiscInfoFile.odbVersionMajor) +} + +// optional string odbVersionMinor = 4; +inline bool MiscInfoFile::_internal_has_odbversionminor() const { + bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; + return value; +} +inline bool MiscInfoFile::has_odbversionminor() const { + return _internal_has_odbversionminor(); +} +inline void MiscInfoFile::clear_odbversionminor() { + _impl_.odbversionminor_.ClearToEmpty(); + _impl_._has_bits_[0] &= ~0x00000008u; +} +inline const std::string& MiscInfoFile::odbversionminor() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MiscInfoFile.odbVersionMinor) + return _internal_odbversionminor(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void MiscInfoFile::set_odbversionminor(ArgT0&& arg0, ArgT... args) { + _impl_._has_bits_[0] |= 0x00000008u; + _impl_.odbversionminor_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.MiscInfoFile.odbVersionMinor) +} +inline std::string* MiscInfoFile::mutable_odbversionminor() { + std::string* _s = _internal_mutable_odbversionminor(); + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.MiscInfoFile.odbVersionMinor) + return _s; +} +inline const std::string& MiscInfoFile::_internal_odbversionminor() const { + return _impl_.odbversionminor_.Get(); +} +inline void MiscInfoFile::_internal_set_odbversionminor(const std::string& value) { + _impl_._has_bits_[0] |= 0x00000008u; + _impl_.odbversionminor_.Set(value, GetArenaForAllocation()); +} +inline std::string* MiscInfoFile::_internal_mutable_odbversionminor() { + _impl_._has_bits_[0] |= 0x00000008u; + return _impl_.odbversionminor_.Mutable(GetArenaForAllocation()); +} +inline std::string* MiscInfoFile::release_odbversionminor() { + // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.MiscInfoFile.odbVersionMinor) + if (!_internal_has_odbversionminor()) { + return nullptr; + } + _impl_._has_bits_[0] &= ~0x00000008u; + auto* p = _impl_.odbversionminor_.Release(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.odbversionminor_.IsDefault()) { + _impl_.odbversionminor_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + return p; +} +inline void MiscInfoFile::set_allocated_odbversionminor(std::string* odbversionminor) { + if (odbversionminor != nullptr) { + _impl_._has_bits_[0] |= 0x00000008u; + } else { + _impl_._has_bits_[0] &= ~0x00000008u; + } + _impl_.odbversionminor_.SetAllocated(odbversionminor, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.odbversionminor_.IsDefault()) { + _impl_.odbversionminor_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.MiscInfoFile.odbVersionMinor) +} + +// optional string odbSource = 5; +inline bool MiscInfoFile::_internal_has_odbsource() const { + bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; + return value; +} +inline bool MiscInfoFile::has_odbsource() const { + return _internal_has_odbsource(); +} +inline void MiscInfoFile::clear_odbsource() { + _impl_.odbsource_.ClearToEmpty(); + _impl_._has_bits_[0] &= ~0x00000010u; +} +inline const std::string& MiscInfoFile::odbsource() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MiscInfoFile.odbSource) + return _internal_odbsource(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void MiscInfoFile::set_odbsource(ArgT0&& arg0, ArgT... args) { + _impl_._has_bits_[0] |= 0x00000010u; + _impl_.odbsource_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.MiscInfoFile.odbSource) +} +inline std::string* MiscInfoFile::mutable_odbsource() { + std::string* _s = _internal_mutable_odbsource(); + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.MiscInfoFile.odbSource) + return _s; +} +inline const std::string& MiscInfoFile::_internal_odbsource() const { + return _impl_.odbsource_.Get(); +} +inline void MiscInfoFile::_internal_set_odbsource(const std::string& value) { + _impl_._has_bits_[0] |= 0x00000010u; + _impl_.odbsource_.Set(value, GetArenaForAllocation()); +} +inline std::string* MiscInfoFile::_internal_mutable_odbsource() { + _impl_._has_bits_[0] |= 0x00000010u; + return _impl_.odbsource_.Mutable(GetArenaForAllocation()); +} +inline std::string* MiscInfoFile::release_odbsource() { + // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.MiscInfoFile.odbSource) + if (!_internal_has_odbsource()) { + return nullptr; + } + _impl_._has_bits_[0] &= ~0x00000010u; + auto* p = _impl_.odbsource_.Release(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.odbsource_.IsDefault()) { + _impl_.odbsource_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + return p; +} +inline void MiscInfoFile::set_allocated_odbsource(std::string* odbsource) { + if (odbsource != nullptr) { + _impl_._has_bits_[0] |= 0x00000010u; + } else { + _impl_._has_bits_[0] &= ~0x00000010u; + } + _impl_.odbsource_.SetAllocated(odbsource, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.odbsource_.IsDefault()) { + _impl_.odbsource_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.MiscInfoFile.odbSource) +} + +// optional .google.protobuf.Timestamp creationDateDate = 6; +inline bool MiscInfoFile::_internal_has_creationdatedate() const { + bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0; + PROTOBUF_ASSUME(!value || _impl_.creationdatedate_ != nullptr); + return value; +} +inline bool MiscInfoFile::has_creationdatedate() const { + return _internal_has_creationdatedate(); +} +inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& MiscInfoFile::_internal_creationdatedate() const { + const ::PROTOBUF_NAMESPACE_ID::Timestamp* p = _impl_.creationdatedate_; + return p != nullptr ? *p : reinterpret_cast( + ::PROTOBUF_NAMESPACE_ID::_Timestamp_default_instance_); +} +inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& MiscInfoFile::creationdatedate() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MiscInfoFile.creationDateDate) + return _internal_creationdatedate(); +} +inline void MiscInfoFile::unsafe_arena_set_allocated_creationdatedate( + ::PROTOBUF_NAMESPACE_ID::Timestamp* creationdatedate) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.creationdatedate_); + } + _impl_.creationdatedate_ = creationdatedate; + if (creationdatedate) { + _impl_._has_bits_[0] |= 0x00000100u; + } else { + _impl_._has_bits_[0] &= ~0x00000100u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Odb.Lib.Protobuf.MiscInfoFile.creationDateDate) +} +inline ::PROTOBUF_NAMESPACE_ID::Timestamp* MiscInfoFile::release_creationdatedate() { + _impl_._has_bits_[0] &= ~0x00000100u; + ::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.creationdatedate_; + _impl_.creationdatedate_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::PROTOBUF_NAMESPACE_ID::Timestamp* MiscInfoFile::unsafe_arena_release_creationdatedate() { + // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.MiscInfoFile.creationDateDate) + _impl_._has_bits_[0] &= ~0x00000100u; + ::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.creationdatedate_; + _impl_.creationdatedate_ = nullptr; + return temp; +} +inline ::PROTOBUF_NAMESPACE_ID::Timestamp* MiscInfoFile::_internal_mutable_creationdatedate() { + _impl_._has_bits_[0] |= 0x00000100u; + if (_impl_.creationdatedate_ == nullptr) { + auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::Timestamp>(GetArenaForAllocation()); + _impl_.creationdatedate_ = p; + } + return _impl_.creationdatedate_; +} +inline ::PROTOBUF_NAMESPACE_ID::Timestamp* MiscInfoFile::mutable_creationdatedate() { + ::PROTOBUF_NAMESPACE_ID::Timestamp* _msg = _internal_mutable_creationdatedate(); + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.MiscInfoFile.creationDateDate) + return _msg; +} +inline void MiscInfoFile::set_allocated_creationdatedate(::PROTOBUF_NAMESPACE_ID::Timestamp* creationdatedate) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.creationdatedate_); + } + if (creationdatedate) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(creationdatedate)); + if (message_arena != submessage_arena) { + creationdatedate = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, creationdatedate, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000100u; + } else { + _impl_._has_bits_[0] &= ~0x00000100u; + } + _impl_.creationdatedate_ = creationdatedate; + // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.MiscInfoFile.creationDateDate) +} + +// optional .google.protobuf.Timestamp saveDate = 7; +inline bool MiscInfoFile::_internal_has_savedate() const { + bool value = (_impl_._has_bits_[0] & 0x00000200u) != 0; + PROTOBUF_ASSUME(!value || _impl_.savedate_ != nullptr); + return value; +} +inline bool MiscInfoFile::has_savedate() const { + return _internal_has_savedate(); +} +inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& MiscInfoFile::_internal_savedate() const { + const ::PROTOBUF_NAMESPACE_ID::Timestamp* p = _impl_.savedate_; + return p != nullptr ? *p : reinterpret_cast( + ::PROTOBUF_NAMESPACE_ID::_Timestamp_default_instance_); +} +inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& MiscInfoFile::savedate() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MiscInfoFile.saveDate) + return _internal_savedate(); +} +inline void MiscInfoFile::unsafe_arena_set_allocated_savedate( + ::PROTOBUF_NAMESPACE_ID::Timestamp* savedate) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.savedate_); + } + _impl_.savedate_ = savedate; + if (savedate) { + _impl_._has_bits_[0] |= 0x00000200u; + } else { + _impl_._has_bits_[0] &= ~0x00000200u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Odb.Lib.Protobuf.MiscInfoFile.saveDate) +} +inline ::PROTOBUF_NAMESPACE_ID::Timestamp* MiscInfoFile::release_savedate() { + _impl_._has_bits_[0] &= ~0x00000200u; + ::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.savedate_; + _impl_.savedate_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::PROTOBUF_NAMESPACE_ID::Timestamp* MiscInfoFile::unsafe_arena_release_savedate() { + // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.MiscInfoFile.saveDate) + _impl_._has_bits_[0] &= ~0x00000200u; + ::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.savedate_; + _impl_.savedate_ = nullptr; + return temp; +} +inline ::PROTOBUF_NAMESPACE_ID::Timestamp* MiscInfoFile::_internal_mutable_savedate() { + _impl_._has_bits_[0] |= 0x00000200u; + if (_impl_.savedate_ == nullptr) { + auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::Timestamp>(GetArenaForAllocation()); + _impl_.savedate_ = p; + } + return _impl_.savedate_; +} +inline ::PROTOBUF_NAMESPACE_ID::Timestamp* MiscInfoFile::mutable_savedate() { + ::PROTOBUF_NAMESPACE_ID::Timestamp* _msg = _internal_mutable_savedate(); + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.MiscInfoFile.saveDate) + return _msg; +} +inline void MiscInfoFile::set_allocated_savedate(::PROTOBUF_NAMESPACE_ID::Timestamp* savedate) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.savedate_); + } + if (savedate) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(savedate)); + if (message_arena != submessage_arena) { + savedate = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, savedate, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000200u; + } else { + _impl_._has_bits_[0] &= ~0x00000200u; + } + _impl_.savedate_ = savedate; + // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.MiscInfoFile.saveDate) +} + +// optional string saveApp = 8; +inline bool MiscInfoFile::_internal_has_saveapp() const { + bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0; + return value; +} +inline bool MiscInfoFile::has_saveapp() const { + return _internal_has_saveapp(); +} +inline void MiscInfoFile::clear_saveapp() { + _impl_.saveapp_.ClearToEmpty(); + _impl_._has_bits_[0] &= ~0x00000020u; +} +inline const std::string& MiscInfoFile::saveapp() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MiscInfoFile.saveApp) + return _internal_saveapp(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void MiscInfoFile::set_saveapp(ArgT0&& arg0, ArgT... args) { + _impl_._has_bits_[0] |= 0x00000020u; + _impl_.saveapp_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.MiscInfoFile.saveApp) +} +inline std::string* MiscInfoFile::mutable_saveapp() { + std::string* _s = _internal_mutable_saveapp(); + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.MiscInfoFile.saveApp) + return _s; +} +inline const std::string& MiscInfoFile::_internal_saveapp() const { + return _impl_.saveapp_.Get(); +} +inline void MiscInfoFile::_internal_set_saveapp(const std::string& value) { + _impl_._has_bits_[0] |= 0x00000020u; + _impl_.saveapp_.Set(value, GetArenaForAllocation()); +} +inline std::string* MiscInfoFile::_internal_mutable_saveapp() { + _impl_._has_bits_[0] |= 0x00000020u; + return _impl_.saveapp_.Mutable(GetArenaForAllocation()); +} +inline std::string* MiscInfoFile::release_saveapp() { + // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.MiscInfoFile.saveApp) + if (!_internal_has_saveapp()) { + return nullptr; + } + _impl_._has_bits_[0] &= ~0x00000020u; + auto* p = _impl_.saveapp_.Release(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.saveapp_.IsDefault()) { + _impl_.saveapp_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + return p; +} +inline void MiscInfoFile::set_allocated_saveapp(std::string* saveapp) { + if (saveapp != nullptr) { + _impl_._has_bits_[0] |= 0x00000020u; + } else { + _impl_._has_bits_[0] &= ~0x00000020u; + } + _impl_.saveapp_.SetAllocated(saveapp, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.saveapp_.IsDefault()) { + _impl_.saveapp_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.MiscInfoFile.saveApp) +} + +// optional string saveUser = 9; +inline bool MiscInfoFile::_internal_has_saveuser() const { + bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0; + return value; +} +inline bool MiscInfoFile::has_saveuser() const { + return _internal_has_saveuser(); +} +inline void MiscInfoFile::clear_saveuser() { + _impl_.saveuser_.ClearToEmpty(); + _impl_._has_bits_[0] &= ~0x00000040u; +} +inline const std::string& MiscInfoFile::saveuser() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MiscInfoFile.saveUser) + return _internal_saveuser(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void MiscInfoFile::set_saveuser(ArgT0&& arg0, ArgT... args) { + _impl_._has_bits_[0] |= 0x00000040u; + _impl_.saveuser_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.MiscInfoFile.saveUser) +} +inline std::string* MiscInfoFile::mutable_saveuser() { + std::string* _s = _internal_mutable_saveuser(); + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.MiscInfoFile.saveUser) + return _s; +} +inline const std::string& MiscInfoFile::_internal_saveuser() const { + return _impl_.saveuser_.Get(); +} +inline void MiscInfoFile::_internal_set_saveuser(const std::string& value) { + _impl_._has_bits_[0] |= 0x00000040u; + _impl_.saveuser_.Set(value, GetArenaForAllocation()); +} +inline std::string* MiscInfoFile::_internal_mutable_saveuser() { + _impl_._has_bits_[0] |= 0x00000040u; + return _impl_.saveuser_.Mutable(GetArenaForAllocation()); +} +inline std::string* MiscInfoFile::release_saveuser() { + // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.MiscInfoFile.saveUser) + if (!_internal_has_saveuser()) { + return nullptr; + } + _impl_._has_bits_[0] &= ~0x00000040u; + auto* p = _impl_.saveuser_.Release(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.saveuser_.IsDefault()) { + _impl_.saveuser_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + return p; +} +inline void MiscInfoFile::set_allocated_saveuser(std::string* saveuser) { + if (saveuser != nullptr) { + _impl_._has_bits_[0] |= 0x00000040u; + } else { + _impl_._has_bits_[0] &= ~0x00000040u; + } + _impl_.saveuser_.SetAllocated(saveuser, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.saveuser_.IsDefault()) { + _impl_.saveuser_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.MiscInfoFile.saveUser) +} + +// optional string units = 10; +inline bool MiscInfoFile::_internal_has_units() const { + bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0; + return value; +} +inline bool MiscInfoFile::has_units() const { + return _internal_has_units(); +} +inline void MiscInfoFile::clear_units() { + _impl_.units_.ClearToEmpty(); + _impl_._has_bits_[0] &= ~0x00000080u; +} +inline const std::string& MiscInfoFile::units() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MiscInfoFile.units) + return _internal_units(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void MiscInfoFile::set_units(ArgT0&& arg0, ArgT... args) { + _impl_._has_bits_[0] |= 0x00000080u; + _impl_.units_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.MiscInfoFile.units) +} +inline std::string* MiscInfoFile::mutable_units() { + std::string* _s = _internal_mutable_units(); + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.MiscInfoFile.units) + return _s; +} +inline const std::string& MiscInfoFile::_internal_units() const { + return _impl_.units_.Get(); +} +inline void MiscInfoFile::_internal_set_units(const std::string& value) { + _impl_._has_bits_[0] |= 0x00000080u; + _impl_.units_.Set(value, GetArenaForAllocation()); +} +inline std::string* MiscInfoFile::_internal_mutable_units() { + _impl_._has_bits_[0] |= 0x00000080u; + return _impl_.units_.Mutable(GetArenaForAllocation()); +} +inline std::string* MiscInfoFile::release_units() { + // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.MiscInfoFile.units) + if (!_internal_has_units()) { + return nullptr; + } + _impl_._has_bits_[0] &= ~0x00000080u; + auto* p = _impl_.units_.Release(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.units_.IsDefault()) { + _impl_.units_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + return p; +} +inline void MiscInfoFile::set_allocated_units(std::string* units) { + if (units != nullptr) { + _impl_._has_bits_[0] |= 0x00000080u; + } else { + _impl_._has_bits_[0] &= ~0x00000080u; + } + _impl_.units_.SetAllocated(units, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.units_.IsDefault()) { + _impl_.units_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.MiscInfoFile.units) +} + +// optional uint32 maxUniqueId = 11; +inline bool MiscInfoFile::_internal_has_maxuniqueid() const { + bool value = (_impl_._has_bits_[0] & 0x00000400u) != 0; + return value; +} +inline bool MiscInfoFile::has_maxuniqueid() const { + return _internal_has_maxuniqueid(); +} +inline void MiscInfoFile::clear_maxuniqueid() { + _impl_.maxuniqueid_ = 0u; + _impl_._has_bits_[0] &= ~0x00000400u; +} +inline uint32_t MiscInfoFile::_internal_maxuniqueid() const { + return _impl_.maxuniqueid_; +} +inline uint32_t MiscInfoFile::maxuniqueid() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.MiscInfoFile.maxUniqueId) + return _internal_maxuniqueid(); +} +inline void MiscInfoFile::_internal_set_maxuniqueid(uint32_t value) { + _impl_._has_bits_[0] |= 0x00000400u; + _impl_.maxuniqueid_ = value; +} +inline void MiscInfoFile::set_maxuniqueid(uint32_t value) { + _internal_set_maxuniqueid(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.MiscInfoFile.maxUniqueId) +} + #ifdef __GNUC__ #pragma GCC diagnostic pop #endif // __GNUC__ diff --git a/OdbDesignLib/protoc/enums.proto b/OdbDesignLib/protoc/enums.proto new file mode 100644 index 00000000..3a2d8868 --- /dev/null +++ b/OdbDesignLib/protoc/enums.proto @@ -0,0 +1,24 @@ +syntax = "proto3"; + +//// https://protobuf.dev/reference/cpp/cpp-generated/#message +//option optimize_for = CODE_SIZE; + +package Odb.Lib.Protobuf; + +enum BoardSide +{ + Top = 0; + Bottom = 1; +}; + +enum LineShape +{ + Square = 0; + Round = 1; +}; + +enum Polarity +{ + Positive = 0; + Negative = 1; +}; \ No newline at end of file diff --git a/OdbDesignLib/protoc/matrixfile.proto b/OdbDesignLib/protoc/matrixfile.proto index f5186ca5..bd55f09b 100644 --- a/OdbDesignLib/protoc/matrixfile.proto +++ b/OdbDesignLib/protoc/matrixfile.proto @@ -2,10 +2,75 @@ syntax = "proto3"; package Odb.Lib.Protobuf; +//import "google/color.proto"; +import "enums.proto"; + // // MatrixFile.h // message MatrixFile { + message StepRecord { + + uint32 column = 1; + uint32 id = 2; + string name = 3; + } + + message LayerRecord { + + enum Type { + Signal = 0; + PowerGround = 1; + Dielectric = 2; + Mixed = 3; + SolderMask = 4; + SolderPaste = 5; + SilkScreen = 6; + Drill = 7; + Rout = 8; + Document = 9; + Component = 10; + Mask = 11; + ConductivePaste = 12; + } + + enum Context { + Board = 0; + Misc = 1; + } + + enum DielectricType { + None = 0; + Prepreg = 1; + Core = 2; + } + + enum Form { + Rigid = 0; + Flex = 1; + } + + uint32 row = 1; + Context context = 2; + Type type = 3; + string name = 4; + Polarity polarity = 5; + DielectricType dielectricType = 6; + string dielectricName = 7; + Form form = 8; + uint32 cuTop = 9; + uint32 cuBottom = 10; + uint32 ref = 11; + string startName = 12; + string endName = 13; + string oldName = 14; + string addType = 15; + //google. color = 16; + uint32 id = 17; + } + + repeated StepRecord steps = 1; + repeated LayerRecord layers = 2; } \ No newline at end of file diff --git a/OdbDesignLib/protoc/miscinfofile.proto b/OdbDesignLib/protoc/miscinfofile.proto index 0147f308..01e7beb5 100644 --- a/OdbDesignLib/protoc/miscinfofile.proto +++ b/OdbDesignLib/protoc/miscinfofile.proto @@ -2,11 +2,25 @@ syntax = "proto3"; package Odb.Lib.Protobuf; +import "google/protobuf/timestamp.proto"; + // // MiscInfoFile.h // message MiscInfoFile { + optional string productModelName = 1; + optional string jobName = 2; + optional string odbVersionMajor = 3; + optional string odbVersionMinor = 4; + optional string odbSource = 5; + optional google.protobuf.Timestamp creationDateDate = 6; + optional google.protobuf.Timestamp saveDate = 7; + optional string saveApp = 8; + optional string saveUser = 9; + optional string units = 10; + optional uint32 maxUniqueId = 11; + } From b2161f58fb0a3623db5849c6e29d9ee93424b6e4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Nov 2023 07:01:43 +0000 Subject: [PATCH 49/60] Bump docker/build-push-action from 5.0.0 to 5.1.0 Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5.0.0 to 5.1.0. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/0565240e2d4ab88bba5387d719585280857ece09...4a13e500e55cf31b7a5d59a38ab2040ab0f42f56) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/docker-publish.yml | 2 +- .github/workflows/docker-scout-scan.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 42d1b0b6..b436470a 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -83,7 +83,7 @@ jobs: # https://github.com/docker/build-push-action - name: Build and push Docker image id: build-and-push - uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 + uses: docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56 with: context: . push: ${{ github.event_name != 'pull_request' }} diff --git a/.github/workflows/docker-scout-scan.yml b/.github/workflows/docker-scout-scan.yml index 98a934a9..b7b42835 100644 --- a/.github/workflows/docker-scout-scan.yml +++ b/.github/workflows/docker-scout-scan.yml @@ -94,7 +94,7 @@ jobs: # https://github.com/docker/build-push-action - name: Build and push Docker image id: build-and-push - uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 + uses: docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56 with: context: . push: false From 518377c8e1e7cd9f55dae698a3c70a28561f64e2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Nov 2023 17:47:24 +0000 Subject: [PATCH 50/60] Bump actions/github-script from 6.4.1 to 7.0.1 Bumps [actions/github-script](https://github.com/actions/github-script) from 6.4.1 to 7.0.1. - [Release notes](https://github.com/actions/github-script/releases) - [Commits](https://github.com/actions/github-script/compare/d7906e4ad0b1822421a7e6a35d5ca353c962f410...60a0d83039c74a4aee543508d2ffcb1c3799cdea) --- updated-dependencies: - dependency-name: actions/github-script dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/cmake-multi-platform.yml | 4 ++-- .github/workflows/codeql.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index 1fc7d89d..1c0d2ae5 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -84,7 +84,7 @@ jobs: # Export vcpkg Cache Variables - name : Export vcpkg Cache Variables - uses: actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410 # v6.4.1 + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 with: script: | core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); @@ -258,7 +258,7 @@ jobs: # create a release - name: "Create GitHub Release" - uses: "actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410" # v6.4.1 + uses: "actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea" # v7.0.1 with: github-token: "${{ secrets.GITHUB_TOKEN }}" script: | diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index e3009e2d..a2063c83 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -62,7 +62,7 @@ jobs: # Export vcpkg Cache Variables - name : Export vcpkg Cache Variables - uses: actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410 # v6.4.1 + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 with: script: | core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); From ba986039315acbc09d70067316047769d04ea855 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Nov 2023 18:12:46 +0000 Subject: [PATCH 51/60] Bump docker/scout-action from 1.0.9 to 1.1.0 Bumps [docker/scout-action](https://github.com/docker/scout-action) from 1.0.9 to 1.1.0. - [Release notes](https://github.com/docker/scout-action/releases) - [Commits](https://github.com/docker/scout-action/compare/4e9ac4df44fb56797da111fce8185f7fbffd5a09...704685e6e6dc4462258fb11d36d3a14ca7bda1e6) --- updated-dependencies: - dependency-name: docker/scout-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/docker-scout-scan.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-scout-scan.yml b/.github/workflows/docker-scout-scan.yml index b7b42835..19e53d06 100644 --- a/.github/workflows/docker-scout-scan.yml +++ b/.github/workflows/docker-scout-scan.yml @@ -128,7 +128,7 @@ jobs: - name: Analyze for critical and high CVEs id: docker-scout-cves # if: ${{ github.event_name != 'pull_request_target' }} - uses: docker/scout-action@4e9ac4df44fb56797da111fce8185f7fbffd5a09 # v1.0.9 + uses: docker/scout-action@704685e6e6dc4462258fb11d36d3a14ca7bda1e6 # v1.1.0 with: command: cves,recommendations image: ${{ steps.meta.outputs.tags }} @@ -145,7 +145,7 @@ jobs: - name: Docker Scout Compare to Latest id: docker-scout if: ${{ github.event_name == 'pull_request' }} - uses: docker/scout-action@4e9ac4df44fb56797da111fce8185f7fbffd5a09 # v1.0.9 + uses: docker/scout-action@704685e6e6dc4462258fb11d36d3a14ca7bda1e6 # v1.1.0 with: command: compare image: ${{ steps.meta.outputs.tags }} From 9394240aee706d75373c8396943c31ae1c600e9c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Nov 2023 18:35:33 +0000 Subject: [PATCH 52/60] Bump github/codeql-action from 2.22.5 to 2.22.7 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.22.5 to 2.22.7. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/74483a38d39275f33fcff5f35b679b5ca4a26a99...66b90a5db151a8042fa97405c6cf843bbe433f7b) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql.yml | 4 ++-- .github/workflows/docker-scout-scan.yml | 2 +- .github/workflows/scorecard.yml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index a2063c83..f2949008 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -47,7 +47,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@74483a38d39275f33fcff5f35b679b5ca4a26a99 # v2.22.5 + uses: github/codeql-action/init@66b90a5db151a8042fa97405c6cf843bbe433f7b # v2.22.7 with: languages: ${{ matrix.language }} config-file: ${{ github.workspace }}/.github/codeql-config.yml @@ -78,6 +78,6 @@ jobs: run: cmake --build --preset linux-release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@74483a38d39275f33fcff5f35b679b5ca4a26a99 # v2.22.5 + uses: github/codeql-action/analyze@66b90a5db151a8042fa97405c6cf843bbe433f7b # v2.22.7 with: category: "/language:${{matrix.language}}" diff --git a/.github/workflows/docker-scout-scan.yml b/.github/workflows/docker-scout-scan.yml index 19e53d06..197caa8d 100644 --- a/.github/workflows/docker-scout-scan.yml +++ b/.github/workflows/docker-scout-scan.yml @@ -138,7 +138,7 @@ jobs: - name: Upload SARIF result id: upload-sarif - uses: github/codeql-action/upload-sarif@74483a38d39275f33fcff5f35b679b5ca4a26a99 # v2.22.5 + uses: github/codeql-action/upload-sarif@66b90a5db151a8042fa97405c6cf843bbe433f7b # v2.22.7 with: sarif_file: sarif.output.json diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index e6c8fa11..4c378d45 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -69,6 +69,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@74483a38d39275f33fcff5f35b679b5ca4a26a99 # v2.22.5 + uses: github/codeql-action/upload-sarif@66b90a5db151a8042fa97405c6cf843bbe433f7b # v2.22.7 with: sarif_file: results.sarif From 0eb762ce2f2c1b39be98536e65215a1aa718c7cb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Nov 2023 19:13:18 +0000 Subject: [PATCH 53/60] Bump actions/dependency-review-action from 3.1.2 to 3.1.3 Bumps [actions/dependency-review-action](https://github.com/actions/dependency-review-action) from 3.1.2 to 3.1.3. - [Release notes](https://github.com/actions/dependency-review-action/releases) - [Commits](https://github.com/actions/dependency-review-action/compare/fde92acd0840415674c16b39c7d703fc28bc511e...7bbfa034e752445ea40215fff1c3bf9597993d3f) --- updated-dependencies: - dependency-name: actions/dependency-review-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/dependency-review.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index b49125df..9afafa38 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -24,6 +24,6 @@ jobs: - name: 'Checkout Repository' uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: 'Dependency Review' - uses: actions/dependency-review-action@fde92acd0840415674c16b39c7d703fc28bc511e # v3.1.2 + uses: actions/dependency-review-action@7bbfa034e752445ea40215fff1c3bf9597993d3f # v3.1.3 with: comment-summary-in-pr: true From d9d2859e8819c3b013415c3014fe8f1e4d8b55b3 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Mon, 20 Nov 2023 11:25:11 -0800 Subject: [PATCH 54/60] open and close file stream on each log file write --- Utils/Logger.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Utils/Logger.cpp b/Utils/Logger.cpp index ad542ac6..deef7e8e 100644 --- a/Utils/Logger.cpp +++ b/Utils/Logger.cpp @@ -13,7 +13,7 @@ namespace Utils : m_level(Level::Info) , m_logFilename(DEFAULT_LOG_FILENAME) , m_outputTypes(OutputTypes::StdOut | OutputTypes::File) - , m_logFileStream(m_logFilename, std::ios::out | std::ios::app) + //, m_logFileStream(m_logFilename, std::ios::out | std::ios::app) , m_logMessageLoop([&](Message& message) { return this->logMessage(message); @@ -173,9 +173,17 @@ namespace Utils if (m_outputTypes & OutputTypes::StdOut) std::cout << message << std::flush; if (m_outputTypes & OutputTypes::StdErr) std::cerr << message << std::flush; - if (m_outputTypes & OutputTypes::File) m_logFileStream << message << std::flush; - // TODO: open log file and close on each write? - + if (m_outputTypes & OutputTypes::File) + { + m_logFileStream.open(m_logFilename, std::ios::out | std::ios::app); + if (m_logFileStream) + { + m_logFileStream << message << std::flush; + m_logFileStream.flush(); + m_logFileStream.close(); + } + } + return true; } From 98cbd624a183fe3b958a283b966e751f8801817a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 21 Nov 2023 06:32:17 +0000 Subject: [PATCH 55/60] Bump debian from bookworm-20231030 to bookworm-20231120 Bumps debian from bookworm-20231030 to bookworm-20231120. --- updated-dependencies: - dependency-name: debian dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- Dockerfile | 4 ++-- Dockerfile (exe) | 4 ++-- Dockerfile_PyOdbDesignServer | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index eabe9300..18557697 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM debian:bookworm-20231030@sha256:fab22df37377621693c68650b06680c0d8f7c6bf816ec92637944778db3ca2c0 AS build +FROM debian:bookworm-20231120@sha256:3c189c284a658a219f3c64ef22ccaa6e3cc8f0651e38a17493fd7811f7f08e6a AS build ARG OWNER=nam20485 ARG GITHUB_TOKEN="PASSWORD" @@ -66,7 +66,7 @@ RUN cmake --build --preset linux-release # RUN cmake --build --preset linux-debug # much smaller runtime image -FROM debian:bookworm-20231030-slim@sha256:6cc67f78e0e8295b4fbe055eba0356648f149daf15db9179aa51fcfa9cc131cd AS run +FROM debian:bookworm-20231120-slim@sha256:fd4dbda7be62868c4593287059518dd6eb6afb4e13c927785a4b0d8074277241 AS run LABEL org.opencontainers.image.source=https://github.com/nam20485/OdbDesign LABEL org.opencontainers.image.authors=https://github.com/nam20485 LABEL org.opencontainers.image.description="The OdbDesign Docker image runs the OdbDesignServer REST API server executable, listening on port 8888." diff --git a/Dockerfile (exe) b/Dockerfile (exe) index 43c4b9ce..83253d5e 100644 --- a/Dockerfile (exe) +++ b/Dockerfile (exe) @@ -1,4 +1,4 @@ -FROM debian:bookworm-20231030-slim@sha256:6cc67f78e0e8295b4fbe055eba0356648f149daf15db9179aa51fcfa9cc131cd AS build +FROM debian:bookworm-20231120-slim@sha256:fd4dbda7be62868c4593287059518dd6eb6afb4e13c927785a4b0d8074277241 AS build # install dependencies RUN apt-get update && \ @@ -52,7 +52,7 @@ RUN cp /src/OdbDesign/out/build/linux-release/OdbDesignLib/libOdbDesign.so ./_Py #RUN python3 -m build # much smaller runtime image -FROM debian:bookworm-20231030-slim@sha256:6cc67f78e0e8295b4fbe055eba0356648f149daf15db9179aa51fcfa9cc131cd AS run +FROM debian:bookworm-20231120-slim@sha256:fd4dbda7be62868c4593287059518dd6eb6afb4e13c927785a4b0d8074277241 AS run RUN mkdir /OdbDesign WORKDIR /OdbDesign diff --git a/Dockerfile_PyOdbDesignServer b/Dockerfile_PyOdbDesignServer index f4e4bbbf..971171ff 100644 --- a/Dockerfile_PyOdbDesignServer +++ b/Dockerfile_PyOdbDesignServer @@ -1,4 +1,4 @@ -FROM debian:bookworm-20231030-slim@sha256:6cc67f78e0e8295b4fbe055eba0356648f149daf15db9179aa51fcfa9cc131cd AS build +FROM debian:bookworm-20231120-slim@sha256:fd4dbda7be62868c4593287059518dd6eb6afb4e13c927785a4b0d8074277241 AS build # install dependencies RUN apt-get update && \ @@ -44,7 +44,7 @@ RUN cmake --build --preset python-linux-release # much smaller runtime image #FROM python:3.11.4-bullseye AS run -FROM debian:bookworm-20231030-slim@sha256:6cc67f78e0e8295b4fbe055eba0356648f149daf15db9179aa51fcfa9cc131cd as run +FROM debian:bookworm-20231120-slim@sha256:fd4dbda7be62868c4593287059518dd6eb6afb4e13c927785a4b0d8074277241 as run # copy PyOdbDesignServer files COPY --from=build /src/OdbDesign/PyOdbDesignServer PyOdbDesignServer From 19ca7a149d82890e64c132fe2a7d9ae339676d1e Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Wed, 22 Nov 2023 12:34:47 -0800 Subject: [PATCH 56/60] add BoardSide::Neither --- OdbDesignLib/enums.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OdbDesignLib/enums.h b/OdbDesignLib/enums.h index 0f09453b..47a50353 100644 --- a/OdbDesignLib/enums.h +++ b/OdbDesignLib/enums.h @@ -5,7 +5,8 @@ namespace Odb::Lib enum class BoardSide { Top, - Bottom + Bottom, + Neither }; enum class LineShape From 63e6f75f7ca93ee3c0744bb6f52da52dc17c23eb Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Wed, 22 Nov 2023 12:39:02 -0800 Subject: [PATCH 57/60] convert ComponentLayerDirectory into ComponentsFile --- OdbDesignLib/CMakeLists.txt | 2 +- ...tLayerDirectory.cpp => ComponentsFile.cpp} | 65 +++++++++++++------ ...onentLayerDirectory.h => ComponentsFile.h} | 24 +++++-- .../FileModel/Design/LayerDirectory.cpp | 29 ++++++++- .../FileModel/Design/LayerDirectory.h | 14 ++-- .../FileModel/Design/StepDirectory.cpp | 30 ++------- OdbDesignLib/FileModel/Design/StepDirectory.h | 6 +- OdbDesignLib/ProductModel/Design.cpp | 51 +++++++-------- OdbDesignLib/ProductModel/Design.h | 6 +- 9 files changed, 139 insertions(+), 88 deletions(-) rename OdbDesignLib/FileModel/Design/{ComponentLayerDirectory.cpp => ComponentsFile.cpp} (86%) rename OdbDesignLib/FileModel/Design/{ComponentLayerDirectory.h => ComponentsFile.h} (85%) diff --git a/OdbDesignLib/CMakeLists.txt b/OdbDesignLib/CMakeLists.txt index 45242b87..d4f5cde7 100644 --- a/OdbDesignLib/CMakeLists.txt +++ b/OdbDesignLib/CMakeLists.txt @@ -2,7 +2,7 @@ # add_library(OdbDesign SHARED - "odbdesign_export.h" "FileModel/Design/ComponentLayerDirectory.cpp" "FileModel/Design/ComponentLayerDirectory.h" "FileModel/Design/EdaDataFile.cpp" "FileModel/Design/EdaDataFile.h" "FileModel/Design/LayerDirectory.cpp" "FileModel/Design/LayerDirectory.h" "FileModel/Design/NetlistFile.cpp" "FileModel/Design/NetlistFile.h" "FileModel/Design/FileArchive.cpp" "FileModel/Design/FileArchive.h" "FileModel/Design/StepDirectory.cpp" "FileModel/Design/StepDirectory.h" "ProductModel/Net.h" "ProductModel/Net.cpp" "ProductModel/Component.h" "ProductModel/Component.cpp" "ProductModel/Pin.h" "ProductModel/Pin.cpp" "ProductModel/PinConnection.h" "ProductModel/PinConnection.cpp" "ProductModel/Package.h" "ProductModel/Package.cpp" "ProductModel/Part.h" "ProductModel/Part.cpp" "ProductModel/Via.h" "ProductModel/Via.cpp" "ProductModel/Design.h" "ProductModel/Design.cpp" "OdbDesign.h" "App/DesignCache.h" "App/DesignCache.cpp" "win.h" "IProtoBuffable.h" "crow_win.h" "FileModel/OdbFile.h" "FileModel/OdbFile.cpp" "FileModel/OdbFileRecord.h" "FileModel/OdbFileRecord.cpp" "App/IOdbApp.h" "App/IOdbApp.cpp" "App/OdbAppBase.h" "App/OdbAppBase.cpp" "App/RouteController.h" "App/RouteController.cpp" "App/IOdbServerApp.h" "App/OdbServerAppBase.h" "App/OdbServerAppBase.cpp" "App/IOdbServerApp.cpp" + "odbdesign_export.h" "FileModel/Design/ComponentsFile.cpp" "FileModel/Design/ComponentsFile.h" "FileModel/Design/EdaDataFile.cpp" "FileModel/Design/EdaDataFile.h" "FileModel/Design/LayerDirectory.cpp" "FileModel/Design/LayerDirectory.h" "FileModel/Design/NetlistFile.cpp" "FileModel/Design/NetlistFile.h" "FileModel/Design/FileArchive.cpp" "FileModel/Design/FileArchive.h" "FileModel/Design/StepDirectory.cpp" "FileModel/Design/StepDirectory.h" "ProductModel/Net.h" "ProductModel/Net.cpp" "ProductModel/Component.h" "ProductModel/Component.cpp" "ProductModel/Pin.h" "ProductModel/Pin.cpp" "ProductModel/PinConnection.h" "ProductModel/PinConnection.cpp" "ProductModel/Package.h" "ProductModel/Package.cpp" "ProductModel/Part.h" "ProductModel/Part.cpp" "ProductModel/Via.h" "ProductModel/Via.cpp" "ProductModel/Design.h" "ProductModel/Design.cpp" "OdbDesign.h" "App/DesignCache.h" "App/DesignCache.cpp" "win.h" "IProtoBuffable.h" "crow_win.h" "FileModel/OdbFile.h" "FileModel/OdbFile.cpp" "FileModel/OdbFileRecord.h" "FileModel/OdbFileRecord.cpp" "App/IOdbApp.h" "App/IOdbApp.cpp" "App/OdbAppBase.h" "App/OdbAppBase.cpp" "App/RouteController.h" "App/RouteController.cpp" "App/IOdbServerApp.h" "App/OdbServerAppBase.h" "App/OdbServerAppBase.cpp" "App/IOdbServerApp.cpp" FileModel/Design/MatrixFile.cpp FileModel/Design/MatrixFile.h FileModel/Design/MiscInfoFile.cpp diff --git a/OdbDesignLib/FileModel/Design/ComponentLayerDirectory.cpp b/OdbDesignLib/FileModel/Design/ComponentsFile.cpp similarity index 86% rename from OdbDesignLib/FileModel/Design/ComponentLayerDirectory.cpp rename to OdbDesignLib/FileModel/Design/ComponentsFile.cpp index c08ba025..3f3c57ef 100644 --- a/OdbDesignLib/FileModel/Design/ComponentLayerDirectory.cpp +++ b/OdbDesignLib/FileModel/Design/ComponentsFile.cpp @@ -1,4 +1,4 @@ -#include "ComponentLayerDirectory.h" +#include "ComponentsFile.h" #include #include #include @@ -15,13 +15,13 @@ using namespace std::filesystem; namespace Odb::Lib::FileModel::Design { - ComponentLayerDirectory::ComponentLayerDirectory(std::filesystem::path path, BoardSide side) - : LayerDirectory(path), m_id(0) - , m_side(side) + ComponentsFile::ComponentsFile() + : m_id(-1) + , m_side(BoardSide::Neither) { } - ComponentLayerDirectory::~ComponentLayerDirectory() + ComponentsFile::~ComponentsFile() { m_attributeNames.clear(); m_attributeTextValues.clear(); @@ -29,43 +29,53 @@ namespace Odb::Lib::FileModel::Design m_componentRecordsByName.clear(); } - std::string ComponentLayerDirectory::GetUnits() const + std::string ComponentsFile::GetUnits() const { return m_units; } - BoardSide ComponentLayerDirectory::GetSide() const + BoardSide ComponentsFile::GetSide() const { return m_side; } - const ComponentLayerDirectory::ComponentRecord::Vector& ComponentLayerDirectory::GetComponentRecords() const + std::filesystem::path ComponentsFile::GetPath() + { + return m_path; + } + + std::filesystem::path ComponentsFile::GetDirectory() + { + return m_directory; + } + + const ComponentsFile::ComponentRecord::Vector& ComponentsFile::GetComponentRecords() const { return m_componentRecords; } - const ComponentLayerDirectory::ComponentRecord::StringMap& ComponentLayerDirectory::GetComponentRecordsByName() const + const ComponentsFile::ComponentRecord::StringMap& ComponentsFile::GetComponentRecordsByName() const { return m_componentRecordsByName; } - const std::vector& ComponentLayerDirectory::GetAttributeNames() const + const std::vector& ComponentsFile::GetAttributeNames() const { return m_attributeNames; } - const std::vector& ComponentLayerDirectory::GetAttributeTextValues() const + const std::vector& ComponentsFile::GetAttributeTextValues() const { return m_attributeTextValues; } - ComponentLayerDirectory::ComponentRecord::~ComponentRecord() + ComponentsFile::ComponentRecord::~ComponentRecord() { m_toeprintRecords.clear(); m_propertyRecords.clear(); } - bool ComponentLayerDirectory::Parse() + bool ComponentsFile::Parse(std::filesystem::path directory) { std::ifstream componentsFile; int lineNumber = 0; @@ -73,7 +83,22 @@ namespace Odb::Lib::FileModel::Design try { - if (!LayerDirectory::Parse()) return false; + m_directory = directory; + + auto layerName = m_directory.filename().string(); + if (layerName == TOP_COMPONENTS_LAYER_NAME || + layerName == BOTTOM_COMPONENTS_LAYER_NAME) + { + m_side = layerName == TOP_COMPONENTS_LAYER_NAME ? + BoardSide::Top : + BoardSide::Bottom; + } + + if (m_side == BoardSide::Neither) + { + // not a components layer + return true; + } loginfo("checking for extraction..."); @@ -82,28 +107,30 @@ namespace Odb::Lib::FileModel::Design { loginfo("trying components file: [" + componentsFilename + "]..."); - componentsFilePath = Utils::ArchiveExtractor::getUncompressedFilePath(m_path, componentsFilename); + componentsFilePath = Utils::ArchiveExtractor::getUncompressedFilePath(m_directory, componentsFilename); if (exists(componentsFilePath) && is_regular_file(componentsFilePath)) { loginfo("found components file: [" + componentsFilePath.string() + "]"); break; } - } + } + + m_path = componentsFilePath; loginfo("any extraction complete, parsing data..."); - if (!std::filesystem::exists(componentsFilePath)) + if (!std::filesystem::exists(m_path)) { auto message = "components file does not exist: [" + m_path.string() + "]"; throw invalid_odb_error(message.c_str()); } - else if (!std::filesystem::is_regular_file(componentsFilePath)) + else if (!std::filesystem::is_regular_file(m_path)) { auto message = "components is not a file: [" + m_path.string() + "]"; throw invalid_odb_error(message.c_str()); } - componentsFile.open(componentsFilePath.string(), std::ios::in); + componentsFile.open(m_path.string(), std::ios::in); if (!componentsFile.is_open()) { auto message = "unable to open components file: [" + m_path.string() + "]"; diff --git a/OdbDesignLib/FileModel/Design/ComponentLayerDirectory.h b/OdbDesignLib/FileModel/Design/ComponentsFile.h similarity index 85% rename from OdbDesignLib/FileModel/Design/ComponentLayerDirectory.h rename to OdbDesignLib/FileModel/Design/ComponentsFile.h index ae5d1a71..793b3b1a 100644 --- a/OdbDesignLib/FileModel/Design/ComponentLayerDirectory.h +++ b/OdbDesignLib/FileModel/Design/ComponentsFile.h @@ -1,23 +1,27 @@ #pragma once -#include "LayerDirectory.h" -#include #include +#include +#include +#include +#include "../../odbdesign_export.h" #include "../../enums.h" namespace Odb::Lib::FileModel::Design { - class ODBDESIGN_EXPORT ComponentLayerDirectory : public LayerDirectory + class ODBDESIGN_EXPORT ComponentsFile { public: - ComponentLayerDirectory(std::filesystem::path path, BoardSide side); - ~ComponentLayerDirectory(); + ComponentsFile(); + ~ComponentsFile(); - bool Parse() override; + bool Parse(std::filesystem::path directory); std::string GetUnits() const; BoardSide GetSide() const; + std::filesystem::path GetPath(); + std::filesystem::path GetDirectory(); struct ComponentRecord { @@ -87,10 +91,16 @@ namespace Odb::Lib::FileModel::Design const std::vector& GetAttributeNames() const; const std::vector& GetAttributeTextValues() const; + inline static const std::string TOP_COMPONENTS_LAYER_NAME = "comp_+_top"; + inline static const std::string BOTTOM_COMPONENTS_LAYER_NAME = "comp_+_bot"; + private: std::string m_units; unsigned int m_id; BoardSide m_side; + std::string m_name; + std::filesystem::path m_path; + std::filesystem::path m_directory; std::vector m_attributeNames; std::vector m_attributeTextValues; @@ -122,6 +132,6 @@ namespace Odb::Lib::FileModel::Design inline static const char* BOM_DESCR_RECORD_TOKEN_VPL_VND = "VPL_VND"; inline static const char* BOM_DESCR_RECORD_TOKEN_VPL_MPN = "VPL_MPN"; inline static const char* BOM_DESCR_RECORD_TOKEN_VND = "VND"; - inline static const char* BOM_DESCR_RECORD_TOKEN_MPN = "MPN"; + inline static const char* BOM_DESCR_RECORD_TOKEN_MPN = "MPN"; }; } \ No newline at end of file diff --git a/OdbDesignLib/FileModel/Design/LayerDirectory.cpp b/OdbDesignLib/FileModel/Design/LayerDirectory.cpp index 01ad488e..dad0dc43 100644 --- a/OdbDesignLib/FileModel/Design/LayerDirectory.cpp +++ b/OdbDesignLib/FileModel/Design/LayerDirectory.cpp @@ -1,4 +1,7 @@ #include "LayerDirectory.h" +#include "LayerDirectory.h" +#include "LayerDirectory.h" +#include "LayerDirectory.h" #include "Logger.h" namespace Odb::Lib::FileModel::Design @@ -24,10 +27,32 @@ namespace Odb::Lib::FileModel::Design bool LayerDirectory::Parse() { - m_name = m_path.filename().string(); + if (!std::filesystem::exists(m_path)) return false; + else if (!std::filesystem::is_directory(m_path)) return false; + + m_name = std::filesystem::path(m_path).filename().string(); + + loginfo("Parsing layer directory: " + m_name + "..."); + + if (!ParseComponentsFile(m_path)) return false; + if (!ParseFeaturesFile(m_path)) return false; + + loginfo("Parsing layer directory: " + m_name + " complete"); + + return true; + } - loginfo("Parsing layer: " + m_name + "..."); + bool Odb::Lib::FileModel::Design::LayerDirectory::ParseComponentsFile(std::filesystem::path directory) + { + return m_componentsFile.Parse(directory); + } + bool Odb::Lib::FileModel::Design::LayerDirectory::ParseFeaturesFile(std::filesystem::path directory) + { return true; } + const ComponentsFile& Odb::Lib::FileModel::Design::LayerDirectory::GetComponentsFile() const + { + return m_componentsFile; + } } \ No newline at end of file diff --git a/OdbDesignLib/FileModel/Design/LayerDirectory.h b/OdbDesignLib/FileModel/Design/LayerDirectory.h index 835c5969..24e97a4e 100644 --- a/OdbDesignLib/FileModel/Design/LayerDirectory.h +++ b/OdbDesignLib/FileModel/Design/LayerDirectory.h @@ -5,6 +5,7 @@ #include #include #include "../../odbdesign_export.h" +#include "ComponentsFile.h" namespace Odb::Lib::FileModel::Design @@ -13,21 +14,26 @@ namespace Odb::Lib::FileModel::Design { public: LayerDirectory(std::filesystem::path path); - virtual ~LayerDirectory(); - - inline static const std::string TOP_COMPONENTS_LAYER_NAME = "comp_+_top"; - inline static const std::string BOTTOM_COMPONENTS_LAYER_NAME = "comp_+_bot"; + virtual ~LayerDirectory(); std::string GetName() const; std::filesystem::path GetPath() const; virtual bool Parse(); + bool ParseComponentsFile(std::filesystem::path directory); + bool ParseFeaturesFile(std::filesystem::path directory); + + const ComponentsFile& GetComponentsFile() const; + typedef std::map> StringMap; protected: // TODO: do subclasses really need access to these (private instead)? std::string m_name; std::filesystem::path m_path; + private: + ComponentsFile m_componentsFile; + }; } \ No newline at end of file diff --git a/OdbDesignLib/FileModel/Design/StepDirectory.cpp b/OdbDesignLib/FileModel/Design/StepDirectory.cpp index 958e995f..789dad15 100644 --- a/OdbDesignLib/FileModel/Design/StepDirectory.cpp +++ b/OdbDesignLib/FileModel/Design/StepDirectory.cpp @@ -3,7 +3,6 @@ #include "StepDirectory.h" #include #include "LayerDirectory.h" -#include "ComponentLayerDirectory.h" #include #include #include "Logger.h" @@ -69,22 +68,7 @@ namespace Odb::Lib::FileModel::Design { if (std::filesystem::is_directory(d)) { - std::shared_ptr pLayer; - - auto layerName = d.path().filename().string(); - if (layerName == LayerDirectory::TOP_COMPONENTS_LAYER_NAME || - layerName == LayerDirectory::BOTTOM_COMPONENTS_LAYER_NAME) - { - auto boardSide = layerName == LayerDirectory::TOP_COMPONENTS_LAYER_NAME ? - BoardSide::Top : - BoardSide::Bottom; - pLayer = std::make_shared(d.path(), boardSide); - } - else - { - pLayer = std::make_shared(d.path()); - } - + auto pLayer = std::make_shared(d.path()); if (pLayer->Parse()) { loginfo("Parsing layer: " + pLayer->GetName() + " complete"); @@ -182,12 +166,12 @@ namespace Odb::Lib::FileModel::Design return true; } - std::shared_ptr StepDirectory::GetTopComponentLayerDir() const + const ComponentsFile* StepDirectory::GetTopComponentsFile() const { - auto findIt = m_layersByName.find(LayerDirectory::TOP_COMPONENTS_LAYER_NAME); + auto findIt = m_layersByName.find(ComponentsFile::TOP_COMPONENTS_LAYER_NAME); if (findIt != m_layersByName.end()) { - return std::dynamic_pointer_cast(findIt->second); + return &(findIt->second->GetComponentsFile()); } else { @@ -195,12 +179,12 @@ namespace Odb::Lib::FileModel::Design } } - std::shared_ptr StepDirectory::GetBottomComponentLayerDir() const + const ComponentsFile* StepDirectory::GetBottomComponentsFile() const { - auto findIt = m_layersByName.find(LayerDirectory::BOTTOM_COMPONENTS_LAYER_NAME); + auto findIt = m_layersByName.find(ComponentsFile::BOTTOM_COMPONENTS_LAYER_NAME); if (findIt != m_layersByName.end()) { - return std::dynamic_pointer_cast(findIt->second); + return &(findIt->second->GetComponentsFile()); } else { diff --git a/OdbDesignLib/FileModel/Design/StepDirectory.h b/OdbDesignLib/FileModel/Design/StepDirectory.h index e3e3002c..ca30ed5f 100644 --- a/OdbDesignLib/FileModel/Design/StepDirectory.h +++ b/OdbDesignLib/FileModel/Design/StepDirectory.h @@ -7,12 +7,12 @@ #include "../../odbdesign_export.h" #include "../../win.h" -#include "ComponentLayerDirectory.h" #include "LayerDirectory.h" #include "EdaDataFile.h" #include "NetlistFile.h" #include "../../IProtoBuffable.h" #include "../../ProtoBuf/stepdirectory.pb.h" +#include "ComponentsFile.h" namespace Odb::Lib::FileModel::Design @@ -30,8 +30,8 @@ namespace Odb::Lib::FileModel::Design const LayerDirectory::StringMap& GetLayersByName() const; const NetlistFile::StringMap& GetNetlistsByName() const; - std::shared_ptr GetTopComponentLayerDir() const; - std::shared_ptr GetBottomComponentLayerDir() const; + const ComponentsFile* GetTopComponentsFile() const; + const ComponentsFile* GetBottomComponentsFile() const; bool Parse(); diff --git a/OdbDesignLib/ProductModel/Design.cpp b/OdbDesignLib/ProductModel/Design.cpp index 193b2955..250cf106 100644 --- a/OdbDesignLib/ProductModel/Design.cpp +++ b/OdbDesignLib/ProductModel/Design.cpp @@ -50,26 +50,26 @@ namespace Odb::Lib::ProductModel auto& pStepDirectory = steps.begin()->second; // top components layer - auto pTopComponentsLayerDir = pStepDirectory->GetTopComponentLayerDir(); - if (pTopComponentsLayerDir == nullptr) return false; - if (! BuildLayerComponents(pTopComponentsLayerDir)) return false; + auto pTopComponentsFile = pStepDirectory->GetTopComponentsFile(); + if (pTopComponentsFile == nullptr) return false; + if (! BuildLayerComponents(pTopComponentsFile)) return false; // bottom layer components - auto pBottomComponentsLayerDir = pStepDirectory->GetBottomComponentLayerDir(); - if (pBottomComponentsLayerDir == nullptr) return false; - if (!BuildLayerComponents(pBottomComponentsLayerDir)) return false; + auto pBottomComponentsFile = pStepDirectory->GetBottomComponentsFile(); + if (pBottomComponentsFile == nullptr) return false; + if (!BuildLayerComponents(pBottomComponentsFile)) return false; return true; } - bool Design::BuildLayerComponents(std::shared_ptr& pComponentsLayerDir) + bool Design::BuildLayerComponents(const Odb::Lib::FileModel::Design::ComponentsFile* pComponentsFile) { - const auto& componentRecords = pComponentsLayerDir->GetComponentRecords(); + const auto& componentRecords = pComponentsFile->GetComponentRecords(); for (const auto& pComponentRecord : componentRecords) { auto& pPackage = m_packages[pComponentRecord->pkgRef]; auto index = pComponentRecord->index; - auto pComponent = std::make_shared(pComponentRecord->compName, pComponentRecord->partName, pPackage, index, pComponentsLayerDir->GetSide()); + auto pComponent = std::make_shared(pComponentRecord->compName, pComponentRecord->partName, pPackage, index, pComponentsFile->GetSide()); m_components.push_back(pComponent); m_componentsByName[pComponent->GetRefDes()] = pComponent; @@ -137,20 +137,20 @@ namespace Odb::Lib::ProductModel auto& pStepDirectory = steps.begin()->second; - auto pTopComponentsLayerDir = pStepDirectory->GetTopComponentLayerDir(); - if (pTopComponentsLayerDir == nullptr) return false; - if (! BuildLayerParts(pTopComponentsLayerDir)) return false; + auto pTopComponentsFile = pStepDirectory->GetTopComponentsFile(); + if (pTopComponentsFile == nullptr) return false; + if (! BuildLayerParts(pTopComponentsFile)) return false; - auto pBottomComponentsLayerDir = pStepDirectory->GetBottomComponentLayerDir(); - if (pBottomComponentsLayerDir == nullptr) return false; - if (!BuildLayerParts(pBottomComponentsLayerDir)) return false; + auto pBottomComponentsFile = pStepDirectory->GetBottomComponentsFile(); + if (pBottomComponentsFile == nullptr) return false; + if (!BuildLayerParts(pBottomComponentsFile)) return false; return true; } - bool Design::BuildLayerParts(std::shared_ptr& pComponentsLayerDir) + bool Design::BuildLayerParts(const Odb::Lib::FileModel::Design::ComponentsFile* pComponentsFile) { - const auto& componentRecords = pComponentsLayerDir->GetComponentRecords(); + const auto& componentRecords = pComponentsFile->GetComponentRecords(); for (const auto& pComponentRecord : componentRecords) { auto& partName = pComponentRecord->partName; @@ -174,20 +174,20 @@ namespace Odb::Lib::ProductModel auto& pStepDirectory = steps.begin()->second; - auto pTopComponentsLayerDir = pStepDirectory->GetTopComponentLayerDir(); - if (pTopComponentsLayerDir == nullptr) return false; - if (! BuildLayerPlacements(pTopComponentsLayerDir)) return false; + auto pTopComponentsFile = pStepDirectory->GetTopComponentsFile(); + if (pTopComponentsFile == nullptr) return false; + if (! BuildLayerPlacements(pTopComponentsFile)) return false; - auto pBottomComponentsLayerDir = pStepDirectory->GetBottomComponentLayerDir(); - if (pBottomComponentsLayerDir == nullptr) return false; - if (!BuildLayerPlacements(pBottomComponentsLayerDir)) return false; + auto pBottomComponentsFile = pStepDirectory->GetBottomComponentsFile(); + if (pBottomComponentsFile == nullptr) return false; + if (!BuildLayerPlacements(pBottomComponentsFile)) return false; return true; } - bool Design::BuildLayerPlacements(std::shared_ptr& pComponentsLayerDir) + bool Design::BuildLayerPlacements(const Odb::Lib::FileModel::Design::ComponentsFile* pComponentsFile) { - const auto& componentRecords = pComponentsLayerDir->GetComponentRecords(); + const auto& componentRecords = pComponentsFile->GetComponentRecords(); for (const auto& pComponentRecord : componentRecords) { const auto& toeprintRecords = pComponentRecord->m_toeprintRecords; @@ -206,7 +206,6 @@ namespace Odb::Lib::ProductModel auto pPin = pComponent->GetPackage()->GetPin(pinNumber); if (pPin == nullptr) return false; - auto& pNet = m_nets[netNumber]; if (pNet == nullptr) return false; diff --git a/OdbDesignLib/ProductModel/Design.h b/OdbDesignLib/ProductModel/Design.h index 1dc6d8ea..91be6739 100644 --- a/OdbDesignLib/ProductModel/Design.h +++ b/OdbDesignLib/ProductModel/Design.h @@ -48,10 +48,10 @@ namespace Odb::Lib::ProductModel bool BuildPackages(); bool BuildParts(); bool BuildComponents(); - bool BuildLayerComponents(std::shared_ptr& pComponentsLayerDir); - bool BuildLayerParts(std::shared_ptr& pComponentsLayerDir); + bool BuildLayerComponents(const Odb::Lib::FileModel::Design::ComponentsFile* pComponentsFile); + bool BuildLayerParts(const Odb::Lib::FileModel::Design::ComponentsFile* pComponentsFile); bool BuildPlacements(); - bool BuildLayerPlacements(std::shared_ptr& pTopComponentsLayerDir); + bool BuildLayerPlacements(const Odb::Lib::FileModel::Design::ComponentsFile* pComponentsFile); }; } From 70968a5ebd49804de27f1122f0f1b4d5e2c2ff69 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Wed, 22 Nov 2023 17:18:45 -0800 Subject: [PATCH 58/60] create componentsfile.proto and move PropertyRecord out to a common class shared between EdaDatFile and ComponentsFile --- OdbDesignLib/CMakeLists.txt | 2 +- .../FileModel/Design/ComponentsFile.cpp | 8 +- .../FileModel/Design/ComponentsFile.h | 55 +- OdbDesignLib/FileModel/Design/EdaDataFile.cpp | 24 +- OdbDesignLib/FileModel/Design/EdaDataFile.h | 23 +- .../FileModel/Design/PropertyRecord.cpp | 22 + .../FileModel/Design/PropertyRecord.h | 31 + OdbDesignLib/IProtoBuffable.h | 1 + OdbDesignLib/ProtoBuf/common.pb.cc | 420 ++++ OdbDesignLib/ProtoBuf/common.pb.h | 472 ++++ OdbDesignLib/ProtoBuf/componentsfile.pb.cc | 2023 +++++++++++++++ OdbDesignLib/ProtoBuf/componentsfile.pb.h | 2158 +++++++++++++++++ OdbDesignLib/ProtoBuf/edadatafile.pb.cc | 652 ++--- OdbDesignLib/ProtoBuf/edadatafile.pb.h | 650 +---- OdbDesignLib/ProtoBuf/enums.pb.cc | 12 +- OdbDesignLib/ProtoBuf/enums.pb.h | 3 +- OdbDesignLib/protoc/common.proto | 13 + OdbDesignLib/protoc/componentsfile.proto | 63 + OdbDesignLib/protoc/edadatafile.proto | 15 +- OdbDesignLib/protoc/enums.proto | 1 + 20 files changed, 5488 insertions(+), 1160 deletions(-) create mode 100644 OdbDesignLib/FileModel/Design/PropertyRecord.cpp create mode 100644 OdbDesignLib/FileModel/Design/PropertyRecord.h create mode 100644 OdbDesignLib/ProtoBuf/common.pb.cc create mode 100644 OdbDesignLib/ProtoBuf/common.pb.h create mode 100644 OdbDesignLib/ProtoBuf/componentsfile.pb.cc create mode 100644 OdbDesignLib/ProtoBuf/componentsfile.pb.h create mode 100644 OdbDesignLib/protoc/common.proto create mode 100644 OdbDesignLib/protoc/componentsfile.proto diff --git a/OdbDesignLib/CMakeLists.txt b/OdbDesignLib/CMakeLists.txt index d4f5cde7..3040733f 100644 --- a/OdbDesignLib/CMakeLists.txt +++ b/OdbDesignLib/CMakeLists.txt @@ -22,7 +22,7 @@ add_library(OdbDesign SHARED "ProtoBuf/standardfontsfile.pb.h" "ProtoBuf/standardfontsfile.pb.cc" "ProtoBuf/stepdirectory.pb.h" "ProtoBuf/stepdirectory.pb.cc" "ProtoBuf/enums.pb.h" "ProtoBuf/enums.pb.cc" - "FileModel/parse_error.h" "FileModel/parse_info.h" "FileModel/parse_info.cpp" "FileModel/parse_error.cpp" "FileModel/invalid_odb_error.h" "FileModel/invalid_odb_error.cpp") + "FileModel/parse_error.h" "FileModel/parse_info.h" "FileModel/parse_info.cpp" "FileModel/parse_error.cpp" "FileModel/invalid_odb_error.h" "FileModel/invalid_odb_error.cpp" "ProtoBuf/common.pb.h" "ProtoBuf/common.pb.cc" "ProtoBuf/componentsfile.pb.h" "ProtoBuf/componentsfile.pb.cc" "FileModel/Design/PropertyRecord.h" "FileModel/Design/PropertyRecord.cpp") # disable warning C4250: inheritance by dominance target_compile_options(OdbDesign PUBLIC diff --git a/OdbDesignLib/FileModel/Design/ComponentsFile.cpp b/OdbDesignLib/FileModel/Design/ComponentsFile.cpp index 3f3c57ef..d11a7ae2 100644 --- a/OdbDesignLib/FileModel/Design/ComponentsFile.cpp +++ b/OdbDesignLib/FileModel/Design/ComponentsFile.cpp @@ -16,7 +16,7 @@ using namespace std::filesystem; namespace Odb::Lib::FileModel::Design { ComponentsFile::ComponentsFile() - : m_id(-1) + : m_id((unsigned int)-1) , m_side(BoardSide::Neither) { } @@ -262,7 +262,7 @@ namespace Odb::Lib::FileModel::Design //pCurrentComponentRecord->id = std::stoul(token); } - else if (line.find(ComponentRecord::PropertyRecord::RECORD_TOKEN) == 0) + else if (line.find(PropertyRecord::RECORD_TOKEN) == 0) { // component property record line std::string token; @@ -271,12 +271,12 @@ namespace Odb::Lib::FileModel::Design throw_parse_error(m_path, line, token, lineNumber); } - if (token != ComponentRecord::PropertyRecord::RECORD_TOKEN) + if (token != PropertyRecord::RECORD_TOKEN) { throw_parse_error(m_path, line, token, lineNumber); } - auto pPropertyRecord = std::make_shared(); + auto pPropertyRecord = std::make_shared(); if (!(lineStream >> pPropertyRecord->name)) { diff --git a/OdbDesignLib/FileModel/Design/ComponentsFile.h b/OdbDesignLib/FileModel/Design/ComponentsFile.h index 793b3b1a..f58ba62d 100644 --- a/OdbDesignLib/FileModel/Design/ComponentsFile.h +++ b/OdbDesignLib/FileModel/Design/ComponentsFile.h @@ -6,6 +6,8 @@ #include #include "../../odbdesign_export.h" #include "../../enums.h" +#include "../../IProtoBuffable.h" +#include "PropertyRecord.h" namespace Odb::Lib::FileModel::Design @@ -41,26 +43,11 @@ namespace Odb::Lib::FileModel::Design unsigned int index; // constants - inline static const std::string RECORD_TOKEN = "CMP"; + constexpr inline static const char* RECORD_TOKEN = "CMP"; // typedefs typedef std::map> StringMap; - typedef std::vector> Vector; - - struct PropertyRecord - { - // data members - std::string name; - std::string value; - std::vector floatValues; - - // constants - inline static const std::string RECORD_TOKEN = "PRP"; - - // typedefs - typedef std::map> StringMap; - typedef std::vector> Vector; - }; + typedef std::vector> Vector; struct ToeprintRecord { @@ -75,7 +62,7 @@ namespace Odb::Lib::FileModel::Design std::string name; // pin name // constants - inline static const std::string RECORD_TOKEN = "TOP"; + constexpr inline static const char* RECORD_TOKEN = "TOP"; // typedefs typedef std::map> StringMap; @@ -84,15 +71,15 @@ namespace Odb::Lib::FileModel::Design PropertyRecord::Vector m_propertyRecords; ToeprintRecord::Vector m_toeprintRecords; - }; + }; // ComponentRecord const ComponentRecord::Vector& GetComponentRecords() const; const ComponentRecord::StringMap& GetComponentRecordsByName() const; const std::vector& GetAttributeNames() const; const std::vector& GetAttributeTextValues() const; - inline static const std::string TOP_COMPONENTS_LAYER_NAME = "comp_+_top"; - inline static const std::string BOTTOM_COMPONENTS_LAYER_NAME = "comp_+_bot"; + constexpr inline static const char* TOP_COMPONENTS_LAYER_NAME = "comp_+_top"; + constexpr inline static const char* BOTTOM_COMPONENTS_LAYER_NAME = "comp_+_bot"; private: std::string m_units; @@ -118,20 +105,20 @@ namespace Odb::Lib::FileModel::Design "components3" }; - inline static const char* UNITS_TOKEN = "UNITS"; - inline static const char* ID_TOKEN = "ID"; - inline static const char* ATTRIBUTE_NAME_TOKEN = "@"; - inline static const char* ATTRIBUTE_VALUE_TOKEN = "&"; - inline static const char* COMMENT_TOKEN = "#"; + constexpr inline static const char* UNITS_TOKEN = "UNITS"; + constexpr inline static const char* ID_TOKEN = "ID"; + constexpr inline static const char* ATTRIBUTE_NAME_TOKEN = "@"; + constexpr inline static const char* ATTRIBUTE_VALUE_TOKEN = "&"; + constexpr inline static const char* COMMENT_TOKEN = "#"; // TODO: deal with BOM DATA section lines later - inline static const char* BOM_DESCR_RECORD_TOKEN_CPN = "CPN"; - inline static const char* BOM_DESCR_RECORD_TOKEN_PKG = "PKG"; - inline static const char* BOM_DESCR_RECORD_TOKEN_IPN = "IPN"; - inline static const char* BOM_DESCR_RECORD_TOKEN_DSC = "DSC"; - inline static const char* BOM_DESCR_RECORD_TOKEN_VPL_VND = "VPL_VND"; - inline static const char* BOM_DESCR_RECORD_TOKEN_VPL_MPN = "VPL_MPN"; - inline static const char* BOM_DESCR_RECORD_TOKEN_VND = "VND"; - inline static const char* BOM_DESCR_RECORD_TOKEN_MPN = "MPN"; + constexpr inline static const char* BOM_DESCR_RECORD_TOKEN_CPN = "CPN"; + constexpr inline static const char* BOM_DESCR_RECORD_TOKEN_PKG = "PKG"; + constexpr inline static const char* BOM_DESCR_RECORD_TOKEN_IPN = "IPN"; + constexpr inline static const char* BOM_DESCR_RECORD_TOKEN_DSC = "DSC"; + constexpr inline static const char* BOM_DESCR_RECORD_TOKEN_VPL_VND = "VPL_VND"; + constexpr inline static const char* BOM_DESCR_RECORD_TOKEN_VPL_MPN = "VPL_MPN"; + constexpr inline static const char* BOM_DESCR_RECORD_TOKEN_VND = "VND"; + constexpr inline static const char* BOM_DESCR_RECORD_TOKEN_MPN = "MPN"; }; } \ No newline at end of file diff --git a/OdbDesignLib/FileModel/Design/EdaDataFile.cpp b/OdbDesignLib/FileModel/Design/EdaDataFile.cpp index 4575ba70..72cb5ff5 100644 --- a/OdbDesignLib/FileModel/Design/EdaDataFile.cpp +++ b/OdbDesignLib/FileModel/Design/EdaDataFile.cpp @@ -68,7 +68,7 @@ namespace Odb::Lib::FileModel::Design { pSubnetRecordMessage->set_componentnumber(componentNumber); pSubnetRecordMessage->set_toeprintnumber(toeprintNumber); - pSubnetRecordMessage->set_side((Odb::Lib::Protobuf::EdaDataFile_BoardSide)side); + pSubnetRecordMessage->set_side((Odb::Lib::Protobuf::BoardSide)side); } else if (type == Type::Plane) { @@ -199,7 +199,7 @@ namespace Odb::Lib::FileModel::Design return m_featureGroupRecords; } - const EdaDataFile::PropertyRecord::Vector& EdaDataFile::GetPropertyRecords() const + const PropertyRecord::Vector& EdaDataFile::GetPropertyRecords() const { return m_propertyRecords; } @@ -1421,25 +1421,7 @@ namespace Odb::Lib::FileModel::Design } return true; - } - - // Inherited via IProtoBuffable - std::unique_ptr - EdaDataFile::PropertyRecord::to_protobuf() const - { - std::unique_ptr pPropertyRecordMessage(new Odb::Lib::Protobuf::EdaDataFile::PropertyRecord); - pPropertyRecordMessage->set_name(name); - pPropertyRecordMessage->set_value(value); - for (const auto& f : floatValues) - { - pPropertyRecordMessage->add_floatvalues(f); - } - return pPropertyRecordMessage; - } - - void EdaDataFile::PropertyRecord::from_protobuf(const Odb::Lib::Protobuf::EdaDataFile::PropertyRecord& message) - { - } + } // Inherited via IProtoBuffable std::unique_ptr diff --git a/OdbDesignLib/FileModel/Design/EdaDataFile.h b/OdbDesignLib/FileModel/Design/EdaDataFile.h index 59442cbf..8c6d7467 100644 --- a/OdbDesignLib/FileModel/Design/EdaDataFile.h +++ b/OdbDesignLib/FileModel/Design/EdaDataFile.h @@ -7,8 +7,10 @@ #include "../../odbdesign_export.h" #include "../../enums.h" #include "../../ProtoBuf/edadatafile.pb.h" +#include "../../ProtoBuf/common.pb.h" #include "google/protobuf/message.h" #include "../../IProtoBuffable.h" +#include "PropertyRecord.h" namespace Odb::Lib::FileModel::Design @@ -25,26 +27,7 @@ namespace Odb::Lib::FileModel::Design const std::string& GetSource() const; bool Parse(std::filesystem::path path); - - struct ODBDESIGN_EXPORT PropertyRecord : public IProtoBuffable - { - // data members - std::string name; - std::string value; - std::vector floatValues; - - // constants - inline static const std::string RECORD_TOKEN = "PRP"; - - // typedefs - typedef std::map> StringMap; - typedef std::vector> Vector; - - // Inherited via IProtoBuffable - std::unique_ptr to_protobuf() const override; - void from_protobuf(const Odb::Lib::Protobuf::EdaDataFile::PropertyRecord& message) override; - }; - + struct ODBDESIGN_EXPORT FeatureIdRecord : public IProtoBuffable { enum class Type diff --git a/OdbDesignLib/FileModel/Design/PropertyRecord.cpp b/OdbDesignLib/FileModel/Design/PropertyRecord.cpp new file mode 100644 index 00000000..e586683c --- /dev/null +++ b/OdbDesignLib/FileModel/Design/PropertyRecord.cpp @@ -0,0 +1,22 @@ +#include "PropertyRecord.h" + +namespace Odb::Lib::FileModel::Design +{ + // Inherited via IProtoBuffable + std::unique_ptr + PropertyRecord::to_protobuf() const + { + std::unique_ptr pPropertyRecordMessage(new Odb::Lib::Protobuf::PropertyRecord); + pPropertyRecordMessage->set_name(name); + pPropertyRecordMessage->set_value(value); + for (const auto& f : floatValues) + { + pPropertyRecordMessage->add_floatvalues(f); + } + return pPropertyRecordMessage; + } + + void PropertyRecord::from_protobuf(const Odb::Lib::Protobuf::PropertyRecord& message) + { + } +} \ No newline at end of file diff --git a/OdbDesignLib/FileModel/Design/PropertyRecord.h b/OdbDesignLib/FileModel/Design/PropertyRecord.h new file mode 100644 index 00000000..4ae7b81c --- /dev/null +++ b/OdbDesignLib/FileModel/Design/PropertyRecord.h @@ -0,0 +1,31 @@ +#pragma once + +#include +#include +#include +#include +#include "../../odbdesign_export.h" +#include "../../IProtoBuffable.h" +#include "../../ProtoBuf/common.pb.h" + +namespace Odb::Lib::FileModel::Design +{ + struct ODBDESIGN_EXPORT PropertyRecord : public IProtoBuffable + { + // data members + std::string name; + std::string value; + std::vector floatValues; + + // constants + constexpr inline static const char* RECORD_TOKEN = "PRP"; + + // typedefs + typedef std::map> StringMap; + typedef std::vector> Vector; + + // Inherited via IProtoBuffable + std::unique_ptr to_protobuf() const override; + void from_protobuf(const Odb::Lib::Protobuf::PropertyRecord& message) override; + }; +} diff --git a/OdbDesignLib/IProtoBuffable.h b/OdbDesignLib/IProtoBuffable.h index 18d59769..6a9948b5 100644 --- a/OdbDesignLib/IProtoBuffable.h +++ b/OdbDesignLib/IProtoBuffable.h @@ -2,6 +2,7 @@ #include #include +#include "crow_win.h" #include #include "IJsonable.h" #include "odbdesign_export.h" diff --git a/OdbDesignLib/ProtoBuf/common.pb.cc b/OdbDesignLib/ProtoBuf/common.pb.cc new file mode 100644 index 00000000..d1723770 --- /dev/null +++ b/OdbDesignLib/ProtoBuf/common.pb.cc @@ -0,0 +1,420 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: common.proto + +#include "common.pb.h" + +#include + +#include +#include +#include +#include +#include +#include +#include +// @@protoc_insertion_point(includes) +#include + +PROTOBUF_PRAGMA_INIT_SEG + +namespace _pb = ::PROTOBUF_NAMESPACE_ID; +namespace _pbi = _pb::internal; + +namespace Odb { +namespace Lib { +namespace Protobuf { +PROTOBUF_CONSTEXPR PropertyRecord::PropertyRecord( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_._has_bits_)*/{} + , /*decltype(_impl_._cached_size_)*/{} + , /*decltype(_impl_.floatvalues_)*/{} + , /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.value_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}} {} +struct PropertyRecordDefaultTypeInternal { + PROTOBUF_CONSTEXPR PropertyRecordDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~PropertyRecordDefaultTypeInternal() {} + union { + PropertyRecord _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PropertyRecordDefaultTypeInternal _PropertyRecord_default_instance_; +} // namespace Protobuf +} // namespace Lib +} // namespace Odb +static ::_pb::Metadata file_level_metadata_common_2eproto[1]; +static constexpr ::_pb::EnumDescriptor const** file_level_enum_descriptors_common_2eproto = nullptr; +static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_common_2eproto = nullptr; + +const uint32_t TableStruct_common_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::PropertyRecord, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::PropertyRecord, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::PropertyRecord, _impl_.name_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::PropertyRecord, _impl_.value_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::PropertyRecord, _impl_.floatvalues_), + 0, + 1, + ~0u, +}; +static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + { 0, 9, -1, sizeof(::Odb::Lib::Protobuf::PropertyRecord)}, +}; + +static const ::_pb::Message* const file_default_instances[] = { + &::Odb::Lib::Protobuf::_PropertyRecord_default_instance_._instance, +}; + +const char descriptor_table_protodef_common_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = + "\n\014common.proto\022\020Odb.Lib.Protobuf\"_\n\016Prop" + "ertyRecord\022\021\n\004name\030\001 \001(\tH\000\210\001\001\022\022\n\005value\030\002" + " \001(\tH\001\210\001\001\022\023\n\013floatValues\030\003 \003(\002B\007\n\005_nameB" + "\010\n\006_valueb\006proto3" + ; +static ::_pbi::once_flag descriptor_table_common_2eproto_once; +const ::_pbi::DescriptorTable descriptor_table_common_2eproto = { + false, false, 137, descriptor_table_protodef_common_2eproto, + "common.proto", + &descriptor_table_common_2eproto_once, nullptr, 0, 1, + schemas, file_default_instances, TableStruct_common_2eproto::offsets, + file_level_metadata_common_2eproto, file_level_enum_descriptors_common_2eproto, + file_level_service_descriptors_common_2eproto, +}; +PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_common_2eproto_getter() { + return &descriptor_table_common_2eproto; +} + +// Force running AddDescriptors() at dynamic initialization time. +PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_common_2eproto(&descriptor_table_common_2eproto); +namespace Odb { +namespace Lib { +namespace Protobuf { + +// =================================================================== + +class PropertyRecord::_Internal { + public: + using HasBits = decltype(std::declval()._impl_._has_bits_); + static void set_has_name(HasBits* has_bits) { + (*has_bits)[0] |= 1u; + } + static void set_has_value(HasBits* has_bits) { + (*has_bits)[0] |= 2u; + } +}; + +PropertyRecord::PropertyRecord(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:Odb.Lib.Protobuf.PropertyRecord) +} +PropertyRecord::PropertyRecord(const PropertyRecord& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + PropertyRecord* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_._has_bits_){from._impl_._has_bits_} + , /*decltype(_impl_._cached_size_)*/{} + , decltype(_impl_.floatvalues_){from._impl_.floatvalues_} + , decltype(_impl_.name_){} + , decltype(_impl_.value_){}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.name_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.name_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (from._internal_has_name()) { + _this->_impl_.name_.Set(from._internal_name(), + _this->GetArenaForAllocation()); + } + _impl_.value_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.value_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (from._internal_has_value()) { + _this->_impl_.value_.Set(from._internal_value(), + _this->GetArenaForAllocation()); + } + // @@protoc_insertion_point(copy_constructor:Odb.Lib.Protobuf.PropertyRecord) +} + +inline void PropertyRecord::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_._has_bits_){} + , /*decltype(_impl_._cached_size_)*/{} + , decltype(_impl_.floatvalues_){arena} + , decltype(_impl_.name_){} + , decltype(_impl_.value_){} + }; + _impl_.name_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.name_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.value_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.value_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +PropertyRecord::~PropertyRecord() { + // @@protoc_insertion_point(destructor:Odb.Lib.Protobuf.PropertyRecord) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void PropertyRecord::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.floatvalues_.~RepeatedField(); + _impl_.name_.Destroy(); + _impl_.value_.Destroy(); +} + +void PropertyRecord::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void PropertyRecord::Clear() { +// @@protoc_insertion_point(message_clear_start:Odb.Lib.Protobuf.PropertyRecord) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.floatvalues_.Clear(); + cached_has_bits = _impl_._has_bits_[0]; + if (cached_has_bits & 0x00000003u) { + if (cached_has_bits & 0x00000001u) { + _impl_.name_.ClearNonDefaultToEmpty(); + } + if (cached_has_bits & 0x00000002u) { + _impl_.value_.ClearNonDefaultToEmpty(); + } + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* PropertyRecord::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + _Internal::HasBits has_bits{}; + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // optional string name = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_name(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.PropertyRecord.name")); + } else + goto handle_unusual; + continue; + // optional string value = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + auto str = _internal_mutable_value(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.PropertyRecord.value")); + } else + goto handle_unusual; + continue; + // repeated float floatValues = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedFloatParser(_internal_mutable_floatvalues(), ptr, ctx); + CHK_(ptr); + } else if (static_cast(tag) == 29) { + _internal_add_floatvalues(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr)); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + _impl_._has_bits_.Or(has_bits); + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* PropertyRecord::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:Odb.Lib.Protobuf.PropertyRecord) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // optional string name = 1; + if (_internal_has_name()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_name().data(), static_cast(this->_internal_name().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.PropertyRecord.name"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_name(), target); + } + + // optional string value = 2; + if (_internal_has_value()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_value().data(), static_cast(this->_internal_value().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.PropertyRecord.value"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_value(), target); + } + + // repeated float floatValues = 3; + if (this->_internal_floatvalues_size() > 0) { + target = stream->WriteFixedPacked(3, _internal_floatvalues(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:Odb.Lib.Protobuf.PropertyRecord) + return target; +} + +size_t PropertyRecord::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:Odb.Lib.Protobuf.PropertyRecord) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // repeated float floatValues = 3; + { + unsigned int count = static_cast(this->_internal_floatvalues_size()); + size_t data_size = 4UL * count; + if (data_size > 0) { + total_size += 1 + + ::_pbi::WireFormatLite::Int32Size(static_cast(data_size)); + } + total_size += data_size; + } + + cached_has_bits = _impl_._has_bits_[0]; + if (cached_has_bits & 0x00000003u) { + // optional string name = 1; + if (cached_has_bits & 0x00000001u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_name()); + } + + // optional string value = 2; + if (cached_has_bits & 0x00000002u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_value()); + } + + } + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData PropertyRecord::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + PropertyRecord::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*PropertyRecord::GetClassData() const { return &_class_data_; } + + +void PropertyRecord::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:Odb.Lib.Protobuf.PropertyRecord) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + _this->_impl_.floatvalues_.MergeFrom(from._impl_.floatvalues_); + cached_has_bits = from._impl_._has_bits_[0]; + if (cached_has_bits & 0x00000003u) { + if (cached_has_bits & 0x00000001u) { + _this->_internal_set_name(from._internal_name()); + } + if (cached_has_bits & 0x00000002u) { + _this->_internal_set_value(from._internal_value()); + } + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void PropertyRecord::CopyFrom(const PropertyRecord& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:Odb.Lib.Protobuf.PropertyRecord) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool PropertyRecord::IsInitialized() const { + return true; +} + +void PropertyRecord::InternalSwap(PropertyRecord* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.floatvalues_.InternalSwap(&other->_impl_.floatvalues_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.name_, lhs_arena, + &other->_impl_.name_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.value_, lhs_arena, + &other->_impl_.value_, rhs_arena + ); +} + +::PROTOBUF_NAMESPACE_ID::Metadata PropertyRecord::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_common_2eproto_getter, &descriptor_table_common_2eproto_once, + file_level_metadata_common_2eproto[0]); +} + +// @@protoc_insertion_point(namespace_scope) +} // namespace Protobuf +} // namespace Lib +} // namespace Odb +PROTOBUF_NAMESPACE_OPEN +template<> PROTOBUF_NOINLINE ::Odb::Lib::Protobuf::PropertyRecord* +Arena::CreateMaybeMessage< ::Odb::Lib::Protobuf::PropertyRecord >(Arena* arena) { + return Arena::CreateMessageInternal< ::Odb::Lib::Protobuf::PropertyRecord >(arena); +} +PROTOBUF_NAMESPACE_CLOSE + +// @@protoc_insertion_point(global_scope) +#include diff --git a/OdbDesignLib/ProtoBuf/common.pb.h b/OdbDesignLib/ProtoBuf/common.pb.h new file mode 100644 index 00000000..cab5dab5 --- /dev/null +++ b/OdbDesignLib/ProtoBuf/common.pb.h @@ -0,0 +1,472 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: common.proto + +#ifndef GOOGLE_PROTOBUF_INCLUDED_common_2eproto +#define GOOGLE_PROTOBUF_INCLUDED_common_2eproto + +#include +#include + +#include +#if PROTOBUF_VERSION < 3021000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3021012 < PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include // IWYU pragma: export +#include // IWYU pragma: export +#include +// @@protoc_insertion_point(includes) +#include +#define PROTOBUF_INTERNAL_EXPORT_common_2eproto +PROTOBUF_NAMESPACE_OPEN +namespace internal { +class AnyMetadata; +} // namespace internal +PROTOBUF_NAMESPACE_CLOSE + +// Internal implementation detail -- do not use these members. +struct TableStruct_common_2eproto { + static const uint32_t offsets[]; +}; +extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_common_2eproto; +namespace Odb { +namespace Lib { +namespace Protobuf { +class PropertyRecord; +struct PropertyRecordDefaultTypeInternal; +extern PropertyRecordDefaultTypeInternal _PropertyRecord_default_instance_; +} // namespace Protobuf +} // namespace Lib +} // namespace Odb +PROTOBUF_NAMESPACE_OPEN +template<> ::Odb::Lib::Protobuf::PropertyRecord* Arena::CreateMaybeMessage<::Odb::Lib::Protobuf::PropertyRecord>(Arena*); +PROTOBUF_NAMESPACE_CLOSE +namespace Odb { +namespace Lib { +namespace Protobuf { + +// =================================================================== + +class PropertyRecord final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Odb.Lib.Protobuf.PropertyRecord) */ { + public: + inline PropertyRecord() : PropertyRecord(nullptr) {} + ~PropertyRecord() override; + explicit PROTOBUF_CONSTEXPR PropertyRecord(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + PropertyRecord(const PropertyRecord& from); + PropertyRecord(PropertyRecord&& from) noexcept + : PropertyRecord() { + *this = ::std::move(from); + } + + inline PropertyRecord& operator=(const PropertyRecord& from) { + CopyFrom(from); + return *this; + } + inline PropertyRecord& operator=(PropertyRecord&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const PropertyRecord& default_instance() { + return *internal_default_instance(); + } + static inline const PropertyRecord* internal_default_instance() { + return reinterpret_cast( + &_PropertyRecord_default_instance_); + } + static constexpr int kIndexInFileMessages = + 0; + + friend void swap(PropertyRecord& a, PropertyRecord& b) { + a.Swap(&b); + } + inline void Swap(PropertyRecord* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(PropertyRecord* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + PropertyRecord* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const PropertyRecord& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const PropertyRecord& from) { + PropertyRecord::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(PropertyRecord* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "Odb.Lib.Protobuf.PropertyRecord"; + } + protected: + explicit PropertyRecord(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kFloatValuesFieldNumber = 3, + kNameFieldNumber = 1, + kValueFieldNumber = 2, + }; + // repeated float floatValues = 3; + int floatvalues_size() const; + private: + int _internal_floatvalues_size() const; + public: + void clear_floatvalues(); + private: + float _internal_floatvalues(int index) const; + const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >& + _internal_floatvalues() const; + void _internal_add_floatvalues(float value); + ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >* + _internal_mutable_floatvalues(); + public: + float floatvalues(int index) const; + void set_floatvalues(int index, float value); + void add_floatvalues(float value); + const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >& + floatvalues() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >* + mutable_floatvalues(); + + // optional string name = 1; + bool has_name() const; + private: + bool _internal_has_name() const; + public: + void clear_name(); + const std::string& name() const; + template + void set_name(ArgT0&& arg0, ArgT... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* name); + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); + std::string* _internal_mutable_name(); + public: + + // optional string value = 2; + bool has_value() const; + private: + bool _internal_has_value() const; + public: + void clear_value(); + const std::string& value() const; + template + void set_value(ArgT0&& arg0, ArgT... args); + std::string* mutable_value(); + PROTOBUF_NODISCARD std::string* release_value(); + void set_allocated_value(std::string* value); + private: + const std::string& _internal_value() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_value(const std::string& value); + std::string* _internal_mutable_value(); + public: + + // @@protoc_insertion_point(class_scope:Odb.Lib.Protobuf.PropertyRecord) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::RepeatedField< float > floatvalues_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr value_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_common_2eproto; +}; +// =================================================================== + + +// =================================================================== + +#ifdef __GNUC__ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// PropertyRecord + +// optional string name = 1; +inline bool PropertyRecord::_internal_has_name() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + return value; +} +inline bool PropertyRecord::has_name() const { + return _internal_has_name(); +} +inline void PropertyRecord::clear_name() { + _impl_.name_.ClearToEmpty(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const std::string& PropertyRecord::name() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.PropertyRecord.name) + return _internal_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void PropertyRecord::set_name(ArgT0&& arg0, ArgT... args) { + _impl_._has_bits_[0] |= 0x00000001u; + _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.PropertyRecord.name) +} +inline std::string* PropertyRecord::mutable_name() { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.PropertyRecord.name) + return _s; +} +inline const std::string& PropertyRecord::_internal_name() const { + return _impl_.name_.Get(); +} +inline void PropertyRecord::_internal_set_name(const std::string& value) { + _impl_._has_bits_[0] |= 0x00000001u; + _impl_.name_.Set(value, GetArenaForAllocation()); +} +inline std::string* PropertyRecord::_internal_mutable_name() { + _impl_._has_bits_[0] |= 0x00000001u; + return _impl_.name_.Mutable(GetArenaForAllocation()); +} +inline std::string* PropertyRecord::release_name() { + // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.PropertyRecord.name) + if (!_internal_has_name()) { + return nullptr; + } + _impl_._has_bits_[0] &= ~0x00000001u; + auto* p = _impl_.name_.Release(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + return p; +} +inline void PropertyRecord::set_allocated_name(std::string* name) { + if (name != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + _impl_.name_.SetAllocated(name, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.PropertyRecord.name) +} + +// optional string value = 2; +inline bool PropertyRecord::_internal_has_value() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + return value; +} +inline bool PropertyRecord::has_value() const { + return _internal_has_value(); +} +inline void PropertyRecord::clear_value() { + _impl_.value_.ClearToEmpty(); + _impl_._has_bits_[0] &= ~0x00000002u; +} +inline const std::string& PropertyRecord::value() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.PropertyRecord.value) + return _internal_value(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void PropertyRecord::set_value(ArgT0&& arg0, ArgT... args) { + _impl_._has_bits_[0] |= 0x00000002u; + _impl_.value_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.PropertyRecord.value) +} +inline std::string* PropertyRecord::mutable_value() { + std::string* _s = _internal_mutable_value(); + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.PropertyRecord.value) + return _s; +} +inline const std::string& PropertyRecord::_internal_value() const { + return _impl_.value_.Get(); +} +inline void PropertyRecord::_internal_set_value(const std::string& value) { + _impl_._has_bits_[0] |= 0x00000002u; + _impl_.value_.Set(value, GetArenaForAllocation()); +} +inline std::string* PropertyRecord::_internal_mutable_value() { + _impl_._has_bits_[0] |= 0x00000002u; + return _impl_.value_.Mutable(GetArenaForAllocation()); +} +inline std::string* PropertyRecord::release_value() { + // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.PropertyRecord.value) + if (!_internal_has_value()) { + return nullptr; + } + _impl_._has_bits_[0] &= ~0x00000002u; + auto* p = _impl_.value_.Release(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.value_.IsDefault()) { + _impl_.value_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + return p; +} +inline void PropertyRecord::set_allocated_value(std::string* value) { + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + _impl_.value_.SetAllocated(value, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.value_.IsDefault()) { + _impl_.value_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.PropertyRecord.value) +} + +// repeated float floatValues = 3; +inline int PropertyRecord::_internal_floatvalues_size() const { + return _impl_.floatvalues_.size(); +} +inline int PropertyRecord::floatvalues_size() const { + return _internal_floatvalues_size(); +} +inline void PropertyRecord::clear_floatvalues() { + _impl_.floatvalues_.Clear(); +} +inline float PropertyRecord::_internal_floatvalues(int index) const { + return _impl_.floatvalues_.Get(index); +} +inline float PropertyRecord::floatvalues(int index) const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.PropertyRecord.floatValues) + return _internal_floatvalues(index); +} +inline void PropertyRecord::set_floatvalues(int index, float value) { + _impl_.floatvalues_.Set(index, value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.PropertyRecord.floatValues) +} +inline void PropertyRecord::_internal_add_floatvalues(float value) { + _impl_.floatvalues_.Add(value); +} +inline void PropertyRecord::add_floatvalues(float value) { + _internal_add_floatvalues(value); + // @@protoc_insertion_point(field_add:Odb.Lib.Protobuf.PropertyRecord.floatValues) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >& +PropertyRecord::_internal_floatvalues() const { + return _impl_.floatvalues_; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >& +PropertyRecord::floatvalues() const { + // @@protoc_insertion_point(field_list:Odb.Lib.Protobuf.PropertyRecord.floatValues) + return _internal_floatvalues(); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >* +PropertyRecord::_internal_mutable_floatvalues() { + return &_impl_.floatvalues_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >* +PropertyRecord::mutable_floatvalues() { + // @@protoc_insertion_point(field_mutable_list:Odb.Lib.Protobuf.PropertyRecord.floatValues) + return _internal_mutable_floatvalues(); +} + +#ifdef __GNUC__ + #pragma GCC diagnostic pop +#endif // __GNUC__ + +// @@protoc_insertion_point(namespace_scope) + +} // namespace Protobuf +} // namespace Lib +} // namespace Odb + +// @@protoc_insertion_point(global_scope) + +#include +#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_common_2eproto diff --git a/OdbDesignLib/ProtoBuf/componentsfile.pb.cc b/OdbDesignLib/ProtoBuf/componentsfile.pb.cc new file mode 100644 index 00000000..22b5482b --- /dev/null +++ b/OdbDesignLib/ProtoBuf/componentsfile.pb.cc @@ -0,0 +1,2023 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: componentsfile.proto + +#include "componentsfile.pb.h" + +#include + +#include +#include +#include +#include +#include +#include +#include +// @@protoc_insertion_point(includes) +#include + +PROTOBUF_PRAGMA_INIT_SEG + +namespace _pb = ::PROTOBUF_NAMESPACE_ID; +namespace _pbi = _pb::internal; + +namespace Odb { +namespace Lib { +namespace Protobuf { +PROTOBUF_CONSTEXPR ComponentsFile_ComponentRecord_ToeprintRecord::ComponentsFile_ComponentRecord_ToeprintRecord( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.pinnumber_)*/0u + , /*decltype(_impl_.locationx_)*/0 + , /*decltype(_impl_.locationy_)*/0 + , /*decltype(_impl_.rotation_)*/0 + , /*decltype(_impl_.mirror_)*/false + , /*decltype(_impl_.netnumber_)*/0u + , /*decltype(_impl_.subnetnumber_)*/0u + , /*decltype(_impl_._cached_size_)*/{}} {} +struct ComponentsFile_ComponentRecord_ToeprintRecordDefaultTypeInternal { + PROTOBUF_CONSTEXPR ComponentsFile_ComponentRecord_ToeprintRecordDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~ComponentsFile_ComponentRecord_ToeprintRecordDefaultTypeInternal() {} + union { + ComponentsFile_ComponentRecord_ToeprintRecord _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ComponentsFile_ComponentRecord_ToeprintRecordDefaultTypeInternal _ComponentsFile_ComponentRecord_ToeprintRecord_default_instance_; +PROTOBUF_CONSTEXPR ComponentsFile_ComponentRecord::ComponentsFile_ComponentRecord( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.propertyrecords_)*/{} + , /*decltype(_impl_.toeprintrecords_)*/{} + , /*decltype(_impl_.compname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.partname_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.attributes_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.pkgref_)*/0u + , /*decltype(_impl_.locationx_)*/0 + , /*decltype(_impl_.locationy_)*/0 + , /*decltype(_impl_.rotation_)*/0 + , /*decltype(_impl_.mirror_)*/false + , /*decltype(_impl_.id_)*/0u + , /*decltype(_impl_.index_)*/0u + , /*decltype(_impl_._cached_size_)*/{}} {} +struct ComponentsFile_ComponentRecordDefaultTypeInternal { + PROTOBUF_CONSTEXPR ComponentsFile_ComponentRecordDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~ComponentsFile_ComponentRecordDefaultTypeInternal() {} + union { + ComponentsFile_ComponentRecord _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ComponentsFile_ComponentRecordDefaultTypeInternal _ComponentsFile_ComponentRecord_default_instance_; +PROTOBUF_CONSTEXPR ComponentsFile_ComponentRecordsByNameEntry_DoNotUse::ComponentsFile_ComponentRecordsByNameEntry_DoNotUse( + ::_pbi::ConstantInitialized) {} +struct ComponentsFile_ComponentRecordsByNameEntry_DoNotUseDefaultTypeInternal { + PROTOBUF_CONSTEXPR ComponentsFile_ComponentRecordsByNameEntry_DoNotUseDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~ComponentsFile_ComponentRecordsByNameEntry_DoNotUseDefaultTypeInternal() {} + union { + ComponentsFile_ComponentRecordsByNameEntry_DoNotUse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ComponentsFile_ComponentRecordsByNameEntry_DoNotUseDefaultTypeInternal _ComponentsFile_ComponentRecordsByNameEntry_DoNotUse_default_instance_; +PROTOBUF_CONSTEXPR ComponentsFile_PropertyRecordsByNameEntry_DoNotUse::ComponentsFile_PropertyRecordsByNameEntry_DoNotUse( + ::_pbi::ConstantInitialized) {} +struct ComponentsFile_PropertyRecordsByNameEntry_DoNotUseDefaultTypeInternal { + PROTOBUF_CONSTEXPR ComponentsFile_PropertyRecordsByNameEntry_DoNotUseDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~ComponentsFile_PropertyRecordsByNameEntry_DoNotUseDefaultTypeInternal() {} + union { + ComponentsFile_PropertyRecordsByNameEntry_DoNotUse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ComponentsFile_PropertyRecordsByNameEntry_DoNotUseDefaultTypeInternal _ComponentsFile_PropertyRecordsByNameEntry_DoNotUse_default_instance_; +PROTOBUF_CONSTEXPR ComponentsFile::ComponentsFile( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.attributenames_)*/{} + , /*decltype(_impl_.attributetextvalues_)*/{} + , /*decltype(_impl_.componentrecords_)*/{} + , /*decltype(_impl_.componentrecordsbyname_)*/{::_pbi::ConstantInitialized()} + , /*decltype(_impl_.propertyrecords_)*/{} + , /*decltype(_impl_.propertyrecordsbyname_)*/{::_pbi::ConstantInitialized()} + , /*decltype(_impl_.units_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.path_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.directory_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.id_)*/0u + , /*decltype(_impl_.side_)*/0 + , /*decltype(_impl_._cached_size_)*/{}} {} +struct ComponentsFileDefaultTypeInternal { + PROTOBUF_CONSTEXPR ComponentsFileDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~ComponentsFileDefaultTypeInternal() {} + union { + ComponentsFile _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ComponentsFileDefaultTypeInternal _ComponentsFile_default_instance_; +} // namespace Protobuf +} // namespace Lib +} // namespace Odb +static ::_pb::Metadata file_level_metadata_componentsfile_2eproto[5]; +static constexpr ::_pb::EnumDescriptor const** file_level_enum_descriptors_componentsfile_2eproto = nullptr; +static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_componentsfile_2eproto = nullptr; + +const uint32_t TableStruct_componentsfile_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord, _impl_.pinnumber_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord, _impl_.locationx_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord, _impl_.locationy_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord, _impl_.rotation_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord, _impl_.mirror_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord, _impl_.netnumber_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord, _impl_.subnetnumber_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord, _impl_.name_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord, _impl_.pkgref_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord, _impl_.locationx_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord, _impl_.locationy_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord, _impl_.rotation_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord, _impl_.mirror_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord, _impl_.compname_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord, _impl_.partname_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord, _impl_.attributes_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord, _impl_.id_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord, _impl_.index_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord, _impl_.propertyrecords_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord, _impl_.toeprintrecords_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecordsByNameEntry_DoNotUse, _has_bits_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecordsByNameEntry_DoNotUse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecordsByNameEntry_DoNotUse, key_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecordsByNameEntry_DoNotUse, value_), + 0, + 1, + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_PropertyRecordsByNameEntry_DoNotUse, _has_bits_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_PropertyRecordsByNameEntry_DoNotUse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_PropertyRecordsByNameEntry_DoNotUse, key_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile_PropertyRecordsByNameEntry_DoNotUse, value_), + 0, + 1, + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile, _impl_.units_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile, _impl_.id_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile, _impl_.side_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile, _impl_.name_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile, _impl_.path_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile, _impl_.directory_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile, _impl_.attributenames_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile, _impl_.attributetextvalues_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile, _impl_.componentrecords_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile, _impl_.componentrecordsbyname_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile, _impl_.propertyrecords_), + PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::ComponentsFile, _impl_.propertyrecordsbyname_), +}; +static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + { 0, -1, -1, sizeof(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord)}, + { 14, -1, -1, sizeof(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord)}, + { 32, 40, -1, sizeof(::Odb::Lib::Protobuf::ComponentsFile_ComponentRecordsByNameEntry_DoNotUse)}, + { 42, 50, -1, sizeof(::Odb::Lib::Protobuf::ComponentsFile_PropertyRecordsByNameEntry_DoNotUse)}, + { 52, -1, -1, sizeof(::Odb::Lib::Protobuf::ComponentsFile)}, +}; + +static const ::_pb::Message* const file_default_instances[] = { + &::Odb::Lib::Protobuf::_ComponentsFile_ComponentRecord_ToeprintRecord_default_instance_._instance, + &::Odb::Lib::Protobuf::_ComponentsFile_ComponentRecord_default_instance_._instance, + &::Odb::Lib::Protobuf::_ComponentsFile_ComponentRecordsByNameEntry_DoNotUse_default_instance_._instance, + &::Odb::Lib::Protobuf::_ComponentsFile_PropertyRecordsByNameEntry_DoNotUse_default_instance_._instance, + &::Odb::Lib::Protobuf::_ComponentsFile_default_instance_._instance, +}; + +const char descriptor_table_protodef_componentsfile_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = + "\n\024componentsfile.proto\022\020Odb.Lib.Protobuf" + "\032\014common.proto\032\013enums.proto\"\305\t\n\016Componen" + "tsFile\022\r\n\005units\030\001 \001(\t\022\n\n\002id\030\002 \001(\r\022)\n\004sid" + "e\030\003 \001(\0162\033.Odb.Lib.Protobuf.BoardSide\022\014\n\004" + "name\030\004 \001(\t\022\014\n\004path\030\005 \001(\t\022\021\n\tdirectory\030\006 " + "\001(\t\022\026\n\016attributeNames\030\007 \003(\t\022\033\n\023attribute" + "TextValues\030\010 \003(\t\022J\n\020componentRecords\030\t \003" + "(\01320.Odb.Lib.Protobuf.ComponentsFile.Com" + "ponentRecord\022\\\n\026componentRecordsByName\030\n" + " \003(\0132<.Odb.Lib.Protobuf.ComponentsFile.C" + "omponentRecordsByNameEntry\0229\n\017propertyRe" + "cords\030\013 \003(\0132 .Odb.Lib.Protobuf.PropertyR" + "ecord\022Z\n\025propertyRecordsByName\030\014 \003(\0132;.O" + "db.Lib.Protobuf.ComponentsFile.PropertyR" + "ecordsByNameEntry\032\366\003\n\017ComponentRecord\022\016\n" + "\006pkgRef\030\001 \001(\r\022\021\n\tlocationX\030\002 \001(\002\022\021\n\tloca" + "tionY\030\003 \001(\002\022\020\n\010rotation\030\004 \001(\002\022\016\n\006mirror\030" + "\005 \001(\010\022\020\n\010compName\030\006 \001(\t\022\020\n\010partName\030\007 \001(" + "\t\022\022\n\nattributes\030\010 \001(\t\022\n\n\002id\030\t \001(\r\022\r\n\005ind" + "ex\030\n \001(\r\0229\n\017propertyRecords\030\013 \003(\0132 .Odb." + "Lib.Protobuf.PropertyRecord\022X\n\017toeprintR" + "ecords\030\014 \003(\0132\?.Odb.Lib.Protobuf.Componen" + "tsFile.ComponentRecord.ToeprintRecord\032\242\001" + "\n\016ToeprintRecord\022\021\n\tpinNumber\030\001 \001(\r\022\021\n\tl" + "ocationX\030\002 \001(\002\022\021\n\tlocationY\030\003 \001(\002\022\020\n\010rot" + "ation\030\004 \001(\002\022\016\n\006mirror\030\005 \001(\010\022\021\n\tnetNumber" + "\030\006 \001(\r\022\024\n\014subnetNumber\030\007 \001(\r\022\014\n\004name\030\010 \001" + "(\t\032o\n\033ComponentRecordsByNameEntry\022\013\n\003key" + "\030\001 \001(\t\022\?\n\005value\030\002 \001(\01320.Odb.Lib.Protobuf" + ".ComponentsFile.ComponentRecord:\0028\001\032^\n\032P" + "ropertyRecordsByNameEntry\022\013\n\003key\030\001 \001(\t\022/" + "\n\005value\030\002 \001(\0132 .Odb.Lib.Protobuf.Propert" + "yRecord:\0028\001b\006proto3" + ; +static const ::_pbi::DescriptorTable* const descriptor_table_componentsfile_2eproto_deps[2] = { + &::descriptor_table_common_2eproto, + &::descriptor_table_enums_2eproto, +}; +static ::_pbi::once_flag descriptor_table_componentsfile_2eproto_once; +const ::_pbi::DescriptorTable descriptor_table_componentsfile_2eproto = { + false, false, 1299, descriptor_table_protodef_componentsfile_2eproto, + "componentsfile.proto", + &descriptor_table_componentsfile_2eproto_once, descriptor_table_componentsfile_2eproto_deps, 2, 5, + schemas, file_default_instances, TableStruct_componentsfile_2eproto::offsets, + file_level_metadata_componentsfile_2eproto, file_level_enum_descriptors_componentsfile_2eproto, + file_level_service_descriptors_componentsfile_2eproto, +}; +PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_componentsfile_2eproto_getter() { + return &descriptor_table_componentsfile_2eproto; +} + +// Force running AddDescriptors() at dynamic initialization time. +PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_componentsfile_2eproto(&descriptor_table_componentsfile_2eproto); +namespace Odb { +namespace Lib { +namespace Protobuf { + +// =================================================================== + +class ComponentsFile_ComponentRecord_ToeprintRecord::_Internal { + public: +}; + +ComponentsFile_ComponentRecord_ToeprintRecord::ComponentsFile_ComponentRecord_ToeprintRecord(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord) +} +ComponentsFile_ComponentRecord_ToeprintRecord::ComponentsFile_ComponentRecord_ToeprintRecord(const ComponentsFile_ComponentRecord_ToeprintRecord& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + ComponentsFile_ComponentRecord_ToeprintRecord* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.name_){} + , decltype(_impl_.pinnumber_){} + , decltype(_impl_.locationx_){} + , decltype(_impl_.locationy_){} + , decltype(_impl_.rotation_){} + , decltype(_impl_.mirror_){} + , decltype(_impl_.netnumber_){} + , decltype(_impl_.subnetnumber_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.name_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.name_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_name().empty()) { + _this->_impl_.name_.Set(from._internal_name(), + _this->GetArenaForAllocation()); + } + ::memcpy(&_impl_.pinnumber_, &from._impl_.pinnumber_, + static_cast(reinterpret_cast(&_impl_.subnetnumber_) - + reinterpret_cast(&_impl_.pinnumber_)) + sizeof(_impl_.subnetnumber_)); + // @@protoc_insertion_point(copy_constructor:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord) +} + +inline void ComponentsFile_ComponentRecord_ToeprintRecord::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.name_){} + , decltype(_impl_.pinnumber_){0u} + , decltype(_impl_.locationx_){0} + , decltype(_impl_.locationy_){0} + , decltype(_impl_.rotation_){0} + , decltype(_impl_.mirror_){false} + , decltype(_impl_.netnumber_){0u} + , decltype(_impl_.subnetnumber_){0u} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.name_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.name_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +ComponentsFile_ComponentRecord_ToeprintRecord::~ComponentsFile_ComponentRecord_ToeprintRecord() { + // @@protoc_insertion_point(destructor:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void ComponentsFile_ComponentRecord_ToeprintRecord::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.name_.Destroy(); +} + +void ComponentsFile_ComponentRecord_ToeprintRecord::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void ComponentsFile_ComponentRecord_ToeprintRecord::Clear() { +// @@protoc_insertion_point(message_clear_start:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.name_.ClearToEmpty(); + ::memset(&_impl_.pinnumber_, 0, static_cast( + reinterpret_cast(&_impl_.subnetnumber_) - + reinterpret_cast(&_impl_.pinnumber_)) + sizeof(_impl_.subnetnumber_)); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* ComponentsFile_ComponentRecord_ToeprintRecord::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // uint32 pinNumber = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { + _impl_.pinnumber_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // float locationX = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 21)) { + _impl_.locationx_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float locationY = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 29)) { + _impl_.locationy_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float rotation = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 37)) { + _impl_.rotation_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // bool mirror = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 40)) { + _impl_.mirror_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // uint32 netNumber = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 48)) { + _impl_.netnumber_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // uint32 subnetNumber = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 56)) { + _impl_.subnetnumber_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string name = 8; + case 8: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 66)) { + auto str = _internal_mutable_name(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord.name")); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* ComponentsFile_ComponentRecord_ToeprintRecord::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // uint32 pinNumber = 1; + if (this->_internal_pinnumber() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_pinnumber(), target); + } + + // float locationX = 2; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_locationx = this->_internal_locationx(); + uint32_t raw_locationx; + memcpy(&raw_locationx, &tmp_locationx, sizeof(tmp_locationx)); + if (raw_locationx != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(2, this->_internal_locationx(), target); + } + + // float locationY = 3; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_locationy = this->_internal_locationy(); + uint32_t raw_locationy; + memcpy(&raw_locationy, &tmp_locationy, sizeof(tmp_locationy)); + if (raw_locationy != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(3, this->_internal_locationy(), target); + } + + // float rotation = 4; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_rotation = this->_internal_rotation(); + uint32_t raw_rotation; + memcpy(&raw_rotation, &tmp_rotation, sizeof(tmp_rotation)); + if (raw_rotation != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(4, this->_internal_rotation(), target); + } + + // bool mirror = 5; + if (this->_internal_mirror() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_mirror(), target); + } + + // uint32 netNumber = 6; + if (this->_internal_netnumber() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray(6, this->_internal_netnumber(), target); + } + + // uint32 subnetNumber = 7; + if (this->_internal_subnetnumber() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray(7, this->_internal_subnetnumber(), target); + } + + // string name = 8; + if (!this->_internal_name().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_name().data(), static_cast(this->_internal_name().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord.name"); + target = stream->WriteStringMaybeAliased( + 8, this->_internal_name(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord) + return target; +} + +size_t ComponentsFile_ComponentRecord_ToeprintRecord::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string name = 8; + if (!this->_internal_name().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_name()); + } + + // uint32 pinNumber = 1; + if (this->_internal_pinnumber() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_pinnumber()); + } + + // float locationX = 2; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_locationx = this->_internal_locationx(); + uint32_t raw_locationx; + memcpy(&raw_locationx, &tmp_locationx, sizeof(tmp_locationx)); + if (raw_locationx != 0) { + total_size += 1 + 4; + } + + // float locationY = 3; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_locationy = this->_internal_locationy(); + uint32_t raw_locationy; + memcpy(&raw_locationy, &tmp_locationy, sizeof(tmp_locationy)); + if (raw_locationy != 0) { + total_size += 1 + 4; + } + + // float rotation = 4; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_rotation = this->_internal_rotation(); + uint32_t raw_rotation; + memcpy(&raw_rotation, &tmp_rotation, sizeof(tmp_rotation)); + if (raw_rotation != 0) { + total_size += 1 + 4; + } + + // bool mirror = 5; + if (this->_internal_mirror() != 0) { + total_size += 1 + 1; + } + + // uint32 netNumber = 6; + if (this->_internal_netnumber() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_netnumber()); + } + + // uint32 subnetNumber = 7; + if (this->_internal_subnetnumber() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_subnetnumber()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ComponentsFile_ComponentRecord_ToeprintRecord::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + ComponentsFile_ComponentRecord_ToeprintRecord::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ComponentsFile_ComponentRecord_ToeprintRecord::GetClassData() const { return &_class_data_; } + + +void ComponentsFile_ComponentRecord_ToeprintRecord::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_name().empty()) { + _this->_internal_set_name(from._internal_name()); + } + if (from._internal_pinnumber() != 0) { + _this->_internal_set_pinnumber(from._internal_pinnumber()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_locationx = from._internal_locationx(); + uint32_t raw_locationx; + memcpy(&raw_locationx, &tmp_locationx, sizeof(tmp_locationx)); + if (raw_locationx != 0) { + _this->_internal_set_locationx(from._internal_locationx()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_locationy = from._internal_locationy(); + uint32_t raw_locationy; + memcpy(&raw_locationy, &tmp_locationy, sizeof(tmp_locationy)); + if (raw_locationy != 0) { + _this->_internal_set_locationy(from._internal_locationy()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_rotation = from._internal_rotation(); + uint32_t raw_rotation; + memcpy(&raw_rotation, &tmp_rotation, sizeof(tmp_rotation)); + if (raw_rotation != 0) { + _this->_internal_set_rotation(from._internal_rotation()); + } + if (from._internal_mirror() != 0) { + _this->_internal_set_mirror(from._internal_mirror()); + } + if (from._internal_netnumber() != 0) { + _this->_internal_set_netnumber(from._internal_netnumber()); + } + if (from._internal_subnetnumber() != 0) { + _this->_internal_set_subnetnumber(from._internal_subnetnumber()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void ComponentsFile_ComponentRecord_ToeprintRecord::CopyFrom(const ComponentsFile_ComponentRecord_ToeprintRecord& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool ComponentsFile_ComponentRecord_ToeprintRecord::IsInitialized() const { + return true; +} + +void ComponentsFile_ComponentRecord_ToeprintRecord::InternalSwap(ComponentsFile_ComponentRecord_ToeprintRecord* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.name_, lhs_arena, + &other->_impl_.name_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(ComponentsFile_ComponentRecord_ToeprintRecord, _impl_.subnetnumber_) + + sizeof(ComponentsFile_ComponentRecord_ToeprintRecord::_impl_.subnetnumber_) + - PROTOBUF_FIELD_OFFSET(ComponentsFile_ComponentRecord_ToeprintRecord, _impl_.pinnumber_)>( + reinterpret_cast(&_impl_.pinnumber_), + reinterpret_cast(&other->_impl_.pinnumber_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata ComponentsFile_ComponentRecord_ToeprintRecord::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_componentsfile_2eproto_getter, &descriptor_table_componentsfile_2eproto_once, + file_level_metadata_componentsfile_2eproto[0]); +} + +// =================================================================== + +class ComponentsFile_ComponentRecord::_Internal { + public: +}; + +void ComponentsFile_ComponentRecord::clear_propertyrecords() { + _impl_.propertyrecords_.Clear(); +} +ComponentsFile_ComponentRecord::ComponentsFile_ComponentRecord(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord) +} +ComponentsFile_ComponentRecord::ComponentsFile_ComponentRecord(const ComponentsFile_ComponentRecord& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + ComponentsFile_ComponentRecord* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.propertyrecords_){from._impl_.propertyrecords_} + , decltype(_impl_.toeprintrecords_){from._impl_.toeprintrecords_} + , decltype(_impl_.compname_){} + , decltype(_impl_.partname_){} + , decltype(_impl_.attributes_){} + , decltype(_impl_.pkgref_){} + , decltype(_impl_.locationx_){} + , decltype(_impl_.locationy_){} + , decltype(_impl_.rotation_){} + , decltype(_impl_.mirror_){} + , decltype(_impl_.id_){} + , decltype(_impl_.index_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.compname_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.compname_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_compname().empty()) { + _this->_impl_.compname_.Set(from._internal_compname(), + _this->GetArenaForAllocation()); + } + _impl_.partname_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.partname_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_partname().empty()) { + _this->_impl_.partname_.Set(from._internal_partname(), + _this->GetArenaForAllocation()); + } + _impl_.attributes_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.attributes_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_attributes().empty()) { + _this->_impl_.attributes_.Set(from._internal_attributes(), + _this->GetArenaForAllocation()); + } + ::memcpy(&_impl_.pkgref_, &from._impl_.pkgref_, + static_cast(reinterpret_cast(&_impl_.index_) - + reinterpret_cast(&_impl_.pkgref_)) + sizeof(_impl_.index_)); + // @@protoc_insertion_point(copy_constructor:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord) +} + +inline void ComponentsFile_ComponentRecord::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.propertyrecords_){arena} + , decltype(_impl_.toeprintrecords_){arena} + , decltype(_impl_.compname_){} + , decltype(_impl_.partname_){} + , decltype(_impl_.attributes_){} + , decltype(_impl_.pkgref_){0u} + , decltype(_impl_.locationx_){0} + , decltype(_impl_.locationy_){0} + , decltype(_impl_.rotation_){0} + , decltype(_impl_.mirror_){false} + , decltype(_impl_.id_){0u} + , decltype(_impl_.index_){0u} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.compname_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.compname_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.partname_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.partname_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.attributes_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.attributes_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +ComponentsFile_ComponentRecord::~ComponentsFile_ComponentRecord() { + // @@protoc_insertion_point(destructor:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void ComponentsFile_ComponentRecord::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.propertyrecords_.~RepeatedPtrField(); + _impl_.toeprintrecords_.~RepeatedPtrField(); + _impl_.compname_.Destroy(); + _impl_.partname_.Destroy(); + _impl_.attributes_.Destroy(); +} + +void ComponentsFile_ComponentRecord::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void ComponentsFile_ComponentRecord::Clear() { +// @@protoc_insertion_point(message_clear_start:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.propertyrecords_.Clear(); + _impl_.toeprintrecords_.Clear(); + _impl_.compname_.ClearToEmpty(); + _impl_.partname_.ClearToEmpty(); + _impl_.attributes_.ClearToEmpty(); + ::memset(&_impl_.pkgref_, 0, static_cast( + reinterpret_cast(&_impl_.index_) - + reinterpret_cast(&_impl_.pkgref_)) + sizeof(_impl_.index_)); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* ComponentsFile_ComponentRecord::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // uint32 pkgRef = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { + _impl_.pkgref_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // float locationX = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 21)) { + _impl_.locationx_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float locationY = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 29)) { + _impl_.locationy_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float rotation = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 37)) { + _impl_.rotation_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // bool mirror = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 40)) { + _impl_.mirror_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string compName = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 50)) { + auto str = _internal_mutable_compname(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.compName")); + } else + goto handle_unusual; + continue; + // string partName = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 58)) { + auto str = _internal_mutable_partname(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.partName")); + } else + goto handle_unusual; + continue; + // string attributes = 8; + case 8: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 66)) { + auto str = _internal_mutable_attributes(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.attributes")); + } else + goto handle_unusual; + continue; + // uint32 id = 9; + case 9: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 72)) { + _impl_.id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // uint32 index = 10; + case 10: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 80)) { + _impl_.index_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 11; + case 11: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 90)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_propertyrecords(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<90>(ptr)); + } else + goto handle_unusual; + continue; + // repeated .Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord toeprintRecords = 12; + case 12: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 98)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_toeprintrecords(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<98>(ptr)); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* ComponentsFile_ComponentRecord::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // uint32 pkgRef = 1; + if (this->_internal_pkgref() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_pkgref(), target); + } + + // float locationX = 2; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_locationx = this->_internal_locationx(); + uint32_t raw_locationx; + memcpy(&raw_locationx, &tmp_locationx, sizeof(tmp_locationx)); + if (raw_locationx != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(2, this->_internal_locationx(), target); + } + + // float locationY = 3; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_locationy = this->_internal_locationy(); + uint32_t raw_locationy; + memcpy(&raw_locationy, &tmp_locationy, sizeof(tmp_locationy)); + if (raw_locationy != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(3, this->_internal_locationy(), target); + } + + // float rotation = 4; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_rotation = this->_internal_rotation(); + uint32_t raw_rotation; + memcpy(&raw_rotation, &tmp_rotation, sizeof(tmp_rotation)); + if (raw_rotation != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(4, this->_internal_rotation(), target); + } + + // bool mirror = 5; + if (this->_internal_mirror() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_mirror(), target); + } + + // string compName = 6; + if (!this->_internal_compname().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_compname().data(), static_cast(this->_internal_compname().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.compName"); + target = stream->WriteStringMaybeAliased( + 6, this->_internal_compname(), target); + } + + // string partName = 7; + if (!this->_internal_partname().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_partname().data(), static_cast(this->_internal_partname().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.partName"); + target = stream->WriteStringMaybeAliased( + 7, this->_internal_partname(), target); + } + + // string attributes = 8; + if (!this->_internal_attributes().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_attributes().data(), static_cast(this->_internal_attributes().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.attributes"); + target = stream->WriteStringMaybeAliased( + 8, this->_internal_attributes(), target); + } + + // uint32 id = 9; + if (this->_internal_id() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray(9, this->_internal_id(), target); + } + + // uint32 index = 10; + if (this->_internal_index() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray(10, this->_internal_index(), target); + } + + // repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 11; + for (unsigned i = 0, + n = static_cast(this->_internal_propertyrecords_size()); i < n; i++) { + const auto& repfield = this->_internal_propertyrecords(i); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(11, repfield, repfield.GetCachedSize(), target, stream); + } + + // repeated .Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord toeprintRecords = 12; + for (unsigned i = 0, + n = static_cast(this->_internal_toeprintrecords_size()); i < n; i++) { + const auto& repfield = this->_internal_toeprintrecords(i); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(12, repfield, repfield.GetCachedSize(), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord) + return target; +} + +size_t ComponentsFile_ComponentRecord::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 11; + total_size += 1UL * this->_internal_propertyrecords_size(); + for (const auto& msg : this->_impl_.propertyrecords_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + + // repeated .Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord toeprintRecords = 12; + total_size += 1UL * this->_internal_toeprintrecords_size(); + for (const auto& msg : this->_impl_.toeprintrecords_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + + // string compName = 6; + if (!this->_internal_compname().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_compname()); + } + + // string partName = 7; + if (!this->_internal_partname().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_partname()); + } + + // string attributes = 8; + if (!this->_internal_attributes().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_attributes()); + } + + // uint32 pkgRef = 1; + if (this->_internal_pkgref() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_pkgref()); + } + + // float locationX = 2; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_locationx = this->_internal_locationx(); + uint32_t raw_locationx; + memcpy(&raw_locationx, &tmp_locationx, sizeof(tmp_locationx)); + if (raw_locationx != 0) { + total_size += 1 + 4; + } + + // float locationY = 3; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_locationy = this->_internal_locationy(); + uint32_t raw_locationy; + memcpy(&raw_locationy, &tmp_locationy, sizeof(tmp_locationy)); + if (raw_locationy != 0) { + total_size += 1 + 4; + } + + // float rotation = 4; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_rotation = this->_internal_rotation(); + uint32_t raw_rotation; + memcpy(&raw_rotation, &tmp_rotation, sizeof(tmp_rotation)); + if (raw_rotation != 0) { + total_size += 1 + 4; + } + + // bool mirror = 5; + if (this->_internal_mirror() != 0) { + total_size += 1 + 1; + } + + // uint32 id = 9; + if (this->_internal_id() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_id()); + } + + // uint32 index = 10; + if (this->_internal_index() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_index()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ComponentsFile_ComponentRecord::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + ComponentsFile_ComponentRecord::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ComponentsFile_ComponentRecord::GetClassData() const { return &_class_data_; } + + +void ComponentsFile_ComponentRecord::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + _this->_impl_.propertyrecords_.MergeFrom(from._impl_.propertyrecords_); + _this->_impl_.toeprintrecords_.MergeFrom(from._impl_.toeprintrecords_); + if (!from._internal_compname().empty()) { + _this->_internal_set_compname(from._internal_compname()); + } + if (!from._internal_partname().empty()) { + _this->_internal_set_partname(from._internal_partname()); + } + if (!from._internal_attributes().empty()) { + _this->_internal_set_attributes(from._internal_attributes()); + } + if (from._internal_pkgref() != 0) { + _this->_internal_set_pkgref(from._internal_pkgref()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_locationx = from._internal_locationx(); + uint32_t raw_locationx; + memcpy(&raw_locationx, &tmp_locationx, sizeof(tmp_locationx)); + if (raw_locationx != 0) { + _this->_internal_set_locationx(from._internal_locationx()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_locationy = from._internal_locationy(); + uint32_t raw_locationy; + memcpy(&raw_locationy, &tmp_locationy, sizeof(tmp_locationy)); + if (raw_locationy != 0) { + _this->_internal_set_locationy(from._internal_locationy()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_rotation = from._internal_rotation(); + uint32_t raw_rotation; + memcpy(&raw_rotation, &tmp_rotation, sizeof(tmp_rotation)); + if (raw_rotation != 0) { + _this->_internal_set_rotation(from._internal_rotation()); + } + if (from._internal_mirror() != 0) { + _this->_internal_set_mirror(from._internal_mirror()); + } + if (from._internal_id() != 0) { + _this->_internal_set_id(from._internal_id()); + } + if (from._internal_index() != 0) { + _this->_internal_set_index(from._internal_index()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void ComponentsFile_ComponentRecord::CopyFrom(const ComponentsFile_ComponentRecord& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool ComponentsFile_ComponentRecord::IsInitialized() const { + return true; +} + +void ComponentsFile_ComponentRecord::InternalSwap(ComponentsFile_ComponentRecord* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + _impl_.propertyrecords_.InternalSwap(&other->_impl_.propertyrecords_); + _impl_.toeprintrecords_.InternalSwap(&other->_impl_.toeprintrecords_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.compname_, lhs_arena, + &other->_impl_.compname_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.partname_, lhs_arena, + &other->_impl_.partname_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.attributes_, lhs_arena, + &other->_impl_.attributes_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(ComponentsFile_ComponentRecord, _impl_.index_) + + sizeof(ComponentsFile_ComponentRecord::_impl_.index_) + - PROTOBUF_FIELD_OFFSET(ComponentsFile_ComponentRecord, _impl_.pkgref_)>( + reinterpret_cast(&_impl_.pkgref_), + reinterpret_cast(&other->_impl_.pkgref_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata ComponentsFile_ComponentRecord::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_componentsfile_2eproto_getter, &descriptor_table_componentsfile_2eproto_once, + file_level_metadata_componentsfile_2eproto[1]); +} + +// =================================================================== + +ComponentsFile_ComponentRecordsByNameEntry_DoNotUse::ComponentsFile_ComponentRecordsByNameEntry_DoNotUse() {} +ComponentsFile_ComponentRecordsByNameEntry_DoNotUse::ComponentsFile_ComponentRecordsByNameEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : SuperType(arena) {} +void ComponentsFile_ComponentRecordsByNameEntry_DoNotUse::MergeFrom(const ComponentsFile_ComponentRecordsByNameEntry_DoNotUse& other) { + MergeFromInternal(other); +} +::PROTOBUF_NAMESPACE_ID::Metadata ComponentsFile_ComponentRecordsByNameEntry_DoNotUse::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_componentsfile_2eproto_getter, &descriptor_table_componentsfile_2eproto_once, + file_level_metadata_componentsfile_2eproto[2]); +} + +// =================================================================== + +ComponentsFile_PropertyRecordsByNameEntry_DoNotUse::ComponentsFile_PropertyRecordsByNameEntry_DoNotUse() {} +ComponentsFile_PropertyRecordsByNameEntry_DoNotUse::ComponentsFile_PropertyRecordsByNameEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : SuperType(arena) {} +void ComponentsFile_PropertyRecordsByNameEntry_DoNotUse::MergeFrom(const ComponentsFile_PropertyRecordsByNameEntry_DoNotUse& other) { + MergeFromInternal(other); +} +::PROTOBUF_NAMESPACE_ID::Metadata ComponentsFile_PropertyRecordsByNameEntry_DoNotUse::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_componentsfile_2eproto_getter, &descriptor_table_componentsfile_2eproto_once, + file_level_metadata_componentsfile_2eproto[3]); +} + +// =================================================================== + +class ComponentsFile::_Internal { + public: +}; + +void ComponentsFile::clear_propertyrecords() { + _impl_.propertyrecords_.Clear(); +} +void ComponentsFile::clear_propertyrecordsbyname() { + _impl_.propertyrecordsbyname_.Clear(); +} +ComponentsFile::ComponentsFile(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + if (arena != nullptr && !is_message_owned) { + arena->OwnCustomDestructor(this, &ComponentsFile::ArenaDtor); + } + // @@protoc_insertion_point(arena_constructor:Odb.Lib.Protobuf.ComponentsFile) +} +ComponentsFile::ComponentsFile(const ComponentsFile& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + ComponentsFile* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.attributenames_){from._impl_.attributenames_} + , decltype(_impl_.attributetextvalues_){from._impl_.attributetextvalues_} + , decltype(_impl_.componentrecords_){from._impl_.componentrecords_} + , /*decltype(_impl_.componentrecordsbyname_)*/{} + , decltype(_impl_.propertyrecords_){from._impl_.propertyrecords_} + , /*decltype(_impl_.propertyrecordsbyname_)*/{} + , decltype(_impl_.units_){} + , decltype(_impl_.name_){} + , decltype(_impl_.path_){} + , decltype(_impl_.directory_){} + , decltype(_impl_.id_){} + , decltype(_impl_.side_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _this->_impl_.componentrecordsbyname_.MergeFrom(from._impl_.componentrecordsbyname_); + _this->_impl_.propertyrecordsbyname_.MergeFrom(from._impl_.propertyrecordsbyname_); + _impl_.units_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.units_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_units().empty()) { + _this->_impl_.units_.Set(from._internal_units(), + _this->GetArenaForAllocation()); + } + _impl_.name_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.name_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_name().empty()) { + _this->_impl_.name_.Set(from._internal_name(), + _this->GetArenaForAllocation()); + } + _impl_.path_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.path_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_path().empty()) { + _this->_impl_.path_.Set(from._internal_path(), + _this->GetArenaForAllocation()); + } + _impl_.directory_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.directory_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_directory().empty()) { + _this->_impl_.directory_.Set(from._internal_directory(), + _this->GetArenaForAllocation()); + } + ::memcpy(&_impl_.id_, &from._impl_.id_, + static_cast(reinterpret_cast(&_impl_.side_) - + reinterpret_cast(&_impl_.id_)) + sizeof(_impl_.side_)); + // @@protoc_insertion_point(copy_constructor:Odb.Lib.Protobuf.ComponentsFile) +} + +inline void ComponentsFile::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.attributenames_){arena} + , decltype(_impl_.attributetextvalues_){arena} + , decltype(_impl_.componentrecords_){arena} + , /*decltype(_impl_.componentrecordsbyname_)*/{::_pbi::ArenaInitialized(), arena} + , decltype(_impl_.propertyrecords_){arena} + , /*decltype(_impl_.propertyrecordsbyname_)*/{::_pbi::ArenaInitialized(), arena} + , decltype(_impl_.units_){} + , decltype(_impl_.name_){} + , decltype(_impl_.path_){} + , decltype(_impl_.directory_){} + , decltype(_impl_.id_){0u} + , decltype(_impl_.side_){0} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.units_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.units_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.name_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.name_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.path_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.path_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.directory_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.directory_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +ComponentsFile::~ComponentsFile() { + // @@protoc_insertion_point(destructor:Odb.Lib.Protobuf.ComponentsFile) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + ArenaDtor(this); + return; + } + SharedDtor(); +} + +inline void ComponentsFile::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.attributenames_.~RepeatedPtrField(); + _impl_.attributetextvalues_.~RepeatedPtrField(); + _impl_.componentrecords_.~RepeatedPtrField(); + _impl_.componentrecordsbyname_.Destruct(); + _impl_.componentrecordsbyname_.~MapField(); + _impl_.propertyrecords_.~RepeatedPtrField(); + _impl_.propertyrecordsbyname_.Destruct(); + _impl_.propertyrecordsbyname_.~MapField(); + _impl_.units_.Destroy(); + _impl_.name_.Destroy(); + _impl_.path_.Destroy(); + _impl_.directory_.Destroy(); +} + +void ComponentsFile::ArenaDtor(void* object) { + ComponentsFile* _this = reinterpret_cast< ComponentsFile* >(object); + _this->_impl_.componentrecordsbyname_.Destruct(); + _this->_impl_.propertyrecordsbyname_.Destruct(); +} +void ComponentsFile::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void ComponentsFile::Clear() { +// @@protoc_insertion_point(message_clear_start:Odb.Lib.Protobuf.ComponentsFile) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.attributenames_.Clear(); + _impl_.attributetextvalues_.Clear(); + _impl_.componentrecords_.Clear(); + _impl_.componentrecordsbyname_.Clear(); + _impl_.propertyrecords_.Clear(); + _impl_.propertyrecordsbyname_.Clear(); + _impl_.units_.ClearToEmpty(); + _impl_.name_.ClearToEmpty(); + _impl_.path_.ClearToEmpty(); + _impl_.directory_.ClearToEmpty(); + ::memset(&_impl_.id_, 0, static_cast( + reinterpret_cast(&_impl_.side_) - + reinterpret_cast(&_impl_.id_)) + sizeof(_impl_.side_)); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* ComponentsFile::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // string units = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_units(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.ComponentsFile.units")); + } else + goto handle_unusual; + continue; + // uint32 id = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { + _impl_.id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .Odb.Lib.Protobuf.BoardSide side = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { + uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + _internal_set_side(static_cast<::Odb::Lib::Protobuf::BoardSide>(val)); + } else + goto handle_unusual; + continue; + // string name = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { + auto str = _internal_mutable_name(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.ComponentsFile.name")); + } else + goto handle_unusual; + continue; + // string path = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { + auto str = _internal_mutable_path(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.ComponentsFile.path")); + } else + goto handle_unusual; + continue; + // string directory = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 50)) { + auto str = _internal_mutable_directory(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.ComponentsFile.directory")); + } else + goto handle_unusual; + continue; + // repeated string attributeNames = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 58)) { + ptr -= 1; + do { + ptr += 1; + auto str = _internal_add_attributenames(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.ComponentsFile.attributeNames")); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<58>(ptr)); + } else + goto handle_unusual; + continue; + // repeated string attributeTextValues = 8; + case 8: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 66)) { + ptr -= 1; + do { + ptr += 1; + auto str = _internal_add_attributetextvalues(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.ComponentsFile.attributeTextValues")); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<66>(ptr)); + } else + goto handle_unusual; + continue; + // repeated .Odb.Lib.Protobuf.ComponentsFile.ComponentRecord componentRecords = 9; + case 9: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 74)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_componentrecords(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<74>(ptr)); + } else + goto handle_unusual; + continue; + // map componentRecordsByName = 10; + case 10: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 82)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(&_impl_.componentrecordsbyname_, ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<82>(ptr)); + } else + goto handle_unusual; + continue; + // repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 11; + case 11: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 90)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_propertyrecords(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<90>(ptr)); + } else + goto handle_unusual; + continue; + // map propertyRecordsByName = 12; + case 12: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 98)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(&_impl_.propertyrecordsbyname_, ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<98>(ptr)); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* ComponentsFile::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:Odb.Lib.Protobuf.ComponentsFile) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // string units = 1; + if (!this->_internal_units().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_units().data(), static_cast(this->_internal_units().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.ComponentsFile.units"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_units(), target); + } + + // uint32 id = 2; + if (this->_internal_id() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_id(), target); + } + + // .Odb.Lib.Protobuf.BoardSide side = 3; + if (this->_internal_side() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 3, this->_internal_side(), target); + } + + // string name = 4; + if (!this->_internal_name().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_name().data(), static_cast(this->_internal_name().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.ComponentsFile.name"); + target = stream->WriteStringMaybeAliased( + 4, this->_internal_name(), target); + } + + // string path = 5; + if (!this->_internal_path().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_path().data(), static_cast(this->_internal_path().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.ComponentsFile.path"); + target = stream->WriteStringMaybeAliased( + 5, this->_internal_path(), target); + } + + // string directory = 6; + if (!this->_internal_directory().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_directory().data(), static_cast(this->_internal_directory().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.ComponentsFile.directory"); + target = stream->WriteStringMaybeAliased( + 6, this->_internal_directory(), target); + } + + // repeated string attributeNames = 7; + for (int i = 0, n = this->_internal_attributenames_size(); i < n; i++) { + const auto& s = this->_internal_attributenames(i); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + s.data(), static_cast(s.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.ComponentsFile.attributeNames"); + target = stream->WriteString(7, s, target); + } + + // repeated string attributeTextValues = 8; + for (int i = 0, n = this->_internal_attributetextvalues_size(); i < n; i++) { + const auto& s = this->_internal_attributetextvalues(i); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + s.data(), static_cast(s.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.ComponentsFile.attributeTextValues"); + target = stream->WriteString(8, s, target); + } + + // repeated .Odb.Lib.Protobuf.ComponentsFile.ComponentRecord componentRecords = 9; + for (unsigned i = 0, + n = static_cast(this->_internal_componentrecords_size()); i < n; i++) { + const auto& repfield = this->_internal_componentrecords(i); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(9, repfield, repfield.GetCachedSize(), target, stream); + } + + // map componentRecordsByName = 10; + if (!this->_internal_componentrecordsbyname().empty()) { + using MapType = ::_pb::Map; + using WireHelper = ComponentsFile_ComponentRecordsByNameEntry_DoNotUse::Funcs; + const auto& map_field = this->_internal_componentrecordsbyname(); + auto check_utf8 = [](const MapType::value_type& entry) { + (void)entry; + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + entry.first.data(), static_cast(entry.first.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.ComponentsFile.ComponentRecordsByNameEntry.key"); + }; + + if (stream->IsSerializationDeterministic() && map_field.size() > 1) { + for (const auto& entry : ::_pbi::MapSorterPtr(map_field)) { + target = WireHelper::InternalSerialize(10, entry.first, entry.second, target, stream); + check_utf8(entry); + } + } else { + for (const auto& entry : map_field) { + target = WireHelper::InternalSerialize(10, entry.first, entry.second, target, stream); + check_utf8(entry); + } + } + } + + // repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 11; + for (unsigned i = 0, + n = static_cast(this->_internal_propertyrecords_size()); i < n; i++) { + const auto& repfield = this->_internal_propertyrecords(i); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(11, repfield, repfield.GetCachedSize(), target, stream); + } + + // map propertyRecordsByName = 12; + if (!this->_internal_propertyrecordsbyname().empty()) { + using MapType = ::_pb::Map; + using WireHelper = ComponentsFile_PropertyRecordsByNameEntry_DoNotUse::Funcs; + const auto& map_field = this->_internal_propertyrecordsbyname(); + auto check_utf8 = [](const MapType::value_type& entry) { + (void)entry; + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + entry.first.data(), static_cast(entry.first.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Odb.Lib.Protobuf.ComponentsFile.PropertyRecordsByNameEntry.key"); + }; + + if (stream->IsSerializationDeterministic() && map_field.size() > 1) { + for (const auto& entry : ::_pbi::MapSorterPtr(map_field)) { + target = WireHelper::InternalSerialize(12, entry.first, entry.second, target, stream); + check_utf8(entry); + } + } else { + for (const auto& entry : map_field) { + target = WireHelper::InternalSerialize(12, entry.first, entry.second, target, stream); + check_utf8(entry); + } + } + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:Odb.Lib.Protobuf.ComponentsFile) + return target; +} + +size_t ComponentsFile::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:Odb.Lib.Protobuf.ComponentsFile) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // repeated string attributeNames = 7; + total_size += 1 * + ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(_impl_.attributenames_.size()); + for (int i = 0, n = _impl_.attributenames_.size(); i < n; i++) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + _impl_.attributenames_.Get(i)); + } + + // repeated string attributeTextValues = 8; + total_size += 1 * + ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(_impl_.attributetextvalues_.size()); + for (int i = 0, n = _impl_.attributetextvalues_.size(); i < n; i++) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + _impl_.attributetextvalues_.Get(i)); + } + + // repeated .Odb.Lib.Protobuf.ComponentsFile.ComponentRecord componentRecords = 9; + total_size += 1UL * this->_internal_componentrecords_size(); + for (const auto& msg : this->_impl_.componentrecords_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + + // map componentRecordsByName = 10; + total_size += 1 * + ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_componentrecordsbyname_size()); + for (::PROTOBUF_NAMESPACE_ID::Map< std::string, ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord >::const_iterator + it = this->_internal_componentrecordsbyname().begin(); + it != this->_internal_componentrecordsbyname().end(); ++it) { + total_size += ComponentsFile_ComponentRecordsByNameEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second); + } + + // repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 11; + total_size += 1UL * this->_internal_propertyrecords_size(); + for (const auto& msg : this->_impl_.propertyrecords_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + + // map propertyRecordsByName = 12; + total_size += 1 * + ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_propertyrecordsbyname_size()); + for (::PROTOBUF_NAMESPACE_ID::Map< std::string, ::Odb::Lib::Protobuf::PropertyRecord >::const_iterator + it = this->_internal_propertyrecordsbyname().begin(); + it != this->_internal_propertyrecordsbyname().end(); ++it) { + total_size += ComponentsFile_PropertyRecordsByNameEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second); + } + + // string units = 1; + if (!this->_internal_units().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_units()); + } + + // string name = 4; + if (!this->_internal_name().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_name()); + } + + // string path = 5; + if (!this->_internal_path().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_path()); + } + + // string directory = 6; + if (!this->_internal_directory().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_directory()); + } + + // uint32 id = 2; + if (this->_internal_id() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_id()); + } + + // .Odb.Lib.Protobuf.BoardSide side = 3; + if (this->_internal_side() != 0) { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this->_internal_side()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ComponentsFile::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + ComponentsFile::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ComponentsFile::GetClassData() const { return &_class_data_; } + + +void ComponentsFile::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:Odb.Lib.Protobuf.ComponentsFile) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + _this->_impl_.attributenames_.MergeFrom(from._impl_.attributenames_); + _this->_impl_.attributetextvalues_.MergeFrom(from._impl_.attributetextvalues_); + _this->_impl_.componentrecords_.MergeFrom(from._impl_.componentrecords_); + _this->_impl_.componentrecordsbyname_.MergeFrom(from._impl_.componentrecordsbyname_); + _this->_impl_.propertyrecords_.MergeFrom(from._impl_.propertyrecords_); + _this->_impl_.propertyrecordsbyname_.MergeFrom(from._impl_.propertyrecordsbyname_); + if (!from._internal_units().empty()) { + _this->_internal_set_units(from._internal_units()); + } + if (!from._internal_name().empty()) { + _this->_internal_set_name(from._internal_name()); + } + if (!from._internal_path().empty()) { + _this->_internal_set_path(from._internal_path()); + } + if (!from._internal_directory().empty()) { + _this->_internal_set_directory(from._internal_directory()); + } + if (from._internal_id() != 0) { + _this->_internal_set_id(from._internal_id()); + } + if (from._internal_side() != 0) { + _this->_internal_set_side(from._internal_side()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void ComponentsFile::CopyFrom(const ComponentsFile& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:Odb.Lib.Protobuf.ComponentsFile) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool ComponentsFile::IsInitialized() const { + return true; +} + +void ComponentsFile::InternalSwap(ComponentsFile* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + _impl_.attributenames_.InternalSwap(&other->_impl_.attributenames_); + _impl_.attributetextvalues_.InternalSwap(&other->_impl_.attributetextvalues_); + _impl_.componentrecords_.InternalSwap(&other->_impl_.componentrecords_); + _impl_.componentrecordsbyname_.InternalSwap(&other->_impl_.componentrecordsbyname_); + _impl_.propertyrecords_.InternalSwap(&other->_impl_.propertyrecords_); + _impl_.propertyrecordsbyname_.InternalSwap(&other->_impl_.propertyrecordsbyname_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.units_, lhs_arena, + &other->_impl_.units_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.name_, lhs_arena, + &other->_impl_.name_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.path_, lhs_arena, + &other->_impl_.path_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.directory_, lhs_arena, + &other->_impl_.directory_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(ComponentsFile, _impl_.side_) + + sizeof(ComponentsFile::_impl_.side_) + - PROTOBUF_FIELD_OFFSET(ComponentsFile, _impl_.id_)>( + reinterpret_cast(&_impl_.id_), + reinterpret_cast(&other->_impl_.id_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata ComponentsFile::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_componentsfile_2eproto_getter, &descriptor_table_componentsfile_2eproto_once, + file_level_metadata_componentsfile_2eproto[4]); +} + +// @@protoc_insertion_point(namespace_scope) +} // namespace Protobuf +} // namespace Lib +} // namespace Odb +PROTOBUF_NAMESPACE_OPEN +template<> PROTOBUF_NOINLINE ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord* +Arena::CreateMaybeMessage< ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord >(Arena* arena) { + return Arena::CreateMessageInternal< ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord >(arena); +} +template<> PROTOBUF_NOINLINE ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord* +Arena::CreateMaybeMessage< ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord >(Arena* arena) { + return Arena::CreateMessageInternal< ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord >(arena); +} +template<> PROTOBUF_NOINLINE ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecordsByNameEntry_DoNotUse* +Arena::CreateMaybeMessage< ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecordsByNameEntry_DoNotUse >(Arena* arena) { + return Arena::CreateMessageInternal< ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecordsByNameEntry_DoNotUse >(arena); +} +template<> PROTOBUF_NOINLINE ::Odb::Lib::Protobuf::ComponentsFile_PropertyRecordsByNameEntry_DoNotUse* +Arena::CreateMaybeMessage< ::Odb::Lib::Protobuf::ComponentsFile_PropertyRecordsByNameEntry_DoNotUse >(Arena* arena) { + return Arena::CreateMessageInternal< ::Odb::Lib::Protobuf::ComponentsFile_PropertyRecordsByNameEntry_DoNotUse >(arena); +} +template<> PROTOBUF_NOINLINE ::Odb::Lib::Protobuf::ComponentsFile* +Arena::CreateMaybeMessage< ::Odb::Lib::Protobuf::ComponentsFile >(Arena* arena) { + return Arena::CreateMessageInternal< ::Odb::Lib::Protobuf::ComponentsFile >(arena); +} +PROTOBUF_NAMESPACE_CLOSE + +// @@protoc_insertion_point(global_scope) +#include diff --git a/OdbDesignLib/ProtoBuf/componentsfile.pb.h b/OdbDesignLib/ProtoBuf/componentsfile.pb.h new file mode 100644 index 00000000..9f20903b --- /dev/null +++ b/OdbDesignLib/ProtoBuf/componentsfile.pb.h @@ -0,0 +1,2158 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: componentsfile.proto + +#ifndef GOOGLE_PROTOBUF_INCLUDED_componentsfile_2eproto +#define GOOGLE_PROTOBUF_INCLUDED_componentsfile_2eproto + +#include +#include + +#include +#if PROTOBUF_VERSION < 3021000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3021012 < PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export +#include +#include +#include +#include "common.pb.h" +#include "enums.pb.h" +// @@protoc_insertion_point(includes) +#include +#define PROTOBUF_INTERNAL_EXPORT_componentsfile_2eproto +PROTOBUF_NAMESPACE_OPEN +namespace internal { +class AnyMetadata; +} // namespace internal +PROTOBUF_NAMESPACE_CLOSE + +// Internal implementation detail -- do not use these members. +struct TableStruct_componentsfile_2eproto { + static const uint32_t offsets[]; +}; +extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_componentsfile_2eproto; +namespace Odb { +namespace Lib { +namespace Protobuf { +class ComponentsFile; +struct ComponentsFileDefaultTypeInternal; +extern ComponentsFileDefaultTypeInternal _ComponentsFile_default_instance_; +class ComponentsFile_ComponentRecord; +struct ComponentsFile_ComponentRecordDefaultTypeInternal; +extern ComponentsFile_ComponentRecordDefaultTypeInternal _ComponentsFile_ComponentRecord_default_instance_; +class ComponentsFile_ComponentRecord_ToeprintRecord; +struct ComponentsFile_ComponentRecord_ToeprintRecordDefaultTypeInternal; +extern ComponentsFile_ComponentRecord_ToeprintRecordDefaultTypeInternal _ComponentsFile_ComponentRecord_ToeprintRecord_default_instance_; +class ComponentsFile_ComponentRecordsByNameEntry_DoNotUse; +struct ComponentsFile_ComponentRecordsByNameEntry_DoNotUseDefaultTypeInternal; +extern ComponentsFile_ComponentRecordsByNameEntry_DoNotUseDefaultTypeInternal _ComponentsFile_ComponentRecordsByNameEntry_DoNotUse_default_instance_; +class ComponentsFile_PropertyRecordsByNameEntry_DoNotUse; +struct ComponentsFile_PropertyRecordsByNameEntry_DoNotUseDefaultTypeInternal; +extern ComponentsFile_PropertyRecordsByNameEntry_DoNotUseDefaultTypeInternal _ComponentsFile_PropertyRecordsByNameEntry_DoNotUse_default_instance_; +} // namespace Protobuf +} // namespace Lib +} // namespace Odb +PROTOBUF_NAMESPACE_OPEN +template<> ::Odb::Lib::Protobuf::ComponentsFile* Arena::CreateMaybeMessage<::Odb::Lib::Protobuf::ComponentsFile>(Arena*); +template<> ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord* Arena::CreateMaybeMessage<::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord>(Arena*); +template<> ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord* Arena::CreateMaybeMessage<::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord>(Arena*); +template<> ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecordsByNameEntry_DoNotUse* Arena::CreateMaybeMessage<::Odb::Lib::Protobuf::ComponentsFile_ComponentRecordsByNameEntry_DoNotUse>(Arena*); +template<> ::Odb::Lib::Protobuf::ComponentsFile_PropertyRecordsByNameEntry_DoNotUse* Arena::CreateMaybeMessage<::Odb::Lib::Protobuf::ComponentsFile_PropertyRecordsByNameEntry_DoNotUse>(Arena*); +PROTOBUF_NAMESPACE_CLOSE +namespace Odb { +namespace Lib { +namespace Protobuf { + +// =================================================================== + +class ComponentsFile_ComponentRecord_ToeprintRecord final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord) */ { + public: + inline ComponentsFile_ComponentRecord_ToeprintRecord() : ComponentsFile_ComponentRecord_ToeprintRecord(nullptr) {} + ~ComponentsFile_ComponentRecord_ToeprintRecord() override; + explicit PROTOBUF_CONSTEXPR ComponentsFile_ComponentRecord_ToeprintRecord(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ComponentsFile_ComponentRecord_ToeprintRecord(const ComponentsFile_ComponentRecord_ToeprintRecord& from); + ComponentsFile_ComponentRecord_ToeprintRecord(ComponentsFile_ComponentRecord_ToeprintRecord&& from) noexcept + : ComponentsFile_ComponentRecord_ToeprintRecord() { + *this = ::std::move(from); + } + + inline ComponentsFile_ComponentRecord_ToeprintRecord& operator=(const ComponentsFile_ComponentRecord_ToeprintRecord& from) { + CopyFrom(from); + return *this; + } + inline ComponentsFile_ComponentRecord_ToeprintRecord& operator=(ComponentsFile_ComponentRecord_ToeprintRecord&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ComponentsFile_ComponentRecord_ToeprintRecord& default_instance() { + return *internal_default_instance(); + } + static inline const ComponentsFile_ComponentRecord_ToeprintRecord* internal_default_instance() { + return reinterpret_cast( + &_ComponentsFile_ComponentRecord_ToeprintRecord_default_instance_); + } + static constexpr int kIndexInFileMessages = + 0; + + friend void swap(ComponentsFile_ComponentRecord_ToeprintRecord& a, ComponentsFile_ComponentRecord_ToeprintRecord& b) { + a.Swap(&b); + } + inline void Swap(ComponentsFile_ComponentRecord_ToeprintRecord* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ComponentsFile_ComponentRecord_ToeprintRecord* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + ComponentsFile_ComponentRecord_ToeprintRecord* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const ComponentsFile_ComponentRecord_ToeprintRecord& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const ComponentsFile_ComponentRecord_ToeprintRecord& from) { + ComponentsFile_ComponentRecord_ToeprintRecord::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ComponentsFile_ComponentRecord_ToeprintRecord* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord"; + } + protected: + explicit ComponentsFile_ComponentRecord_ToeprintRecord(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kNameFieldNumber = 8, + kPinNumberFieldNumber = 1, + kLocationXFieldNumber = 2, + kLocationYFieldNumber = 3, + kRotationFieldNumber = 4, + kMirrorFieldNumber = 5, + kNetNumberFieldNumber = 6, + kSubnetNumberFieldNumber = 7, + }; + // string name = 8; + void clear_name(); + const std::string& name() const; + template + void set_name(ArgT0&& arg0, ArgT... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* name); + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); + std::string* _internal_mutable_name(); + public: + + // uint32 pinNumber = 1; + void clear_pinnumber(); + uint32_t pinnumber() const; + void set_pinnumber(uint32_t value); + private: + uint32_t _internal_pinnumber() const; + void _internal_set_pinnumber(uint32_t value); + public: + + // float locationX = 2; + void clear_locationx(); + float locationx() const; + void set_locationx(float value); + private: + float _internal_locationx() const; + void _internal_set_locationx(float value); + public: + + // float locationY = 3; + void clear_locationy(); + float locationy() const; + void set_locationy(float value); + private: + float _internal_locationy() const; + void _internal_set_locationy(float value); + public: + + // float rotation = 4; + void clear_rotation(); + float rotation() const; + void set_rotation(float value); + private: + float _internal_rotation() const; + void _internal_set_rotation(float value); + public: + + // bool mirror = 5; + void clear_mirror(); + bool mirror() const; + void set_mirror(bool value); + private: + bool _internal_mirror() const; + void _internal_set_mirror(bool value); + public: + + // uint32 netNumber = 6; + void clear_netnumber(); + uint32_t netnumber() const; + void set_netnumber(uint32_t value); + private: + uint32_t _internal_netnumber() const; + void _internal_set_netnumber(uint32_t value); + public: + + // uint32 subnetNumber = 7; + void clear_subnetnumber(); + uint32_t subnetnumber() const; + void set_subnetnumber(uint32_t value); + private: + uint32_t _internal_subnetnumber() const; + void _internal_set_subnetnumber(uint32_t value); + public: + + // @@protoc_insertion_point(class_scope:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; + uint32_t pinnumber_; + float locationx_; + float locationy_; + float rotation_; + bool mirror_; + uint32_t netnumber_; + uint32_t subnetnumber_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_componentsfile_2eproto; +}; +// ------------------------------------------------------------------- + +class ComponentsFile_ComponentRecord final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord) */ { + public: + inline ComponentsFile_ComponentRecord() : ComponentsFile_ComponentRecord(nullptr) {} + ~ComponentsFile_ComponentRecord() override; + explicit PROTOBUF_CONSTEXPR ComponentsFile_ComponentRecord(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ComponentsFile_ComponentRecord(const ComponentsFile_ComponentRecord& from); + ComponentsFile_ComponentRecord(ComponentsFile_ComponentRecord&& from) noexcept + : ComponentsFile_ComponentRecord() { + *this = ::std::move(from); + } + + inline ComponentsFile_ComponentRecord& operator=(const ComponentsFile_ComponentRecord& from) { + CopyFrom(from); + return *this; + } + inline ComponentsFile_ComponentRecord& operator=(ComponentsFile_ComponentRecord&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ComponentsFile_ComponentRecord& default_instance() { + return *internal_default_instance(); + } + static inline const ComponentsFile_ComponentRecord* internal_default_instance() { + return reinterpret_cast( + &_ComponentsFile_ComponentRecord_default_instance_); + } + static constexpr int kIndexInFileMessages = + 1; + + friend void swap(ComponentsFile_ComponentRecord& a, ComponentsFile_ComponentRecord& b) { + a.Swap(&b); + } + inline void Swap(ComponentsFile_ComponentRecord* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ComponentsFile_ComponentRecord* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + ComponentsFile_ComponentRecord* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const ComponentsFile_ComponentRecord& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const ComponentsFile_ComponentRecord& from) { + ComponentsFile_ComponentRecord::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ComponentsFile_ComponentRecord* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "Odb.Lib.Protobuf.ComponentsFile.ComponentRecord"; + } + protected: + explicit ComponentsFile_ComponentRecord(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + typedef ComponentsFile_ComponentRecord_ToeprintRecord ToeprintRecord; + + // accessors ------------------------------------------------------- + + enum : int { + kPropertyRecordsFieldNumber = 11, + kToeprintRecordsFieldNumber = 12, + kCompNameFieldNumber = 6, + kPartNameFieldNumber = 7, + kAttributesFieldNumber = 8, + kPkgRefFieldNumber = 1, + kLocationXFieldNumber = 2, + kLocationYFieldNumber = 3, + kRotationFieldNumber = 4, + kMirrorFieldNumber = 5, + kIdFieldNumber = 9, + kIndexFieldNumber = 10, + }; + // repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 11; + int propertyrecords_size() const; + private: + int _internal_propertyrecords_size() const; + public: + void clear_propertyrecords(); + ::Odb::Lib::Protobuf::PropertyRecord* mutable_propertyrecords(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord >* + mutable_propertyrecords(); + private: + const ::Odb::Lib::Protobuf::PropertyRecord& _internal_propertyrecords(int index) const; + ::Odb::Lib::Protobuf::PropertyRecord* _internal_add_propertyrecords(); + public: + const ::Odb::Lib::Protobuf::PropertyRecord& propertyrecords(int index) const; + ::Odb::Lib::Protobuf::PropertyRecord* add_propertyrecords(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord >& + propertyrecords() const; + + // repeated .Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord toeprintRecords = 12; + int toeprintrecords_size() const; + private: + int _internal_toeprintrecords_size() const; + public: + void clear_toeprintrecords(); + ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord* mutable_toeprintrecords(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord >* + mutable_toeprintrecords(); + private: + const ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord& _internal_toeprintrecords(int index) const; + ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord* _internal_add_toeprintrecords(); + public: + const ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord& toeprintrecords(int index) const; + ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord* add_toeprintrecords(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord >& + toeprintrecords() const; + + // string compName = 6; + void clear_compname(); + const std::string& compname() const; + template + void set_compname(ArgT0&& arg0, ArgT... args); + std::string* mutable_compname(); + PROTOBUF_NODISCARD std::string* release_compname(); + void set_allocated_compname(std::string* compname); + private: + const std::string& _internal_compname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_compname(const std::string& value); + std::string* _internal_mutable_compname(); + public: + + // string partName = 7; + void clear_partname(); + const std::string& partname() const; + template + void set_partname(ArgT0&& arg0, ArgT... args); + std::string* mutable_partname(); + PROTOBUF_NODISCARD std::string* release_partname(); + void set_allocated_partname(std::string* partname); + private: + const std::string& _internal_partname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_partname(const std::string& value); + std::string* _internal_mutable_partname(); + public: + + // string attributes = 8; + void clear_attributes(); + const std::string& attributes() const; + template + void set_attributes(ArgT0&& arg0, ArgT... args); + std::string* mutable_attributes(); + PROTOBUF_NODISCARD std::string* release_attributes(); + void set_allocated_attributes(std::string* attributes); + private: + const std::string& _internal_attributes() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_attributes(const std::string& value); + std::string* _internal_mutable_attributes(); + public: + + // uint32 pkgRef = 1; + void clear_pkgref(); + uint32_t pkgref() const; + void set_pkgref(uint32_t value); + private: + uint32_t _internal_pkgref() const; + void _internal_set_pkgref(uint32_t value); + public: + + // float locationX = 2; + void clear_locationx(); + float locationx() const; + void set_locationx(float value); + private: + float _internal_locationx() const; + void _internal_set_locationx(float value); + public: + + // float locationY = 3; + void clear_locationy(); + float locationy() const; + void set_locationy(float value); + private: + float _internal_locationy() const; + void _internal_set_locationy(float value); + public: + + // float rotation = 4; + void clear_rotation(); + float rotation() const; + void set_rotation(float value); + private: + float _internal_rotation() const; + void _internal_set_rotation(float value); + public: + + // bool mirror = 5; + void clear_mirror(); + bool mirror() const; + void set_mirror(bool value); + private: + bool _internal_mirror() const; + void _internal_set_mirror(bool value); + public: + + // uint32 id = 9; + void clear_id(); + uint32_t id() const; + void set_id(uint32_t value); + private: + uint32_t _internal_id() const; + void _internal_set_id(uint32_t value); + public: + + // uint32 index = 10; + void clear_index(); + uint32_t index() const; + void set_index(uint32_t value); + private: + uint32_t _internal_index() const; + void _internal_set_index(uint32_t value); + public: + + // @@protoc_insertion_point(class_scope:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord > propertyrecords_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord > toeprintrecords_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr compname_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr partname_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr attributes_; + uint32_t pkgref_; + float locationx_; + float locationy_; + float rotation_; + bool mirror_; + uint32_t id_; + uint32_t index_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_componentsfile_2eproto; +}; +// ------------------------------------------------------------------- + +class ComponentsFile_ComponentRecordsByNameEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry { +public: + typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry SuperType; + ComponentsFile_ComponentRecordsByNameEntry_DoNotUse(); + explicit PROTOBUF_CONSTEXPR ComponentsFile_ComponentRecordsByNameEntry_DoNotUse( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + explicit ComponentsFile_ComponentRecordsByNameEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena); + void MergeFrom(const ComponentsFile_ComponentRecordsByNameEntry_DoNotUse& other); + static const ComponentsFile_ComponentRecordsByNameEntry_DoNotUse* internal_default_instance() { return reinterpret_cast(&_ComponentsFile_ComponentRecordsByNameEntry_DoNotUse_default_instance_); } + static bool ValidateKey(std::string* s) { + return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "Odb.Lib.Protobuf.ComponentsFile.ComponentRecordsByNameEntry.key"); + } + static bool ValidateValue(void*) { return true; } + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + friend struct ::TableStruct_componentsfile_2eproto; +}; + +// ------------------------------------------------------------------- + +class ComponentsFile_PropertyRecordsByNameEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry { +public: + typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry SuperType; + ComponentsFile_PropertyRecordsByNameEntry_DoNotUse(); + explicit PROTOBUF_CONSTEXPR ComponentsFile_PropertyRecordsByNameEntry_DoNotUse( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + explicit ComponentsFile_PropertyRecordsByNameEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena); + void MergeFrom(const ComponentsFile_PropertyRecordsByNameEntry_DoNotUse& other); + static const ComponentsFile_PropertyRecordsByNameEntry_DoNotUse* internal_default_instance() { return reinterpret_cast(&_ComponentsFile_PropertyRecordsByNameEntry_DoNotUse_default_instance_); } + static bool ValidateKey(std::string* s) { + return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "Odb.Lib.Protobuf.ComponentsFile.PropertyRecordsByNameEntry.key"); + } + static bool ValidateValue(void*) { return true; } + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + friend struct ::TableStruct_componentsfile_2eproto; +}; + +// ------------------------------------------------------------------- + +class ComponentsFile final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Odb.Lib.Protobuf.ComponentsFile) */ { + public: + inline ComponentsFile() : ComponentsFile(nullptr) {} + ~ComponentsFile() override; + explicit PROTOBUF_CONSTEXPR ComponentsFile(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ComponentsFile(const ComponentsFile& from); + ComponentsFile(ComponentsFile&& from) noexcept + : ComponentsFile() { + *this = ::std::move(from); + } + + inline ComponentsFile& operator=(const ComponentsFile& from) { + CopyFrom(from); + return *this; + } + inline ComponentsFile& operator=(ComponentsFile&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ComponentsFile& default_instance() { + return *internal_default_instance(); + } + static inline const ComponentsFile* internal_default_instance() { + return reinterpret_cast( + &_ComponentsFile_default_instance_); + } + static constexpr int kIndexInFileMessages = + 4; + + friend void swap(ComponentsFile& a, ComponentsFile& b) { + a.Swap(&b); + } + inline void Swap(ComponentsFile* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ComponentsFile* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + ComponentsFile* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const ComponentsFile& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const ComponentsFile& from) { + ComponentsFile::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ComponentsFile* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "Odb.Lib.Protobuf.ComponentsFile"; + } + protected: + explicit ComponentsFile(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + typedef ComponentsFile_ComponentRecord ComponentRecord; + + // accessors ------------------------------------------------------- + + enum : int { + kAttributeNamesFieldNumber = 7, + kAttributeTextValuesFieldNumber = 8, + kComponentRecordsFieldNumber = 9, + kComponentRecordsByNameFieldNumber = 10, + kPropertyRecordsFieldNumber = 11, + kPropertyRecordsByNameFieldNumber = 12, + kUnitsFieldNumber = 1, + kNameFieldNumber = 4, + kPathFieldNumber = 5, + kDirectoryFieldNumber = 6, + kIdFieldNumber = 2, + kSideFieldNumber = 3, + }; + // repeated string attributeNames = 7; + int attributenames_size() const; + private: + int _internal_attributenames_size() const; + public: + void clear_attributenames(); + const std::string& attributenames(int index) const; + std::string* mutable_attributenames(int index); + void set_attributenames(int index, const std::string& value); + void set_attributenames(int index, std::string&& value); + void set_attributenames(int index, const char* value); + void set_attributenames(int index, const char* value, size_t size); + std::string* add_attributenames(); + void add_attributenames(const std::string& value); + void add_attributenames(std::string&& value); + void add_attributenames(const char* value); + void add_attributenames(const char* value, size_t size); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& attributenames() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_attributenames(); + private: + const std::string& _internal_attributenames(int index) const; + std::string* _internal_add_attributenames(); + public: + + // repeated string attributeTextValues = 8; + int attributetextvalues_size() const; + private: + int _internal_attributetextvalues_size() const; + public: + void clear_attributetextvalues(); + const std::string& attributetextvalues(int index) const; + std::string* mutable_attributetextvalues(int index); + void set_attributetextvalues(int index, const std::string& value); + void set_attributetextvalues(int index, std::string&& value); + void set_attributetextvalues(int index, const char* value); + void set_attributetextvalues(int index, const char* value, size_t size); + std::string* add_attributetextvalues(); + void add_attributetextvalues(const std::string& value); + void add_attributetextvalues(std::string&& value); + void add_attributetextvalues(const char* value); + void add_attributetextvalues(const char* value, size_t size); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& attributetextvalues() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_attributetextvalues(); + private: + const std::string& _internal_attributetextvalues(int index) const; + std::string* _internal_add_attributetextvalues(); + public: + + // repeated .Odb.Lib.Protobuf.ComponentsFile.ComponentRecord componentRecords = 9; + int componentrecords_size() const; + private: + int _internal_componentrecords_size() const; + public: + void clear_componentrecords(); + ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord* mutable_componentrecords(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord >* + mutable_componentrecords(); + private: + const ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord& _internal_componentrecords(int index) const; + ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord* _internal_add_componentrecords(); + public: + const ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord& componentrecords(int index) const; + ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord* add_componentrecords(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord >& + componentrecords() const; + + // map componentRecordsByName = 10; + int componentrecordsbyname_size() const; + private: + int _internal_componentrecordsbyname_size() const; + public: + void clear_componentrecordsbyname(); + private: + const ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord >& + _internal_componentrecordsbyname() const; + ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord >* + _internal_mutable_componentrecordsbyname(); + public: + const ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord >& + componentrecordsbyname() const; + ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord >* + mutable_componentrecordsbyname(); + + // repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 11; + int propertyrecords_size() const; + private: + int _internal_propertyrecords_size() const; + public: + void clear_propertyrecords(); + ::Odb::Lib::Protobuf::PropertyRecord* mutable_propertyrecords(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord >* + mutable_propertyrecords(); + private: + const ::Odb::Lib::Protobuf::PropertyRecord& _internal_propertyrecords(int index) const; + ::Odb::Lib::Protobuf::PropertyRecord* _internal_add_propertyrecords(); + public: + const ::Odb::Lib::Protobuf::PropertyRecord& propertyrecords(int index) const; + ::Odb::Lib::Protobuf::PropertyRecord* add_propertyrecords(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord >& + propertyrecords() const; + + // map propertyRecordsByName = 12; + int propertyrecordsbyname_size() const; + private: + int _internal_propertyrecordsbyname_size() const; + public: + void clear_propertyrecordsbyname(); + private: + const ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::Odb::Lib::Protobuf::PropertyRecord >& + _internal_propertyrecordsbyname() const; + ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::Odb::Lib::Protobuf::PropertyRecord >* + _internal_mutable_propertyrecordsbyname(); + public: + const ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::Odb::Lib::Protobuf::PropertyRecord >& + propertyrecordsbyname() const; + ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::Odb::Lib::Protobuf::PropertyRecord >* + mutable_propertyrecordsbyname(); + + // string units = 1; + void clear_units(); + const std::string& units() const; + template + void set_units(ArgT0&& arg0, ArgT... args); + std::string* mutable_units(); + PROTOBUF_NODISCARD std::string* release_units(); + void set_allocated_units(std::string* units); + private: + const std::string& _internal_units() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_units(const std::string& value); + std::string* _internal_mutable_units(); + public: + + // string name = 4; + void clear_name(); + const std::string& name() const; + template + void set_name(ArgT0&& arg0, ArgT... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* name); + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); + std::string* _internal_mutable_name(); + public: + + // string path = 5; + void clear_path(); + const std::string& path() const; + template + void set_path(ArgT0&& arg0, ArgT... args); + std::string* mutable_path(); + PROTOBUF_NODISCARD std::string* release_path(); + void set_allocated_path(std::string* path); + private: + const std::string& _internal_path() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_path(const std::string& value); + std::string* _internal_mutable_path(); + public: + + // string directory = 6; + void clear_directory(); + const std::string& directory() const; + template + void set_directory(ArgT0&& arg0, ArgT... args); + std::string* mutable_directory(); + PROTOBUF_NODISCARD std::string* release_directory(); + void set_allocated_directory(std::string* directory); + private: + const std::string& _internal_directory() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_directory(const std::string& value); + std::string* _internal_mutable_directory(); + public: + + // uint32 id = 2; + void clear_id(); + uint32_t id() const; + void set_id(uint32_t value); + private: + uint32_t _internal_id() const; + void _internal_set_id(uint32_t value); + public: + + // .Odb.Lib.Protobuf.BoardSide side = 3; + void clear_side(); + ::Odb::Lib::Protobuf::BoardSide side() const; + void set_side(::Odb::Lib::Protobuf::BoardSide value); + private: + ::Odb::Lib::Protobuf::BoardSide _internal_side() const; + void _internal_set_side(::Odb::Lib::Protobuf::BoardSide value); + public: + + // @@protoc_insertion_point(class_scope:Odb.Lib.Protobuf.ComponentsFile) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField attributenames_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField attributetextvalues_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord > componentrecords_; + ::PROTOBUF_NAMESPACE_ID::internal::MapField< + ComponentsFile_ComponentRecordsByNameEntry_DoNotUse, + std::string, ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> componentrecordsbyname_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord > propertyrecords_; + ::PROTOBUF_NAMESPACE_ID::internal::MapField< + ComponentsFile_PropertyRecordsByNameEntry_DoNotUse, + std::string, ::Odb::Lib::Protobuf::PropertyRecord, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> propertyrecordsbyname_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr units_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr path_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr directory_; + uint32_t id_; + int side_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_componentsfile_2eproto; +}; +// =================================================================== + + +// =================================================================== + +#ifdef __GNUC__ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// ComponentsFile_ComponentRecord_ToeprintRecord + +// uint32 pinNumber = 1; +inline void ComponentsFile_ComponentRecord_ToeprintRecord::clear_pinnumber() { + _impl_.pinnumber_ = 0u; +} +inline uint32_t ComponentsFile_ComponentRecord_ToeprintRecord::_internal_pinnumber() const { + return _impl_.pinnumber_; +} +inline uint32_t ComponentsFile_ComponentRecord_ToeprintRecord::pinnumber() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord.pinNumber) + return _internal_pinnumber(); +} +inline void ComponentsFile_ComponentRecord_ToeprintRecord::_internal_set_pinnumber(uint32_t value) { + + _impl_.pinnumber_ = value; +} +inline void ComponentsFile_ComponentRecord_ToeprintRecord::set_pinnumber(uint32_t value) { + _internal_set_pinnumber(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord.pinNumber) +} + +// float locationX = 2; +inline void ComponentsFile_ComponentRecord_ToeprintRecord::clear_locationx() { + _impl_.locationx_ = 0; +} +inline float ComponentsFile_ComponentRecord_ToeprintRecord::_internal_locationx() const { + return _impl_.locationx_; +} +inline float ComponentsFile_ComponentRecord_ToeprintRecord::locationx() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord.locationX) + return _internal_locationx(); +} +inline void ComponentsFile_ComponentRecord_ToeprintRecord::_internal_set_locationx(float value) { + + _impl_.locationx_ = value; +} +inline void ComponentsFile_ComponentRecord_ToeprintRecord::set_locationx(float value) { + _internal_set_locationx(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord.locationX) +} + +// float locationY = 3; +inline void ComponentsFile_ComponentRecord_ToeprintRecord::clear_locationy() { + _impl_.locationy_ = 0; +} +inline float ComponentsFile_ComponentRecord_ToeprintRecord::_internal_locationy() const { + return _impl_.locationy_; +} +inline float ComponentsFile_ComponentRecord_ToeprintRecord::locationy() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord.locationY) + return _internal_locationy(); +} +inline void ComponentsFile_ComponentRecord_ToeprintRecord::_internal_set_locationy(float value) { + + _impl_.locationy_ = value; +} +inline void ComponentsFile_ComponentRecord_ToeprintRecord::set_locationy(float value) { + _internal_set_locationy(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord.locationY) +} + +// float rotation = 4; +inline void ComponentsFile_ComponentRecord_ToeprintRecord::clear_rotation() { + _impl_.rotation_ = 0; +} +inline float ComponentsFile_ComponentRecord_ToeprintRecord::_internal_rotation() const { + return _impl_.rotation_; +} +inline float ComponentsFile_ComponentRecord_ToeprintRecord::rotation() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord.rotation) + return _internal_rotation(); +} +inline void ComponentsFile_ComponentRecord_ToeprintRecord::_internal_set_rotation(float value) { + + _impl_.rotation_ = value; +} +inline void ComponentsFile_ComponentRecord_ToeprintRecord::set_rotation(float value) { + _internal_set_rotation(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord.rotation) +} + +// bool mirror = 5; +inline void ComponentsFile_ComponentRecord_ToeprintRecord::clear_mirror() { + _impl_.mirror_ = false; +} +inline bool ComponentsFile_ComponentRecord_ToeprintRecord::_internal_mirror() const { + return _impl_.mirror_; +} +inline bool ComponentsFile_ComponentRecord_ToeprintRecord::mirror() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord.mirror) + return _internal_mirror(); +} +inline void ComponentsFile_ComponentRecord_ToeprintRecord::_internal_set_mirror(bool value) { + + _impl_.mirror_ = value; +} +inline void ComponentsFile_ComponentRecord_ToeprintRecord::set_mirror(bool value) { + _internal_set_mirror(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord.mirror) +} + +// uint32 netNumber = 6; +inline void ComponentsFile_ComponentRecord_ToeprintRecord::clear_netnumber() { + _impl_.netnumber_ = 0u; +} +inline uint32_t ComponentsFile_ComponentRecord_ToeprintRecord::_internal_netnumber() const { + return _impl_.netnumber_; +} +inline uint32_t ComponentsFile_ComponentRecord_ToeprintRecord::netnumber() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord.netNumber) + return _internal_netnumber(); +} +inline void ComponentsFile_ComponentRecord_ToeprintRecord::_internal_set_netnumber(uint32_t value) { + + _impl_.netnumber_ = value; +} +inline void ComponentsFile_ComponentRecord_ToeprintRecord::set_netnumber(uint32_t value) { + _internal_set_netnumber(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord.netNumber) +} + +// uint32 subnetNumber = 7; +inline void ComponentsFile_ComponentRecord_ToeprintRecord::clear_subnetnumber() { + _impl_.subnetnumber_ = 0u; +} +inline uint32_t ComponentsFile_ComponentRecord_ToeprintRecord::_internal_subnetnumber() const { + return _impl_.subnetnumber_; +} +inline uint32_t ComponentsFile_ComponentRecord_ToeprintRecord::subnetnumber() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord.subnetNumber) + return _internal_subnetnumber(); +} +inline void ComponentsFile_ComponentRecord_ToeprintRecord::_internal_set_subnetnumber(uint32_t value) { + + _impl_.subnetnumber_ = value; +} +inline void ComponentsFile_ComponentRecord_ToeprintRecord::set_subnetnumber(uint32_t value) { + _internal_set_subnetnumber(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord.subnetNumber) +} + +// string name = 8; +inline void ComponentsFile_ComponentRecord_ToeprintRecord::clear_name() { + _impl_.name_.ClearToEmpty(); +} +inline const std::string& ComponentsFile_ComponentRecord_ToeprintRecord::name() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord.name) + return _internal_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ComponentsFile_ComponentRecord_ToeprintRecord::set_name(ArgT0&& arg0, ArgT... args) { + + _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord.name) +} +inline std::string* ComponentsFile_ComponentRecord_ToeprintRecord::mutable_name() { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord.name) + return _s; +} +inline const std::string& ComponentsFile_ComponentRecord_ToeprintRecord::_internal_name() const { + return _impl_.name_.Get(); +} +inline void ComponentsFile_ComponentRecord_ToeprintRecord::_internal_set_name(const std::string& value) { + + _impl_.name_.Set(value, GetArenaForAllocation()); +} +inline std::string* ComponentsFile_ComponentRecord_ToeprintRecord::_internal_mutable_name() { + + return _impl_.name_.Mutable(GetArenaForAllocation()); +} +inline std::string* ComponentsFile_ComponentRecord_ToeprintRecord::release_name() { + // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord.name) + return _impl_.name_.Release(); +} +inline void ComponentsFile_ComponentRecord_ToeprintRecord::set_allocated_name(std::string* name) { + if (name != nullptr) { + + } else { + + } + _impl_.name_.SetAllocated(name, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord.name) +} + +// ------------------------------------------------------------------- + +// ComponentsFile_ComponentRecord + +// uint32 pkgRef = 1; +inline void ComponentsFile_ComponentRecord::clear_pkgref() { + _impl_.pkgref_ = 0u; +} +inline uint32_t ComponentsFile_ComponentRecord::_internal_pkgref() const { + return _impl_.pkgref_; +} +inline uint32_t ComponentsFile_ComponentRecord::pkgref() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.pkgRef) + return _internal_pkgref(); +} +inline void ComponentsFile_ComponentRecord::_internal_set_pkgref(uint32_t value) { + + _impl_.pkgref_ = value; +} +inline void ComponentsFile_ComponentRecord::set_pkgref(uint32_t value) { + _internal_set_pkgref(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.pkgRef) +} + +// float locationX = 2; +inline void ComponentsFile_ComponentRecord::clear_locationx() { + _impl_.locationx_ = 0; +} +inline float ComponentsFile_ComponentRecord::_internal_locationx() const { + return _impl_.locationx_; +} +inline float ComponentsFile_ComponentRecord::locationx() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.locationX) + return _internal_locationx(); +} +inline void ComponentsFile_ComponentRecord::_internal_set_locationx(float value) { + + _impl_.locationx_ = value; +} +inline void ComponentsFile_ComponentRecord::set_locationx(float value) { + _internal_set_locationx(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.locationX) +} + +// float locationY = 3; +inline void ComponentsFile_ComponentRecord::clear_locationy() { + _impl_.locationy_ = 0; +} +inline float ComponentsFile_ComponentRecord::_internal_locationy() const { + return _impl_.locationy_; +} +inline float ComponentsFile_ComponentRecord::locationy() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.locationY) + return _internal_locationy(); +} +inline void ComponentsFile_ComponentRecord::_internal_set_locationy(float value) { + + _impl_.locationy_ = value; +} +inline void ComponentsFile_ComponentRecord::set_locationy(float value) { + _internal_set_locationy(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.locationY) +} + +// float rotation = 4; +inline void ComponentsFile_ComponentRecord::clear_rotation() { + _impl_.rotation_ = 0; +} +inline float ComponentsFile_ComponentRecord::_internal_rotation() const { + return _impl_.rotation_; +} +inline float ComponentsFile_ComponentRecord::rotation() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.rotation) + return _internal_rotation(); +} +inline void ComponentsFile_ComponentRecord::_internal_set_rotation(float value) { + + _impl_.rotation_ = value; +} +inline void ComponentsFile_ComponentRecord::set_rotation(float value) { + _internal_set_rotation(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.rotation) +} + +// bool mirror = 5; +inline void ComponentsFile_ComponentRecord::clear_mirror() { + _impl_.mirror_ = false; +} +inline bool ComponentsFile_ComponentRecord::_internal_mirror() const { + return _impl_.mirror_; +} +inline bool ComponentsFile_ComponentRecord::mirror() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.mirror) + return _internal_mirror(); +} +inline void ComponentsFile_ComponentRecord::_internal_set_mirror(bool value) { + + _impl_.mirror_ = value; +} +inline void ComponentsFile_ComponentRecord::set_mirror(bool value) { + _internal_set_mirror(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.mirror) +} + +// string compName = 6; +inline void ComponentsFile_ComponentRecord::clear_compname() { + _impl_.compname_.ClearToEmpty(); +} +inline const std::string& ComponentsFile_ComponentRecord::compname() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.compName) + return _internal_compname(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ComponentsFile_ComponentRecord::set_compname(ArgT0&& arg0, ArgT... args) { + + _impl_.compname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.compName) +} +inline std::string* ComponentsFile_ComponentRecord::mutable_compname() { + std::string* _s = _internal_mutable_compname(); + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.compName) + return _s; +} +inline const std::string& ComponentsFile_ComponentRecord::_internal_compname() const { + return _impl_.compname_.Get(); +} +inline void ComponentsFile_ComponentRecord::_internal_set_compname(const std::string& value) { + + _impl_.compname_.Set(value, GetArenaForAllocation()); +} +inline std::string* ComponentsFile_ComponentRecord::_internal_mutable_compname() { + + return _impl_.compname_.Mutable(GetArenaForAllocation()); +} +inline std::string* ComponentsFile_ComponentRecord::release_compname() { + // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.compName) + return _impl_.compname_.Release(); +} +inline void ComponentsFile_ComponentRecord::set_allocated_compname(std::string* compname) { + if (compname != nullptr) { + + } else { + + } + _impl_.compname_.SetAllocated(compname, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.compname_.IsDefault()) { + _impl_.compname_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.compName) +} + +// string partName = 7; +inline void ComponentsFile_ComponentRecord::clear_partname() { + _impl_.partname_.ClearToEmpty(); +} +inline const std::string& ComponentsFile_ComponentRecord::partname() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.partName) + return _internal_partname(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ComponentsFile_ComponentRecord::set_partname(ArgT0&& arg0, ArgT... args) { + + _impl_.partname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.partName) +} +inline std::string* ComponentsFile_ComponentRecord::mutable_partname() { + std::string* _s = _internal_mutable_partname(); + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.partName) + return _s; +} +inline const std::string& ComponentsFile_ComponentRecord::_internal_partname() const { + return _impl_.partname_.Get(); +} +inline void ComponentsFile_ComponentRecord::_internal_set_partname(const std::string& value) { + + _impl_.partname_.Set(value, GetArenaForAllocation()); +} +inline std::string* ComponentsFile_ComponentRecord::_internal_mutable_partname() { + + return _impl_.partname_.Mutable(GetArenaForAllocation()); +} +inline std::string* ComponentsFile_ComponentRecord::release_partname() { + // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.partName) + return _impl_.partname_.Release(); +} +inline void ComponentsFile_ComponentRecord::set_allocated_partname(std::string* partname) { + if (partname != nullptr) { + + } else { + + } + _impl_.partname_.SetAllocated(partname, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.partname_.IsDefault()) { + _impl_.partname_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.partName) +} + +// string attributes = 8; +inline void ComponentsFile_ComponentRecord::clear_attributes() { + _impl_.attributes_.ClearToEmpty(); +} +inline const std::string& ComponentsFile_ComponentRecord::attributes() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.attributes) + return _internal_attributes(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ComponentsFile_ComponentRecord::set_attributes(ArgT0&& arg0, ArgT... args) { + + _impl_.attributes_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.attributes) +} +inline std::string* ComponentsFile_ComponentRecord::mutable_attributes() { + std::string* _s = _internal_mutable_attributes(); + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.attributes) + return _s; +} +inline const std::string& ComponentsFile_ComponentRecord::_internal_attributes() const { + return _impl_.attributes_.Get(); +} +inline void ComponentsFile_ComponentRecord::_internal_set_attributes(const std::string& value) { + + _impl_.attributes_.Set(value, GetArenaForAllocation()); +} +inline std::string* ComponentsFile_ComponentRecord::_internal_mutable_attributes() { + + return _impl_.attributes_.Mutable(GetArenaForAllocation()); +} +inline std::string* ComponentsFile_ComponentRecord::release_attributes() { + // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.attributes) + return _impl_.attributes_.Release(); +} +inline void ComponentsFile_ComponentRecord::set_allocated_attributes(std::string* attributes) { + if (attributes != nullptr) { + + } else { + + } + _impl_.attributes_.SetAllocated(attributes, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.attributes_.IsDefault()) { + _impl_.attributes_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.attributes) +} + +// uint32 id = 9; +inline void ComponentsFile_ComponentRecord::clear_id() { + _impl_.id_ = 0u; +} +inline uint32_t ComponentsFile_ComponentRecord::_internal_id() const { + return _impl_.id_; +} +inline uint32_t ComponentsFile_ComponentRecord::id() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.id) + return _internal_id(); +} +inline void ComponentsFile_ComponentRecord::_internal_set_id(uint32_t value) { + + _impl_.id_ = value; +} +inline void ComponentsFile_ComponentRecord::set_id(uint32_t value) { + _internal_set_id(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.id) +} + +// uint32 index = 10; +inline void ComponentsFile_ComponentRecord::clear_index() { + _impl_.index_ = 0u; +} +inline uint32_t ComponentsFile_ComponentRecord::_internal_index() const { + return _impl_.index_; +} +inline uint32_t ComponentsFile_ComponentRecord::index() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.index) + return _internal_index(); +} +inline void ComponentsFile_ComponentRecord::_internal_set_index(uint32_t value) { + + _impl_.index_ = value; +} +inline void ComponentsFile_ComponentRecord::set_index(uint32_t value) { + _internal_set_index(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.index) +} + +// repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 11; +inline int ComponentsFile_ComponentRecord::_internal_propertyrecords_size() const { + return _impl_.propertyrecords_.size(); +} +inline int ComponentsFile_ComponentRecord::propertyrecords_size() const { + return _internal_propertyrecords_size(); +} +inline ::Odb::Lib::Protobuf::PropertyRecord* ComponentsFile_ComponentRecord::mutable_propertyrecords(int index) { + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.propertyRecords) + return _impl_.propertyrecords_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord >* +ComponentsFile_ComponentRecord::mutable_propertyrecords() { + // @@protoc_insertion_point(field_mutable_list:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.propertyRecords) + return &_impl_.propertyrecords_; +} +inline const ::Odb::Lib::Protobuf::PropertyRecord& ComponentsFile_ComponentRecord::_internal_propertyrecords(int index) const { + return _impl_.propertyrecords_.Get(index); +} +inline const ::Odb::Lib::Protobuf::PropertyRecord& ComponentsFile_ComponentRecord::propertyrecords(int index) const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.propertyRecords) + return _internal_propertyrecords(index); +} +inline ::Odb::Lib::Protobuf::PropertyRecord* ComponentsFile_ComponentRecord::_internal_add_propertyrecords() { + return _impl_.propertyrecords_.Add(); +} +inline ::Odb::Lib::Protobuf::PropertyRecord* ComponentsFile_ComponentRecord::add_propertyrecords() { + ::Odb::Lib::Protobuf::PropertyRecord* _add = _internal_add_propertyrecords(); + // @@protoc_insertion_point(field_add:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.propertyRecords) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord >& +ComponentsFile_ComponentRecord::propertyrecords() const { + // @@protoc_insertion_point(field_list:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.propertyRecords) + return _impl_.propertyrecords_; +} + +// repeated .Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.ToeprintRecord toeprintRecords = 12; +inline int ComponentsFile_ComponentRecord::_internal_toeprintrecords_size() const { + return _impl_.toeprintrecords_.size(); +} +inline int ComponentsFile_ComponentRecord::toeprintrecords_size() const { + return _internal_toeprintrecords_size(); +} +inline void ComponentsFile_ComponentRecord::clear_toeprintrecords() { + _impl_.toeprintrecords_.Clear(); +} +inline ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord* ComponentsFile_ComponentRecord::mutable_toeprintrecords(int index) { + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.toeprintRecords) + return _impl_.toeprintrecords_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord >* +ComponentsFile_ComponentRecord::mutable_toeprintrecords() { + // @@protoc_insertion_point(field_mutable_list:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.toeprintRecords) + return &_impl_.toeprintrecords_; +} +inline const ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord& ComponentsFile_ComponentRecord::_internal_toeprintrecords(int index) const { + return _impl_.toeprintrecords_.Get(index); +} +inline const ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord& ComponentsFile_ComponentRecord::toeprintrecords(int index) const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.toeprintRecords) + return _internal_toeprintrecords(index); +} +inline ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord* ComponentsFile_ComponentRecord::_internal_add_toeprintrecords() { + return _impl_.toeprintrecords_.Add(); +} +inline ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord* ComponentsFile_ComponentRecord::add_toeprintrecords() { + ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord* _add = _internal_add_toeprintrecords(); + // @@protoc_insertion_point(field_add:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.toeprintRecords) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord_ToeprintRecord >& +ComponentsFile_ComponentRecord::toeprintrecords() const { + // @@protoc_insertion_point(field_list:Odb.Lib.Protobuf.ComponentsFile.ComponentRecord.toeprintRecords) + return _impl_.toeprintrecords_; +} + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ComponentsFile + +// string units = 1; +inline void ComponentsFile::clear_units() { + _impl_.units_.ClearToEmpty(); +} +inline const std::string& ComponentsFile::units() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.units) + return _internal_units(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ComponentsFile::set_units(ArgT0&& arg0, ArgT... args) { + + _impl_.units_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.ComponentsFile.units) +} +inline std::string* ComponentsFile::mutable_units() { + std::string* _s = _internal_mutable_units(); + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.ComponentsFile.units) + return _s; +} +inline const std::string& ComponentsFile::_internal_units() const { + return _impl_.units_.Get(); +} +inline void ComponentsFile::_internal_set_units(const std::string& value) { + + _impl_.units_.Set(value, GetArenaForAllocation()); +} +inline std::string* ComponentsFile::_internal_mutable_units() { + + return _impl_.units_.Mutable(GetArenaForAllocation()); +} +inline std::string* ComponentsFile::release_units() { + // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.ComponentsFile.units) + return _impl_.units_.Release(); +} +inline void ComponentsFile::set_allocated_units(std::string* units) { + if (units != nullptr) { + + } else { + + } + _impl_.units_.SetAllocated(units, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.units_.IsDefault()) { + _impl_.units_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.ComponentsFile.units) +} + +// uint32 id = 2; +inline void ComponentsFile::clear_id() { + _impl_.id_ = 0u; +} +inline uint32_t ComponentsFile::_internal_id() const { + return _impl_.id_; +} +inline uint32_t ComponentsFile::id() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.id) + return _internal_id(); +} +inline void ComponentsFile::_internal_set_id(uint32_t value) { + + _impl_.id_ = value; +} +inline void ComponentsFile::set_id(uint32_t value) { + _internal_set_id(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.ComponentsFile.id) +} + +// .Odb.Lib.Protobuf.BoardSide side = 3; +inline void ComponentsFile::clear_side() { + _impl_.side_ = 0; +} +inline ::Odb::Lib::Protobuf::BoardSide ComponentsFile::_internal_side() const { + return static_cast< ::Odb::Lib::Protobuf::BoardSide >(_impl_.side_); +} +inline ::Odb::Lib::Protobuf::BoardSide ComponentsFile::side() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.side) + return _internal_side(); +} +inline void ComponentsFile::_internal_set_side(::Odb::Lib::Protobuf::BoardSide value) { + + _impl_.side_ = value; +} +inline void ComponentsFile::set_side(::Odb::Lib::Protobuf::BoardSide value) { + _internal_set_side(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.ComponentsFile.side) +} + +// string name = 4; +inline void ComponentsFile::clear_name() { + _impl_.name_.ClearToEmpty(); +} +inline const std::string& ComponentsFile::name() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.name) + return _internal_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ComponentsFile::set_name(ArgT0&& arg0, ArgT... args) { + + _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.ComponentsFile.name) +} +inline std::string* ComponentsFile::mutable_name() { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.ComponentsFile.name) + return _s; +} +inline const std::string& ComponentsFile::_internal_name() const { + return _impl_.name_.Get(); +} +inline void ComponentsFile::_internal_set_name(const std::string& value) { + + _impl_.name_.Set(value, GetArenaForAllocation()); +} +inline std::string* ComponentsFile::_internal_mutable_name() { + + return _impl_.name_.Mutable(GetArenaForAllocation()); +} +inline std::string* ComponentsFile::release_name() { + // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.ComponentsFile.name) + return _impl_.name_.Release(); +} +inline void ComponentsFile::set_allocated_name(std::string* name) { + if (name != nullptr) { + + } else { + + } + _impl_.name_.SetAllocated(name, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.ComponentsFile.name) +} + +// string path = 5; +inline void ComponentsFile::clear_path() { + _impl_.path_.ClearToEmpty(); +} +inline const std::string& ComponentsFile::path() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.path) + return _internal_path(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ComponentsFile::set_path(ArgT0&& arg0, ArgT... args) { + + _impl_.path_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.ComponentsFile.path) +} +inline std::string* ComponentsFile::mutable_path() { + std::string* _s = _internal_mutable_path(); + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.ComponentsFile.path) + return _s; +} +inline const std::string& ComponentsFile::_internal_path() const { + return _impl_.path_.Get(); +} +inline void ComponentsFile::_internal_set_path(const std::string& value) { + + _impl_.path_.Set(value, GetArenaForAllocation()); +} +inline std::string* ComponentsFile::_internal_mutable_path() { + + return _impl_.path_.Mutable(GetArenaForAllocation()); +} +inline std::string* ComponentsFile::release_path() { + // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.ComponentsFile.path) + return _impl_.path_.Release(); +} +inline void ComponentsFile::set_allocated_path(std::string* path) { + if (path != nullptr) { + + } else { + + } + _impl_.path_.SetAllocated(path, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.path_.IsDefault()) { + _impl_.path_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.ComponentsFile.path) +} + +// string directory = 6; +inline void ComponentsFile::clear_directory() { + _impl_.directory_.ClearToEmpty(); +} +inline const std::string& ComponentsFile::directory() const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.directory) + return _internal_directory(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ComponentsFile::set_directory(ArgT0&& arg0, ArgT... args) { + + _impl_.directory_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.ComponentsFile.directory) +} +inline std::string* ComponentsFile::mutable_directory() { + std::string* _s = _internal_mutable_directory(); + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.ComponentsFile.directory) + return _s; +} +inline const std::string& ComponentsFile::_internal_directory() const { + return _impl_.directory_.Get(); +} +inline void ComponentsFile::_internal_set_directory(const std::string& value) { + + _impl_.directory_.Set(value, GetArenaForAllocation()); +} +inline std::string* ComponentsFile::_internal_mutable_directory() { + + return _impl_.directory_.Mutable(GetArenaForAllocation()); +} +inline std::string* ComponentsFile::release_directory() { + // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.ComponentsFile.directory) + return _impl_.directory_.Release(); +} +inline void ComponentsFile::set_allocated_directory(std::string* directory) { + if (directory != nullptr) { + + } else { + + } + _impl_.directory_.SetAllocated(directory, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.directory_.IsDefault()) { + _impl_.directory_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.ComponentsFile.directory) +} + +// repeated string attributeNames = 7; +inline int ComponentsFile::_internal_attributenames_size() const { + return _impl_.attributenames_.size(); +} +inline int ComponentsFile::attributenames_size() const { + return _internal_attributenames_size(); +} +inline void ComponentsFile::clear_attributenames() { + _impl_.attributenames_.Clear(); +} +inline std::string* ComponentsFile::add_attributenames() { + std::string* _s = _internal_add_attributenames(); + // @@protoc_insertion_point(field_add_mutable:Odb.Lib.Protobuf.ComponentsFile.attributeNames) + return _s; +} +inline const std::string& ComponentsFile::_internal_attributenames(int index) const { + return _impl_.attributenames_.Get(index); +} +inline const std::string& ComponentsFile::attributenames(int index) const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.attributeNames) + return _internal_attributenames(index); +} +inline std::string* ComponentsFile::mutable_attributenames(int index) { + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.ComponentsFile.attributeNames) + return _impl_.attributenames_.Mutable(index); +} +inline void ComponentsFile::set_attributenames(int index, const std::string& value) { + _impl_.attributenames_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.ComponentsFile.attributeNames) +} +inline void ComponentsFile::set_attributenames(int index, std::string&& value) { + _impl_.attributenames_.Mutable(index)->assign(std::move(value)); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.ComponentsFile.attributeNames) +} +inline void ComponentsFile::set_attributenames(int index, const char* value) { + GOOGLE_DCHECK(value != nullptr); + _impl_.attributenames_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set_char:Odb.Lib.Protobuf.ComponentsFile.attributeNames) +} +inline void ComponentsFile::set_attributenames(int index, const char* value, size_t size) { + _impl_.attributenames_.Mutable(index)->assign( + reinterpret_cast(value), size); + // @@protoc_insertion_point(field_set_pointer:Odb.Lib.Protobuf.ComponentsFile.attributeNames) +} +inline std::string* ComponentsFile::_internal_add_attributenames() { + return _impl_.attributenames_.Add(); +} +inline void ComponentsFile::add_attributenames(const std::string& value) { + _impl_.attributenames_.Add()->assign(value); + // @@protoc_insertion_point(field_add:Odb.Lib.Protobuf.ComponentsFile.attributeNames) +} +inline void ComponentsFile::add_attributenames(std::string&& value) { + _impl_.attributenames_.Add(std::move(value)); + // @@protoc_insertion_point(field_add:Odb.Lib.Protobuf.ComponentsFile.attributeNames) +} +inline void ComponentsFile::add_attributenames(const char* value) { + GOOGLE_DCHECK(value != nullptr); + _impl_.attributenames_.Add()->assign(value); + // @@protoc_insertion_point(field_add_char:Odb.Lib.Protobuf.ComponentsFile.attributeNames) +} +inline void ComponentsFile::add_attributenames(const char* value, size_t size) { + _impl_.attributenames_.Add()->assign(reinterpret_cast(value), size); + // @@protoc_insertion_point(field_add_pointer:Odb.Lib.Protobuf.ComponentsFile.attributeNames) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& +ComponentsFile::attributenames() const { + // @@protoc_insertion_point(field_list:Odb.Lib.Protobuf.ComponentsFile.attributeNames) + return _impl_.attributenames_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* +ComponentsFile::mutable_attributenames() { + // @@protoc_insertion_point(field_mutable_list:Odb.Lib.Protobuf.ComponentsFile.attributeNames) + return &_impl_.attributenames_; +} + +// repeated string attributeTextValues = 8; +inline int ComponentsFile::_internal_attributetextvalues_size() const { + return _impl_.attributetextvalues_.size(); +} +inline int ComponentsFile::attributetextvalues_size() const { + return _internal_attributetextvalues_size(); +} +inline void ComponentsFile::clear_attributetextvalues() { + _impl_.attributetextvalues_.Clear(); +} +inline std::string* ComponentsFile::add_attributetextvalues() { + std::string* _s = _internal_add_attributetextvalues(); + // @@protoc_insertion_point(field_add_mutable:Odb.Lib.Protobuf.ComponentsFile.attributeTextValues) + return _s; +} +inline const std::string& ComponentsFile::_internal_attributetextvalues(int index) const { + return _impl_.attributetextvalues_.Get(index); +} +inline const std::string& ComponentsFile::attributetextvalues(int index) const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.attributeTextValues) + return _internal_attributetextvalues(index); +} +inline std::string* ComponentsFile::mutable_attributetextvalues(int index) { + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.ComponentsFile.attributeTextValues) + return _impl_.attributetextvalues_.Mutable(index); +} +inline void ComponentsFile::set_attributetextvalues(int index, const std::string& value) { + _impl_.attributetextvalues_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.ComponentsFile.attributeTextValues) +} +inline void ComponentsFile::set_attributetextvalues(int index, std::string&& value) { + _impl_.attributetextvalues_.Mutable(index)->assign(std::move(value)); + // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.ComponentsFile.attributeTextValues) +} +inline void ComponentsFile::set_attributetextvalues(int index, const char* value) { + GOOGLE_DCHECK(value != nullptr); + _impl_.attributetextvalues_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set_char:Odb.Lib.Protobuf.ComponentsFile.attributeTextValues) +} +inline void ComponentsFile::set_attributetextvalues(int index, const char* value, size_t size) { + _impl_.attributetextvalues_.Mutable(index)->assign( + reinterpret_cast(value), size); + // @@protoc_insertion_point(field_set_pointer:Odb.Lib.Protobuf.ComponentsFile.attributeTextValues) +} +inline std::string* ComponentsFile::_internal_add_attributetextvalues() { + return _impl_.attributetextvalues_.Add(); +} +inline void ComponentsFile::add_attributetextvalues(const std::string& value) { + _impl_.attributetextvalues_.Add()->assign(value); + // @@protoc_insertion_point(field_add:Odb.Lib.Protobuf.ComponentsFile.attributeTextValues) +} +inline void ComponentsFile::add_attributetextvalues(std::string&& value) { + _impl_.attributetextvalues_.Add(std::move(value)); + // @@protoc_insertion_point(field_add:Odb.Lib.Protobuf.ComponentsFile.attributeTextValues) +} +inline void ComponentsFile::add_attributetextvalues(const char* value) { + GOOGLE_DCHECK(value != nullptr); + _impl_.attributetextvalues_.Add()->assign(value); + // @@protoc_insertion_point(field_add_char:Odb.Lib.Protobuf.ComponentsFile.attributeTextValues) +} +inline void ComponentsFile::add_attributetextvalues(const char* value, size_t size) { + _impl_.attributetextvalues_.Add()->assign(reinterpret_cast(value), size); + // @@protoc_insertion_point(field_add_pointer:Odb.Lib.Protobuf.ComponentsFile.attributeTextValues) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& +ComponentsFile::attributetextvalues() const { + // @@protoc_insertion_point(field_list:Odb.Lib.Protobuf.ComponentsFile.attributeTextValues) + return _impl_.attributetextvalues_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* +ComponentsFile::mutable_attributetextvalues() { + // @@protoc_insertion_point(field_mutable_list:Odb.Lib.Protobuf.ComponentsFile.attributeTextValues) + return &_impl_.attributetextvalues_; +} + +// repeated .Odb.Lib.Protobuf.ComponentsFile.ComponentRecord componentRecords = 9; +inline int ComponentsFile::_internal_componentrecords_size() const { + return _impl_.componentrecords_.size(); +} +inline int ComponentsFile::componentrecords_size() const { + return _internal_componentrecords_size(); +} +inline void ComponentsFile::clear_componentrecords() { + _impl_.componentrecords_.Clear(); +} +inline ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord* ComponentsFile::mutable_componentrecords(int index) { + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.ComponentsFile.componentRecords) + return _impl_.componentrecords_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord >* +ComponentsFile::mutable_componentrecords() { + // @@protoc_insertion_point(field_mutable_list:Odb.Lib.Protobuf.ComponentsFile.componentRecords) + return &_impl_.componentrecords_; +} +inline const ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord& ComponentsFile::_internal_componentrecords(int index) const { + return _impl_.componentrecords_.Get(index); +} +inline const ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord& ComponentsFile::componentrecords(int index) const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.componentRecords) + return _internal_componentrecords(index); +} +inline ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord* ComponentsFile::_internal_add_componentrecords() { + return _impl_.componentrecords_.Add(); +} +inline ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord* ComponentsFile::add_componentrecords() { + ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord* _add = _internal_add_componentrecords(); + // @@protoc_insertion_point(field_add:Odb.Lib.Protobuf.ComponentsFile.componentRecords) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord >& +ComponentsFile::componentrecords() const { + // @@protoc_insertion_point(field_list:Odb.Lib.Protobuf.ComponentsFile.componentRecords) + return _impl_.componentrecords_; +} + +// map componentRecordsByName = 10; +inline int ComponentsFile::_internal_componentrecordsbyname_size() const { + return _impl_.componentrecordsbyname_.size(); +} +inline int ComponentsFile::componentrecordsbyname_size() const { + return _internal_componentrecordsbyname_size(); +} +inline void ComponentsFile::clear_componentrecordsbyname() { + _impl_.componentrecordsbyname_.Clear(); +} +inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord >& +ComponentsFile::_internal_componentrecordsbyname() const { + return _impl_.componentrecordsbyname_.GetMap(); +} +inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord >& +ComponentsFile::componentrecordsbyname() const { + // @@protoc_insertion_point(field_map:Odb.Lib.Protobuf.ComponentsFile.componentRecordsByName) + return _internal_componentrecordsbyname(); +} +inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord >* +ComponentsFile::_internal_mutable_componentrecordsbyname() { + return _impl_.componentrecordsbyname_.MutableMap(); +} +inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::Odb::Lib::Protobuf::ComponentsFile_ComponentRecord >* +ComponentsFile::mutable_componentrecordsbyname() { + // @@protoc_insertion_point(field_mutable_map:Odb.Lib.Protobuf.ComponentsFile.componentRecordsByName) + return _internal_mutable_componentrecordsbyname(); +} + +// repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 11; +inline int ComponentsFile::_internal_propertyrecords_size() const { + return _impl_.propertyrecords_.size(); +} +inline int ComponentsFile::propertyrecords_size() const { + return _internal_propertyrecords_size(); +} +inline ::Odb::Lib::Protobuf::PropertyRecord* ComponentsFile::mutable_propertyrecords(int index) { + // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.ComponentsFile.propertyRecords) + return _impl_.propertyrecords_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord >* +ComponentsFile::mutable_propertyrecords() { + // @@protoc_insertion_point(field_mutable_list:Odb.Lib.Protobuf.ComponentsFile.propertyRecords) + return &_impl_.propertyrecords_; +} +inline const ::Odb::Lib::Protobuf::PropertyRecord& ComponentsFile::_internal_propertyrecords(int index) const { + return _impl_.propertyrecords_.Get(index); +} +inline const ::Odb::Lib::Protobuf::PropertyRecord& ComponentsFile::propertyrecords(int index) const { + // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.ComponentsFile.propertyRecords) + return _internal_propertyrecords(index); +} +inline ::Odb::Lib::Protobuf::PropertyRecord* ComponentsFile::_internal_add_propertyrecords() { + return _impl_.propertyrecords_.Add(); +} +inline ::Odb::Lib::Protobuf::PropertyRecord* ComponentsFile::add_propertyrecords() { + ::Odb::Lib::Protobuf::PropertyRecord* _add = _internal_add_propertyrecords(); + // @@protoc_insertion_point(field_add:Odb.Lib.Protobuf.ComponentsFile.propertyRecords) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord >& +ComponentsFile::propertyrecords() const { + // @@protoc_insertion_point(field_list:Odb.Lib.Protobuf.ComponentsFile.propertyRecords) + return _impl_.propertyrecords_; +} + +// map propertyRecordsByName = 12; +inline int ComponentsFile::_internal_propertyrecordsbyname_size() const { + return _impl_.propertyrecordsbyname_.size(); +} +inline int ComponentsFile::propertyrecordsbyname_size() const { + return _internal_propertyrecordsbyname_size(); +} +inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::Odb::Lib::Protobuf::PropertyRecord >& +ComponentsFile::_internal_propertyrecordsbyname() const { + return _impl_.propertyrecordsbyname_.GetMap(); +} +inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::Odb::Lib::Protobuf::PropertyRecord >& +ComponentsFile::propertyrecordsbyname() const { + // @@protoc_insertion_point(field_map:Odb.Lib.Protobuf.ComponentsFile.propertyRecordsByName) + return _internal_propertyrecordsbyname(); +} +inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::Odb::Lib::Protobuf::PropertyRecord >* +ComponentsFile::_internal_mutable_propertyrecordsbyname() { + return _impl_.propertyrecordsbyname_.MutableMap(); +} +inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::Odb::Lib::Protobuf::PropertyRecord >* +ComponentsFile::mutable_propertyrecordsbyname() { + // @@protoc_insertion_point(field_mutable_map:Odb.Lib.Protobuf.ComponentsFile.propertyRecordsByName) + return _internal_mutable_propertyrecordsbyname(); +} + +#ifdef __GNUC__ + #pragma GCC diagnostic pop +#endif // __GNUC__ +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + + +// @@protoc_insertion_point(namespace_scope) + +} // namespace Protobuf +} // namespace Lib +} // namespace Odb + +// @@protoc_insertion_point(global_scope) + +#include +#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_componentsfile_2eproto diff --git a/OdbDesignLib/ProtoBuf/edadatafile.pb.cc b/OdbDesignLib/ProtoBuf/edadatafile.pb.cc index 540badbb..7bb43f1c 100644 --- a/OdbDesignLib/ProtoBuf/edadatafile.pb.cc +++ b/OdbDesignLib/ProtoBuf/edadatafile.pb.cc @@ -23,22 +23,6 @@ namespace _pbi = _pb::internal; namespace Odb { namespace Lib { namespace Protobuf { -PROTOBUF_CONSTEXPR EdaDataFile_PropertyRecord::EdaDataFile_PropertyRecord( - ::_pbi::ConstantInitialized): _impl_{ - /*decltype(_impl_._has_bits_)*/{} - , /*decltype(_impl_._cached_size_)*/{} - , /*decltype(_impl_.floatvalues_)*/{} - , /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} - , /*decltype(_impl_.value_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}} {} -struct EdaDataFile_PropertyRecordDefaultTypeInternal { - PROTOBUF_CONSTEXPR EdaDataFile_PropertyRecordDefaultTypeInternal() - : _instance(::_pbi::ConstantInitialized{}) {} - ~EdaDataFile_PropertyRecordDefaultTypeInternal() {} - union { - EdaDataFile_PropertyRecord _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EdaDataFile_PropertyRecordDefaultTypeInternal _EdaDataFile_PropertyRecord_default_instance_; PROTOBUF_CONSTEXPR EdaDataFile_FeatureIdRecord::EdaDataFile_FeatureIdRecord( ::_pbi::ConstantInitialized): _impl_{ /*decltype(_impl_._has_bits_)*/{} @@ -216,23 +200,11 @@ PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORIT } // namespace Protobuf } // namespace Lib } // namespace Odb -static ::_pb::Metadata file_level_metadata_edadatafile_2eproto[11]; -static const ::_pb::EnumDescriptor* file_level_enum_descriptors_edadatafile_2eproto[8]; +static ::_pb::Metadata file_level_metadata_edadatafile_2eproto[10]; +static const ::_pb::EnumDescriptor* file_level_enum_descriptors_edadatafile_2eproto[7]; static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_edadatafile_2eproto = nullptr; const uint32_t TableStruct_edadatafile_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { - PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord, _impl_._has_bits_), - PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord, _impl_.name_), - PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord, _impl_.value_), - PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord, _impl_.floatvalues_), - 0, - 1, - ~0u, PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord, _impl_._has_bits_), PROTOBUF_FIELD_OFFSET(::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord, _internal_metadata_), ~0u, // no _extensions_ @@ -407,21 +379,19 @@ const uint32_t TableStruct_edadatafile_2eproto::offsets[] PROTOBUF_SECTION_VARIA ~0u, }; static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { - { 0, 9, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord)}, - { 12, 21, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord)}, - { 24, 38, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord)}, - { 46, 57, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_NetRecord)}, - { 62, 70, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_PackageRecord_PinRecordsByNameEntry_DoNotUse)}, - { 72, 87, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_PackageRecord_PinRecord)}, - { 96, 112, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_PackageRecord)}, - { 122, 131, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord)}, - { 134, 142, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_NetRecordsByNameEntry_DoNotUse)}, - { 144, 152, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_PackageRecordsByNameEntry_DoNotUse)}, - { 154, 172, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile)}, + { 0, 9, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord)}, + { 12, 26, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord)}, + { 34, 45, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_NetRecord)}, + { 50, 58, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_PackageRecord_PinRecordsByNameEntry_DoNotUse)}, + { 60, 75, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_PackageRecord_PinRecord)}, + { 84, 100, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_PackageRecord)}, + { 110, 119, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord)}, + { 122, 130, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_NetRecordsByNameEntry_DoNotUse)}, + { 132, 140, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile_PackageRecordsByNameEntry_DoNotUse)}, + { 142, 160, -1, sizeof(::Odb::Lib::Protobuf::EdaDataFile)}, }; static const ::_pb::Message* const file_default_instances[] = { - &::Odb::Lib::Protobuf::_EdaDataFile_PropertyRecord_default_instance_._instance, &::Odb::Lib::Protobuf::_EdaDataFile_FeatureIdRecord_default_instance_._instance, &::Odb::Lib::Protobuf::_EdaDataFile_NetRecord_SubnetRecord_default_instance_._instance, &::Odb::Lib::Protobuf::_EdaDataFile_NetRecord_default_instance_._instance, @@ -435,109 +405,108 @@ static const ::_pb::Message* const file_default_instances[] = { }; const char descriptor_table_protodef_edadatafile_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = - "\n\021edadatafile.proto\022\020Odb.Lib.Protobuf\"\321\035" - "\n\013EdaDataFile\022\021\n\004path\030\001 \001(\tH\000\210\001\001\022\022\n\005unit" - "s\030\002 \001(\tH\001\210\001\001\022\023\n\006source\030\003 \001(\tH\002\210\001\001\022\022\n\nlay" - "erNames\030\004 \003(\t\022\026\n\016attributeNames\030\005 \003(\t\022\033\n" - "\023attributeTextValues\030\006 \003(\t\022;\n\nnetRecords" - "\030\007 \003(\0132\'.Odb.Lib.Protobuf.EdaDataFile.Ne" - "tRecord\022M\n\020netRecordsByName\030\010 \003(\01323.Odb." - "Lib.Protobuf.EdaDataFile.NetRecordsByNam" - "eEntry\022C\n\016packageRecords\030\t \003(\0132+.Odb.Lib" - ".Protobuf.EdaDataFile.PackageRecord\022U\n\024p" - "ackageRecordsByName\030\n \003(\01327.Odb.Lib.Prot" - "obuf.EdaDataFile.PackageRecordsByNameEnt" - "ry\022E\n\017propertyRecords\030\013 \003(\0132,.Odb.Lib.Pr" - "otobuf.EdaDataFile.PropertyRecord\022M\n\023fea" - "tureGroupRecords\030\014 \003(\01320.Odb.Lib.Protobu" - "f.EdaDataFile.FeatureGroupRecord\032_\n\016Prop" - "ertyRecord\022\021\n\004name\030\001 \001(\tH\000\210\001\001\022\022\n\005value\030\002" - " \001(\tH\001\210\001\001\022\023\n\013floatValues\030\003 \003(\002B\007\n\005_nameB" - "\010\n\006_value\032\345\001\n\017FeatureIdRecord\022E\n\004type\030\001 " - "\001(\01622.Odb.Lib.Protobuf.EdaDataFile.Featu" - "reIdRecord.TypeH\000\210\001\001\022\030\n\013layerNumber\030\002 \001(" - "\rH\001\210\001\001\022\032\n\rfeatureNumber\030\003 \001(\rH\002\210\001\001\"*\n\004Ty" - "pe\022\n\n\006COPPER\020\000\022\014\n\010LAMINATE\020\001\022\010\n\004HOLE\020\002B\007" - "\n\005_typeB\016\n\014_layerNumberB\020\n\016_featureNumbe" - "r\032\363\007\n\tNetRecord\022\021\n\004name\030\001 \001(\tH\000\210\001\001\022\037\n\022at" - "tributesIdString\030\002 \001(\tH\001\210\001\001\022\022\n\005index\030\003 \001" - "(\rH\002\210\001\001\022K\n\rsubnetRecords\030\004 \003(\01324.Odb.Lib" - ".Protobuf.EdaDataFile.NetRecord.SubnetRe" - "cord\022E\n\017propertyRecords\030\005 \003(\0132,.Odb.Lib." - "Protobuf.EdaDataFile.PropertyRecord\032\337\005\n\014" - "SubnetRecord\022L\n\004type\030\001 \001(\01629.Odb.Lib.Pro" - "tobuf.EdaDataFile.NetRecord.SubnetRecord" - ".TypeH\000\210\001\001\022G\n\020featureIdRecords\030\002 \003(\0132-.O" - "db.Lib.Protobuf.EdaDataFile.FeatureIdRec" - "ord\022T\n\010fillType\030\003 \001(\0162=.Odb.Lib.Protobuf" - ".EdaDataFile.NetRecord.SubnetRecord.Fill" - "TypeH\001\210\001\001\022X\n\ncutoutType\030\004 \001(\0162\?.Odb.Lib." - "Protobuf.EdaDataFile.NetRecord.SubnetRec" - "ord.CutoutTypeH\002\210\001\001\022\025\n\010fillSize\030\005 \001(\002H\003\210" - "\001\001\022:\n\004side\030\006 \001(\0162\'.Odb.Lib.Protobuf.EdaD" - "ataFile.BoardSideH\004\210\001\001\022\034\n\017componentNumbe" - "r\030\007 \001(\rH\005\210\001\001\022\033\n\016toeprintNumber\030\010 \001(\rH\006\210\001" - "\001\"3\n\004Type\022\007\n\003VIA\020\000\022\t\n\005TRACE\020\001\022\t\n\005PLANE\020\002" - "\022\014\n\010TOEPRINT\020\003\"\"\n\010FillType\022\t\n\005SOLID\020\000\022\013\n" - "\007OUTLINE\020\001\"\?\n\nCutoutType\022\n\n\006CIRCLE\020\000\022\r\n\t" - "RECTANGLE\020\001\022\013\n\007OCTAGON\020\002\022\t\n\005EXACT\020\003B\007\n\005_" - "typeB\013\n\t_fillTypeB\r\n\013_cutoutTypeB\013\n\t_fil" - "lSizeB\007\n\005_sideB\022\n\020_componentNumberB\021\n\017_t" - "oeprintNumberB\007\n\005_nameB\025\n\023_attributesIdS" - "tringB\010\n\006_index\032\360\n\n\rPackageRecord\022\021\n\004nam" - "e\030\001 \001(\tH\000\210\001\001\022\022\n\005pitch\030\002 \001(\002H\001\210\001\001\022\021\n\004xMin" - "\030\003 \001(\002H\002\210\001\001\022\021\n\004yMin\030\004 \001(\002H\003\210\001\001\022\021\n\004xMax\030\005" - " \001(\002H\004\210\001\001\022\021\n\004yMax\030\006 \001(\002H\005\210\001\001\022\037\n\022attribut" - "esIdString\030\007 \001(\tH\006\210\001\001\022I\n\npinRecords\030\010 \003(" - "\01325.Odb.Lib.Protobuf.EdaDataFile.Package" - "Record.PinRecord\022[\n\020pinRecordsByName\030\t \003" - "(\0132A.Odb.Lib.Protobuf.EdaDataFile.Packag" - "eRecord.PinRecordsByNameEntry\022E\n\017propert" - "yRecords\030\n \003(\0132,.Odb.Lib.Protobuf.EdaDat" - "aFile.PropertyRecord\032n\n\025PinRecordsByName" - "Entry\022\013\n\003key\030\001 \001(\t\022D\n\005value\030\002 \001(\01325.Odb." - "Lib.Protobuf.EdaDataFile.PackageRecord.P" - "inRecord:\0028\001\032\235\006\n\tPinRecord\022\021\n\004name\030\001 \001(\t" - "H\000\210\001\001\022M\n\004type\030\002 \001(\0162:.Odb.Lib.Protobuf.E" - "daDataFile.PackageRecord.PinRecord.TypeH" - "\001\210\001\001\022\024\n\007xCenter\030\003 \001(\002H\002\210\001\001\022\024\n\007yCenter\030\004 " - "\001(\002H\003\210\001\001\022\035\n\020finishedHoleSize\030\005 \001(\002H\004\210\001\001\022" - "a\n\016electricalType\030\006 \001(\0162D.Odb.Lib.Protob" - "uf.EdaDataFile.PackageRecord.PinRecord.E" - "lectricalTypeH\005\210\001\001\022W\n\tmountType\030\007 \001(\0162\?." - "Odb.Lib.Protobuf.EdaDataFile.PackageReco" - "rd.PinRecord.MountTypeH\006\210\001\001\022\017\n\002id\030\010 \001(\rH" - "\007\210\001\001\022\022\n\005index\030\t \001(\rH\010\210\001\001\"0\n\004Type\022\020\n\014THRO" - "UGH_HOLE\020\000\022\t\n\005BLIND\020\001\022\013\n\007SURFACE\020\002\"C\n\016El" - "ectricalType\022\016\n\nELECTRICAL\020\000\022\022\n\016NON_ELEC" - "TRICAL\020\001\022\r\n\tUNDEFINED\020\002\"\231\001\n\tMountType\022\007\n" - "\003SMT\020\000\022\027\n\023RECOMMENDED_SMT_PAD\020\001\022\023\n\017MT_TH" - "ROUGH_HOLE\020\002\022\034\n\030RECOMMENDED_THROUGH_HOLE" - "\020\003\022\014\n\010PRESSFIT\020\004\022\r\n\tNON_BOARD\020\005\022\010\n\004HOLE\020" - "\006\022\020\n\014MT_UNDEFINED\020\007B\007\n\005_nameB\007\n\005_typeB\n\n" - "\010_xCenterB\n\n\010_yCenterB\023\n\021_finishedHoleSi" - "zeB\021\n\017_electricalTypeB\014\n\n_mountTypeB\005\n\003_" - "idB\010\n\006_indexB\007\n\005_nameB\010\n\006_pitchB\007\n\005_xMin" - "B\007\n\005_yMinB\007\n\005_xMaxB\007\n\005_yMaxB\025\n\023_attribut" - "esIdString\032\300\001\n\022FeatureGroupRecord\022\021\n\004typ" - "e\030\001 \001(\tH\000\210\001\001\022E\n\017propertyRecords\030\002 \003(\0132,." - "Odb.Lib.Protobuf.EdaDataFile.PropertyRec" - "ord\022G\n\020featureIdRecords\030\003 \003(\0132-.Odb.Lib." - "Protobuf.EdaDataFile.FeatureIdRecordB\007\n\005" - "_type\032`\n\025NetRecordsByNameEntry\022\013\n\003key\030\001 " - "\001(\t\0226\n\005value\030\002 \001(\0132\'.Odb.Lib.Protobuf.Ed" - "aDataFile.NetRecord:\0028\001\032h\n\031PackageRecord" - "sByNameEntry\022\013\n\003key\030\001 \001(\t\022:\n\005value\030\002 \001(\013" - "2+.Odb.Lib.Protobuf.EdaDataFile.PackageR" - "ecord:\0028\001\" \n\tBoardSide\022\007\n\003TOP\020\000\022\n\n\006BOTTO" - "M\020\001B\007\n\005_pathB\010\n\006_unitsB\t\n\007_sourceb\006proto" - "3" + "\n\021edadatafile.proto\022\020Odb.Lib.Protobuf\032\014c" + "ommon.proto\032\013enums.proto\"\222\034\n\013EdaDataFile" + "\022\021\n\004path\030\001 \001(\tH\000\210\001\001\022\022\n\005units\030\002 \001(\tH\001\210\001\001\022" + "\023\n\006source\030\003 \001(\tH\002\210\001\001\022\022\n\nlayerNames\030\004 \003(\t" + "\022\026\n\016attributeNames\030\005 \003(\t\022\033\n\023attributeTex" + "tValues\030\006 \003(\t\022;\n\nnetRecords\030\007 \003(\0132\'.Odb." + "Lib.Protobuf.EdaDataFile.NetRecord\022M\n\020ne" + "tRecordsByName\030\010 \003(\01323.Odb.Lib.Protobuf." + "EdaDataFile.NetRecordsByNameEntry\022C\n\016pac" + "kageRecords\030\t \003(\0132+.Odb.Lib.Protobuf.Eda" + "DataFile.PackageRecord\022U\n\024packageRecords" + "ByName\030\n \003(\01327.Odb.Lib.Protobuf.EdaDataF" + "ile.PackageRecordsByNameEntry\0229\n\017propert" + "yRecords\030\013 \003(\0132 .Odb.Lib.Protobuf.Proper" + "tyRecord\022M\n\023featureGroupRecords\030\014 \003(\01320." + "Odb.Lib.Protobuf.EdaDataFile.FeatureGrou" + "pRecord\032\345\001\n\017FeatureIdRecord\022E\n\004type\030\001 \001(" + "\01622.Odb.Lib.Protobuf.EdaDataFile.Feature" + "IdRecord.TypeH\000\210\001\001\022\030\n\013layerNumber\030\002 \001(\rH" + "\001\210\001\001\022\032\n\rfeatureNumber\030\003 \001(\rH\002\210\001\001\"*\n\004Type" + "\022\n\n\006COPPER\020\000\022\014\n\010LAMINATE\020\001\022\010\n\004HOLE\020\002B\007\n\005" + "_typeB\016\n\014_layerNumberB\020\n\016_featureNumber\032" + "\333\007\n\tNetRecord\022\021\n\004name\030\001 \001(\tH\000\210\001\001\022\037\n\022attr" + "ibutesIdString\030\002 \001(\tH\001\210\001\001\022\022\n\005index\030\003 \001(\r" + "H\002\210\001\001\022K\n\rsubnetRecords\030\004 \003(\01324.Odb.Lib.P" + "rotobuf.EdaDataFile.NetRecord.SubnetReco" + "rd\0229\n\017propertyRecords\030\005 \003(\0132 .Odb.Lib.Pr" + "otobuf.PropertyRecord\032\323\005\n\014SubnetRecord\022L" + "\n\004type\030\001 \001(\01629.Odb.Lib.Protobuf.EdaDataF" + "ile.NetRecord.SubnetRecord.TypeH\000\210\001\001\022G\n\020" + "featureIdRecords\030\002 \003(\0132-.Odb.Lib.Protobu" + "f.EdaDataFile.FeatureIdRecord\022T\n\010fillTyp" + "e\030\003 \001(\0162=.Odb.Lib.Protobuf.EdaDataFile.N" + "etRecord.SubnetRecord.FillTypeH\001\210\001\001\022X\n\nc" + "utoutType\030\004 \001(\0162\?.Odb.Lib.Protobuf.EdaDa" + "taFile.NetRecord.SubnetRecord.CutoutType" + "H\002\210\001\001\022\025\n\010fillSize\030\005 \001(\002H\003\210\001\001\022.\n\004side\030\006 \001" + "(\0162\033.Odb.Lib.Protobuf.BoardSideH\004\210\001\001\022\034\n\017" + "componentNumber\030\007 \001(\rH\005\210\001\001\022\033\n\016toeprintNu" + "mber\030\010 \001(\rH\006\210\001\001\"3\n\004Type\022\007\n\003VIA\020\000\022\t\n\005TRAC" + "E\020\001\022\t\n\005PLANE\020\002\022\014\n\010TOEPRINT\020\003\"\"\n\010FillType" + "\022\t\n\005SOLID\020\000\022\013\n\007OUTLINE\020\001\"\?\n\nCutoutType\022\n" + "\n\006CIRCLE\020\000\022\r\n\tRECTANGLE\020\001\022\013\n\007OCTAGON\020\002\022\t" + "\n\005EXACT\020\003B\007\n\005_typeB\013\n\t_fillTypeB\r\n\013_cuto" + "utTypeB\013\n\t_fillSizeB\007\n\005_sideB\022\n\020_compone" + "ntNumberB\021\n\017_toeprintNumberB\007\n\005_nameB\025\n\023" + "_attributesIdStringB\010\n\006_index\032\344\n\n\rPackag" + "eRecord\022\021\n\004name\030\001 \001(\tH\000\210\001\001\022\022\n\005pitch\030\002 \001(" + "\002H\001\210\001\001\022\021\n\004xMin\030\003 \001(\002H\002\210\001\001\022\021\n\004yMin\030\004 \001(\002H" + "\003\210\001\001\022\021\n\004xMax\030\005 \001(\002H\004\210\001\001\022\021\n\004yMax\030\006 \001(\002H\005\210" + "\001\001\022\037\n\022attributesIdString\030\007 \001(\tH\006\210\001\001\022I\n\np" + "inRecords\030\010 \003(\01325.Odb.Lib.Protobuf.EdaDa" + "taFile.PackageRecord.PinRecord\022[\n\020pinRec" + "ordsByName\030\t \003(\0132A.Odb.Lib.Protobuf.EdaD" + "ataFile.PackageRecord.PinRecordsByNameEn" + "try\0229\n\017propertyRecords\030\n \003(\0132 .Odb.Lib.P" + "rotobuf.PropertyRecord\032n\n\025PinRecordsByNa" + "meEntry\022\013\n\003key\030\001 \001(\t\022D\n\005value\030\002 \001(\01325.Od" + "b.Lib.Protobuf.EdaDataFile.PackageRecord" + ".PinRecord:\0028\001\032\235\006\n\tPinRecord\022\021\n\004name\030\001 \001" + "(\tH\000\210\001\001\022M\n\004type\030\002 \001(\0162:.Odb.Lib.Protobuf" + ".EdaDataFile.PackageRecord.PinRecord.Typ" + "eH\001\210\001\001\022\024\n\007xCenter\030\003 \001(\002H\002\210\001\001\022\024\n\007yCenter\030" + "\004 \001(\002H\003\210\001\001\022\035\n\020finishedHoleSize\030\005 \001(\002H\004\210\001" + "\001\022a\n\016electricalType\030\006 \001(\0162D.Odb.Lib.Prot" + "obuf.EdaDataFile.PackageRecord.PinRecord" + ".ElectricalTypeH\005\210\001\001\022W\n\tmountType\030\007 \001(\0162" + "\?.Odb.Lib.Protobuf.EdaDataFile.PackageRe" + "cord.PinRecord.MountTypeH\006\210\001\001\022\017\n\002id\030\010 \001(" + "\rH\007\210\001\001\022\022\n\005index\030\t \001(\rH\010\210\001\001\"0\n\004Type\022\020\n\014TH" + "ROUGH_HOLE\020\000\022\t\n\005BLIND\020\001\022\013\n\007SURFACE\020\002\"C\n\016" + "ElectricalType\022\016\n\nELECTRICAL\020\000\022\022\n\016NON_EL" + "ECTRICAL\020\001\022\r\n\tUNDEFINED\020\002\"\231\001\n\tMountType\022" + "\007\n\003SMT\020\000\022\027\n\023RECOMMENDED_SMT_PAD\020\001\022\023\n\017MT_" + "THROUGH_HOLE\020\002\022\034\n\030RECOMMENDED_THROUGH_HO" + "LE\020\003\022\014\n\010PRESSFIT\020\004\022\r\n\tNON_BOARD\020\005\022\010\n\004HOL" + "E\020\006\022\020\n\014MT_UNDEFINED\020\007B\007\n\005_nameB\007\n\005_typeB" + "\n\n\010_xCenterB\n\n\010_yCenterB\023\n\021_finishedHole" + "SizeB\021\n\017_electricalTypeB\014\n\n_mountTypeB\005\n" + "\003_idB\010\n\006_indexB\007\n\005_nameB\010\n\006_pitchB\007\n\005_xM" + "inB\007\n\005_yMinB\007\n\005_xMaxB\007\n\005_yMaxB\025\n\023_attrib" + "utesIdString\032\264\001\n\022FeatureGroupRecord\022\021\n\004t" + "ype\030\001 \001(\tH\000\210\001\001\0229\n\017propertyRecords\030\002 \003(\0132" + " .Odb.Lib.Protobuf.PropertyRecord\022G\n\020fea" + "tureIdRecords\030\003 \003(\0132-.Odb.Lib.Protobuf.E" + "daDataFile.FeatureIdRecordB\007\n\005_type\032`\n\025N" + "etRecordsByNameEntry\022\013\n\003key\030\001 \001(\t\0226\n\005val" + "ue\030\002 \001(\0132\'.Odb.Lib.Protobuf.EdaDataFile." + "NetRecord:\0028\001\032h\n\031PackageRecordsByNameEnt" + "ry\022\013\n\003key\030\001 \001(\t\022:\n\005value\030\002 \001(\0132+.Odb.Lib" + ".Protobuf.EdaDataFile.PackageRecord:\0028\001B" + "\007\n\005_pathB\010\n\006_unitsB\t\n\007_sourceb\006proto3" ; +static const ::_pbi::DescriptorTable* const descriptor_table_edadatafile_2eproto_deps[2] = { + &::descriptor_table_common_2eproto, + &::descriptor_table_enums_2eproto, +}; static ::_pbi::once_flag descriptor_table_edadatafile_2eproto_once; const ::_pbi::DescriptorTable descriptor_table_edadatafile_2eproto = { - false, false, 3841, descriptor_table_protodef_edadatafile_2eproto, + false, false, 3677, descriptor_table_protodef_edadatafile_2eproto, "edadatafile.proto", - &descriptor_table_edadatafile_2eproto_once, nullptr, 0, 11, + &descriptor_table_edadatafile_2eproto_once, descriptor_table_edadatafile_2eproto_deps, 2, 10, schemas, file_default_instances, TableStruct_edadatafile_2eproto::offsets, file_level_metadata_edadatafile_2eproto, file_level_enum_descriptors_edadatafile_2eproto, file_level_service_descriptors_edadatafile_2eproto, @@ -724,339 +693,6 @@ constexpr EdaDataFile_PackageRecord_PinRecord_MountType EdaDataFile_PackageRecor constexpr EdaDataFile_PackageRecord_PinRecord_MountType EdaDataFile_PackageRecord_PinRecord::MountType_MAX; constexpr int EdaDataFile_PackageRecord_PinRecord::MountType_ARRAYSIZE; #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912)) -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* EdaDataFile_BoardSide_descriptor() { - ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_edadatafile_2eproto); - return file_level_enum_descriptors_edadatafile_2eproto[7]; -} -bool EdaDataFile_BoardSide_IsValid(int value) { - switch (value) { - case 0: - case 1: - return true; - default: - return false; - } -} - -#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912)) -constexpr EdaDataFile_BoardSide EdaDataFile::TOP; -constexpr EdaDataFile_BoardSide EdaDataFile::BOTTOM; -constexpr EdaDataFile_BoardSide EdaDataFile::BoardSide_MIN; -constexpr EdaDataFile_BoardSide EdaDataFile::BoardSide_MAX; -constexpr int EdaDataFile::BoardSide_ARRAYSIZE; -#endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912)) - -// =================================================================== - -class EdaDataFile_PropertyRecord::_Internal { - public: - using HasBits = decltype(std::declval()._impl_._has_bits_); - static void set_has_name(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } - static void set_has_value(HasBits* has_bits) { - (*has_bits)[0] |= 2u; - } -}; - -EdaDataFile_PropertyRecord::EdaDataFile_PropertyRecord(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:Odb.Lib.Protobuf.EdaDataFile.PropertyRecord) -} -EdaDataFile_PropertyRecord::EdaDataFile_PropertyRecord(const EdaDataFile_PropertyRecord& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - EdaDataFile_PropertyRecord* const _this = this; (void)_this; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){from._impl_._has_bits_} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.floatvalues_){from._impl_.floatvalues_} - , decltype(_impl_.name_){} - , decltype(_impl_.value_){}}; - - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - _impl_.name_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.name_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (from._internal_has_name()) { - _this->_impl_.name_.Set(from._internal_name(), - _this->GetArenaForAllocation()); - } - _impl_.value_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.value_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (from._internal_has_value()) { - _this->_impl_.value_.Set(from._internal_value(), - _this->GetArenaForAllocation()); - } - // @@protoc_insertion_point(copy_constructor:Odb.Lib.Protobuf.EdaDataFile.PropertyRecord) -} - -inline void EdaDataFile_PropertyRecord::SharedCtor( - ::_pb::Arena* arena, bool is_message_owned) { - (void)arena; - (void)is_message_owned; - new (&_impl_) Impl_{ - decltype(_impl_._has_bits_){} - , /*decltype(_impl_._cached_size_)*/{} - , decltype(_impl_.floatvalues_){arena} - , decltype(_impl_.name_){} - , decltype(_impl_.value_){} - }; - _impl_.name_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.name_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.value_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.value_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING -} - -EdaDataFile_PropertyRecord::~EdaDataFile_PropertyRecord() { - // @@protoc_insertion_point(destructor:Odb.Lib.Protobuf.EdaDataFile.PropertyRecord) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} - -inline void EdaDataFile_PropertyRecord::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - _impl_.floatvalues_.~RepeatedField(); - _impl_.name_.Destroy(); - _impl_.value_.Destroy(); -} - -void EdaDataFile_PropertyRecord::SetCachedSize(int size) const { - _impl_._cached_size_.Set(size); -} - -void EdaDataFile_PropertyRecord::Clear() { -// @@protoc_insertion_point(message_clear_start:Odb.Lib.Protobuf.EdaDataFile.PropertyRecord) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - _impl_.floatvalues_.Clear(); - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000003u) { - if (cached_has_bits & 0x00000001u) { - _impl_.name_.ClearNonDefaultToEmpty(); - } - if (cached_has_bits & 0x00000002u) { - _impl_.value_.ClearNonDefaultToEmpty(); - } - } - _impl_._has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* EdaDataFile_PropertyRecord::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - _Internal::HasBits has_bits{}; - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // optional string name = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - auto str = _internal_mutable_name(); - ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); - CHK_(ptr); - CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.EdaDataFile.PropertyRecord.name")); - } else - goto handle_unusual; - continue; - // optional string value = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { - auto str = _internal_mutable_value(); - ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); - CHK_(ptr); - CHK_(::_pbi::VerifyUTF8(str, "Odb.Lib.Protobuf.EdaDataFile.PropertyRecord.value")); - } else - goto handle_unusual; - continue; - // repeated float floatValues = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { - ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedFloatParser(_internal_mutable_floatvalues(), ptr, ctx); - CHK_(ptr); - } else if (static_cast(tag) == 29) { - _internal_add_floatvalues(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr)); - ptr += sizeof(float); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - _impl_._has_bits_.Or(has_bits); - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -uint8_t* EdaDataFile_PropertyRecord::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Odb.Lib.Protobuf.EdaDataFile.PropertyRecord) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - // optional string name = 1; - if (_internal_has_name()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_name().data(), static_cast(this->_internal_name().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "Odb.Lib.Protobuf.EdaDataFile.PropertyRecord.name"); - target = stream->WriteStringMaybeAliased( - 1, this->_internal_name(), target); - } - - // optional string value = 2; - if (_internal_has_value()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_value().data(), static_cast(this->_internal_value().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "Odb.Lib.Protobuf.EdaDataFile.PropertyRecord.value"); - target = stream->WriteStringMaybeAliased( - 2, this->_internal_value(), target); - } - - // repeated float floatValues = 3; - if (this->_internal_floatvalues_size() > 0) { - target = stream->WriteFixedPacked(3, _internal_floatvalues(), target); - } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:Odb.Lib.Protobuf.EdaDataFile.PropertyRecord) - return target; -} - -size_t EdaDataFile_PropertyRecord::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Odb.Lib.Protobuf.EdaDataFile.PropertyRecord) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - // repeated float floatValues = 3; - { - unsigned int count = static_cast(this->_internal_floatvalues_size()); - size_t data_size = 4UL * count; - if (data_size > 0) { - total_size += 1 + - ::_pbi::WireFormatLite::Int32Size(static_cast(data_size)); - } - total_size += data_size; - } - - cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000003u) { - // optional string name = 1; - if (cached_has_bits & 0x00000001u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_name()); - } - - // optional string value = 2; - if (cached_has_bits & 0x00000002u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_value()); - } - - } - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData EdaDataFile_PropertyRecord::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - EdaDataFile_PropertyRecord::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*EdaDataFile_PropertyRecord::GetClassData() const { return &_class_data_; } - - -void EdaDataFile_PropertyRecord::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:Odb.Lib.Protobuf.EdaDataFile.PropertyRecord) - GOOGLE_DCHECK_NE(&from, _this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - _this->_impl_.floatvalues_.MergeFrom(from._impl_.floatvalues_); - cached_has_bits = from._impl_._has_bits_[0]; - if (cached_has_bits & 0x00000003u) { - if (cached_has_bits & 0x00000001u) { - _this->_internal_set_name(from._internal_name()); - } - if (cached_has_bits & 0x00000002u) { - _this->_internal_set_value(from._internal_value()); - } - } - _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void EdaDataFile_PropertyRecord::CopyFrom(const EdaDataFile_PropertyRecord& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Odb.Lib.Protobuf.EdaDataFile.PropertyRecord) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool EdaDataFile_PropertyRecord::IsInitialized() const { - return true; -} - -void EdaDataFile_PropertyRecord::InternalSwap(EdaDataFile_PropertyRecord* other) { - using std::swap; - auto* lhs_arena = GetArenaForAllocation(); - auto* rhs_arena = other->GetArenaForAllocation(); - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); - _impl_.floatvalues_.InternalSwap(&other->_impl_.floatvalues_); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &_impl_.name_, lhs_arena, - &other->_impl_.name_, rhs_arena - ); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &_impl_.value_, lhs_arena, - &other->_impl_.value_, rhs_arena - ); -} - -::PROTOBUF_NAMESPACE_ID::Metadata EdaDataFile_PropertyRecord::GetMetadata() const { - return ::_pbi::AssignDescriptors( - &descriptor_table_edadatafile_2eproto_getter, &descriptor_table_edadatafile_2eproto_once, - file_level_metadata_edadatafile_2eproto[0]); -} // =================================================================== @@ -1321,7 +957,7 @@ void EdaDataFile_FeatureIdRecord::InternalSwap(EdaDataFile_FeatureIdRecord* othe ::PROTOBUF_NAMESPACE_ID::Metadata EdaDataFile_FeatureIdRecord::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_edadatafile_2eproto_getter, &descriptor_table_edadatafile_2eproto_once, - file_level_metadata_edadatafile_2eproto[1]); + file_level_metadata_edadatafile_2eproto[0]); } // =================================================================== @@ -1489,12 +1125,12 @@ const char* EdaDataFile_NetRecord_SubnetRecord::_InternalParse(const char* ptr, } else goto handle_unusual; continue; - // optional .Odb.Lib.Protobuf.EdaDataFile.BoardSide side = 6; + // optional .Odb.Lib.Protobuf.BoardSide side = 6; case 6: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 48)) { uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); CHK_(ptr); - _internal_set_side(static_cast<::Odb::Lib::Protobuf::EdaDataFile_BoardSide>(val)); + _internal_set_side(static_cast<::Odb::Lib::Protobuf::BoardSide>(val)); } else goto handle_unusual; continue; @@ -1581,7 +1217,7 @@ uint8_t* EdaDataFile_NetRecord_SubnetRecord::_InternalSerialize( target = ::_pbi::WireFormatLite::WriteFloatToArray(5, this->_internal_fillsize(), target); } - // optional .Odb.Lib.Protobuf.EdaDataFile.BoardSide side = 6; + // optional .Odb.Lib.Protobuf.BoardSide side = 6; if (_internal_has_side()) { target = stream->EnsureSpace(target); target = ::_pbi::WireFormatLite::WriteEnumToArray( @@ -1648,7 +1284,7 @@ size_t EdaDataFile_NetRecord_SubnetRecord::ByteSizeLong() const { total_size += 1 + 4; } - // optional .Odb.Lib.Protobuf.EdaDataFile.BoardSide side = 6; + // optional .Odb.Lib.Protobuf.BoardSide side = 6; if (cached_has_bits & 0x00000010u) { total_size += 1 + ::_pbi::WireFormatLite::EnumSize(this->_internal_side()); @@ -1739,7 +1375,7 @@ void EdaDataFile_NetRecord_SubnetRecord::InternalSwap(EdaDataFile_NetRecord_Subn ::PROTOBUF_NAMESPACE_ID::Metadata EdaDataFile_NetRecord_SubnetRecord::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_edadatafile_2eproto_getter, &descriptor_table_edadatafile_2eproto_once, - file_level_metadata_edadatafile_2eproto[2]); + file_level_metadata_edadatafile_2eproto[1]); } // =================================================================== @@ -1758,6 +1394,9 @@ class EdaDataFile_NetRecord::_Internal { } }; +void EdaDataFile_NetRecord::clear_propertyrecords() { + _impl_.propertyrecords_.Clear(); +} EdaDataFile_NetRecord::EdaDataFile_NetRecord(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { @@ -1912,7 +1551,7 @@ const char* EdaDataFile_NetRecord::_InternalParse(const char* ptr, ::_pbi::Parse } else goto handle_unusual; continue; - // repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 5; + // repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 5; case 5: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { ptr -= 1; @@ -1989,7 +1628,7 @@ uint8_t* EdaDataFile_NetRecord::_InternalSerialize( InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream); } - // repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 5; + // repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 5; for (unsigned i = 0, n = static_cast(this->_internal_propertyrecords_size()); i < n; i++) { const auto& repfield = this->_internal_propertyrecords(i); @@ -2020,7 +1659,7 @@ size_t EdaDataFile_NetRecord::ByteSizeLong() const { ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); } - // repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 5; + // repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 5; total_size += 1UL * this->_internal_propertyrecords_size(); for (const auto& msg : this->_impl_.propertyrecords_) { total_size += @@ -2118,7 +1757,7 @@ void EdaDataFile_NetRecord::InternalSwap(EdaDataFile_NetRecord* other) { ::PROTOBUF_NAMESPACE_ID::Metadata EdaDataFile_NetRecord::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_edadatafile_2eproto_getter, &descriptor_table_edadatafile_2eproto_once, - file_level_metadata_edadatafile_2eproto[3]); + file_level_metadata_edadatafile_2eproto[2]); } // =================================================================== @@ -2132,7 +1771,7 @@ void EdaDataFile_PackageRecord_PinRecordsByNameEntry_DoNotUse::MergeFrom(const E ::PROTOBUF_NAMESPACE_ID::Metadata EdaDataFile_PackageRecord_PinRecordsByNameEntry_DoNotUse::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_edadatafile_2eproto_getter, &descriptor_table_edadatafile_2eproto_once, - file_level_metadata_edadatafile_2eproto[4]); + file_level_metadata_edadatafile_2eproto[3]); } // =================================================================== @@ -2600,7 +2239,7 @@ void EdaDataFile_PackageRecord_PinRecord::InternalSwap(EdaDataFile_PackageRecord ::PROTOBUF_NAMESPACE_ID::Metadata EdaDataFile_PackageRecord_PinRecord::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_edadatafile_2eproto_getter, &descriptor_table_edadatafile_2eproto_once, - file_level_metadata_edadatafile_2eproto[5]); + file_level_metadata_edadatafile_2eproto[4]); } // =================================================================== @@ -2631,6 +2270,9 @@ class EdaDataFile_PackageRecord::_Internal { } }; +void EdaDataFile_PackageRecord::clear_propertyrecords() { + _impl_.propertyrecords_.Clear(); +} EdaDataFile_PackageRecord::EdaDataFile_PackageRecord(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { @@ -2862,7 +2504,7 @@ const char* EdaDataFile_PackageRecord::_InternalParse(const char* ptr, ::_pbi::P } else goto handle_unusual; continue; - // repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 10; + // repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 10; case 10: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 82)) { ptr -= 1; @@ -2989,7 +2631,7 @@ uint8_t* EdaDataFile_PackageRecord::_InternalSerialize( } } - // repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 10; + // repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 10; for (unsigned i = 0, n = static_cast(this->_internal_propertyrecords_size()); i < n; i++) { const auto& repfield = this->_internal_propertyrecords(i); @@ -3029,7 +2671,7 @@ size_t EdaDataFile_PackageRecord::ByteSizeLong() const { total_size += EdaDataFile_PackageRecord_PinRecordsByNameEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second); } - // repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 10; + // repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 10; total_size += 1UL * this->_internal_propertyrecords_size(); for (const auto& msg : this->_impl_.propertyrecords_) { total_size += @@ -3166,7 +2808,7 @@ void EdaDataFile_PackageRecord::InternalSwap(EdaDataFile_PackageRecord* other) { ::PROTOBUF_NAMESPACE_ID::Metadata EdaDataFile_PackageRecord::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_edadatafile_2eproto_getter, &descriptor_table_edadatafile_2eproto_once, - file_level_metadata_edadatafile_2eproto[6]); + file_level_metadata_edadatafile_2eproto[5]); } // =================================================================== @@ -3179,6 +2821,9 @@ class EdaDataFile_FeatureGroupRecord::_Internal { } }; +void EdaDataFile_FeatureGroupRecord::clear_propertyrecords() { + _impl_.propertyrecords_.Clear(); +} EdaDataFile_FeatureGroupRecord::EdaDataFile_FeatureGroupRecord(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { @@ -3277,7 +2922,7 @@ const char* EdaDataFile_FeatureGroupRecord::_InternalParse(const char* ptr, ::_p } else goto handle_unusual; continue; - // repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 2; + // repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 2; case 2: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { ptr -= 1; @@ -3343,7 +2988,7 @@ uint8_t* EdaDataFile_FeatureGroupRecord::_InternalSerialize( 1, this->_internal_type(), target); } - // repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 2; + // repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 2; for (unsigned i = 0, n = static_cast(this->_internal_propertyrecords_size()); i < n; i++) { const auto& repfield = this->_internal_propertyrecords(i); @@ -3375,7 +3020,7 @@ size_t EdaDataFile_FeatureGroupRecord::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 2; + // repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 2; total_size += 1UL * this->_internal_propertyrecords_size(); for (const auto& msg : this->_impl_.propertyrecords_) { total_size += @@ -3451,7 +3096,7 @@ void EdaDataFile_FeatureGroupRecord::InternalSwap(EdaDataFile_FeatureGroupRecord ::PROTOBUF_NAMESPACE_ID::Metadata EdaDataFile_FeatureGroupRecord::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_edadatafile_2eproto_getter, &descriptor_table_edadatafile_2eproto_once, - file_level_metadata_edadatafile_2eproto[7]); + file_level_metadata_edadatafile_2eproto[6]); } // =================================================================== @@ -3465,7 +3110,7 @@ void EdaDataFile_NetRecordsByNameEntry_DoNotUse::MergeFrom(const EdaDataFile_Net ::PROTOBUF_NAMESPACE_ID::Metadata EdaDataFile_NetRecordsByNameEntry_DoNotUse::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_edadatafile_2eproto_getter, &descriptor_table_edadatafile_2eproto_once, - file_level_metadata_edadatafile_2eproto[8]); + file_level_metadata_edadatafile_2eproto[7]); } // =================================================================== @@ -3479,7 +3124,7 @@ void EdaDataFile_PackageRecordsByNameEntry_DoNotUse::MergeFrom(const EdaDataFile ::PROTOBUF_NAMESPACE_ID::Metadata EdaDataFile_PackageRecordsByNameEntry_DoNotUse::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_edadatafile_2eproto_getter, &descriptor_table_edadatafile_2eproto_once, - file_level_metadata_edadatafile_2eproto[9]); + file_level_metadata_edadatafile_2eproto[8]); } // =================================================================== @@ -3498,6 +3143,9 @@ class EdaDataFile::_Internal { } }; +void EdaDataFile::clear_propertyrecords() { + _impl_.propertyrecords_.Clear(); +} EdaDataFile::EdaDataFile(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { @@ -3792,7 +3440,7 @@ const char* EdaDataFile::_InternalParse(const char* ptr, ::_pbi::ParseContext* c } else goto handle_unusual; continue; - // repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 11; + // repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 11; case 11: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 90)) { ptr -= 1; @@ -3976,7 +3624,7 @@ uint8_t* EdaDataFile::_InternalSerialize( } } - // repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 11; + // repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 11; for (unsigned i = 0, n = static_cast(this->_internal_propertyrecords_size()); i < n; i++) { const auto& repfield = this->_internal_propertyrecords(i); @@ -4064,7 +3712,7 @@ size_t EdaDataFile::ByteSizeLong() const { total_size += EdaDataFile_PackageRecordsByNameEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second); } - // repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 11; + // repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 11; total_size += 1UL * this->_internal_propertyrecords_size(); for (const auto& msg : this->_impl_.propertyrecords_) { total_size += @@ -4187,7 +3835,7 @@ void EdaDataFile::InternalSwap(EdaDataFile* other) { ::PROTOBUF_NAMESPACE_ID::Metadata EdaDataFile::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_edadatafile_2eproto_getter, &descriptor_table_edadatafile_2eproto_once, - file_level_metadata_edadatafile_2eproto[10]); + file_level_metadata_edadatafile_2eproto[9]); } // @@protoc_insertion_point(namespace_scope) @@ -4195,10 +3843,6 @@ ::PROTOBUF_NAMESPACE_ID::Metadata EdaDataFile::GetMetadata() const { } // namespace Lib } // namespace Odb PROTOBUF_NAMESPACE_OPEN -template<> PROTOBUF_NOINLINE ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* -Arena::CreateMaybeMessage< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord >(Arena* arena) { - return Arena::CreateMessageInternal< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord >(arena); -} template<> PROTOBUF_NOINLINE ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord* Arena::CreateMaybeMessage< ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord >(Arena* arena) { return Arena::CreateMessageInternal< ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord >(arena); diff --git a/OdbDesignLib/ProtoBuf/edadatafile.pb.h b/OdbDesignLib/ProtoBuf/edadatafile.pb.h index 3a231db1..6e049e36 100644 --- a/OdbDesignLib/ProtoBuf/edadatafile.pb.h +++ b/OdbDesignLib/ProtoBuf/edadatafile.pb.h @@ -34,6 +34,8 @@ #include #include #include +#include "common.pb.h" +#include "enums.pb.h" // @@protoc_insertion_point(includes) #include #define PROTOBUF_INTERNAL_EXPORT_edadatafile_2eproto @@ -81,9 +83,6 @@ extern EdaDataFile_PackageRecord_PinRecordsByNameEntry_DoNotUseDefaultTypeIntern class EdaDataFile_PackageRecordsByNameEntry_DoNotUse; struct EdaDataFile_PackageRecordsByNameEntry_DoNotUseDefaultTypeInternal; extern EdaDataFile_PackageRecordsByNameEntry_DoNotUseDefaultTypeInternal _EdaDataFile_PackageRecordsByNameEntry_DoNotUse_default_instance_; -class EdaDataFile_PropertyRecord; -struct EdaDataFile_PropertyRecordDefaultTypeInternal; -extern EdaDataFile_PropertyRecordDefaultTypeInternal _EdaDataFile_PropertyRecord_default_instance_; } // namespace Protobuf } // namespace Lib } // namespace Odb @@ -98,7 +97,6 @@ template<> ::Odb::Lib::Protobuf::EdaDataFile_PackageRecord* Arena::CreateMaybeMe template<> ::Odb::Lib::Protobuf::EdaDataFile_PackageRecord_PinRecord* Arena::CreateMaybeMessage<::Odb::Lib::Protobuf::EdaDataFile_PackageRecord_PinRecord>(Arena*); template<> ::Odb::Lib::Protobuf::EdaDataFile_PackageRecord_PinRecordsByNameEntry_DoNotUse* Arena::CreateMaybeMessage<::Odb::Lib::Protobuf::EdaDataFile_PackageRecord_PinRecordsByNameEntry_DoNotUse>(Arena*); template<> ::Odb::Lib::Protobuf::EdaDataFile_PackageRecordsByNameEntry_DoNotUse* Arena::CreateMaybeMessage<::Odb::Lib::Protobuf::EdaDataFile_PackageRecordsByNameEntry_DoNotUse>(Arena*); -template<> ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* Arena::CreateMaybeMessage<::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord>(Arena*); PROTOBUF_NAMESPACE_CLOSE namespace Odb { namespace Lib { @@ -292,235 +290,8 @@ inline bool EdaDataFile_PackageRecord_PinRecord_MountType_Parse( return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( EdaDataFile_PackageRecord_PinRecord_MountType_descriptor(), name, value); } -enum EdaDataFile_BoardSide : int { - EdaDataFile_BoardSide_TOP = 0, - EdaDataFile_BoardSide_BOTTOM = 1, - EdaDataFile_BoardSide_EdaDataFile_BoardSide_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - EdaDataFile_BoardSide_EdaDataFile_BoardSide_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() -}; -bool EdaDataFile_BoardSide_IsValid(int value); -constexpr EdaDataFile_BoardSide EdaDataFile_BoardSide_BoardSide_MIN = EdaDataFile_BoardSide_TOP; -constexpr EdaDataFile_BoardSide EdaDataFile_BoardSide_BoardSide_MAX = EdaDataFile_BoardSide_BOTTOM; -constexpr int EdaDataFile_BoardSide_BoardSide_ARRAYSIZE = EdaDataFile_BoardSide_BoardSide_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* EdaDataFile_BoardSide_descriptor(); -template -inline const std::string& EdaDataFile_BoardSide_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function EdaDataFile_BoardSide_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - EdaDataFile_BoardSide_descriptor(), enum_t_value); -} -inline bool EdaDataFile_BoardSide_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, EdaDataFile_BoardSide* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - EdaDataFile_BoardSide_descriptor(), name, value); -} // =================================================================== -class EdaDataFile_PropertyRecord final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Odb.Lib.Protobuf.EdaDataFile.PropertyRecord) */ { - public: - inline EdaDataFile_PropertyRecord() : EdaDataFile_PropertyRecord(nullptr) {} - ~EdaDataFile_PropertyRecord() override; - explicit PROTOBUF_CONSTEXPR EdaDataFile_PropertyRecord(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - EdaDataFile_PropertyRecord(const EdaDataFile_PropertyRecord& from); - EdaDataFile_PropertyRecord(EdaDataFile_PropertyRecord&& from) noexcept - : EdaDataFile_PropertyRecord() { - *this = ::std::move(from); - } - - inline EdaDataFile_PropertyRecord& operator=(const EdaDataFile_PropertyRecord& from) { - CopyFrom(from); - return *this; - } - inline EdaDataFile_PropertyRecord& operator=(EdaDataFile_PropertyRecord&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const EdaDataFile_PropertyRecord& default_instance() { - return *internal_default_instance(); - } - static inline const EdaDataFile_PropertyRecord* internal_default_instance() { - return reinterpret_cast( - &_EdaDataFile_PropertyRecord_default_instance_); - } - static constexpr int kIndexInFileMessages = - 0; - - friend void swap(EdaDataFile_PropertyRecord& a, EdaDataFile_PropertyRecord& b) { - a.Swap(&b); - } - inline void Swap(EdaDataFile_PropertyRecord* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(EdaDataFile_PropertyRecord* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - EdaDataFile_PropertyRecord* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const EdaDataFile_PropertyRecord& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const EdaDataFile_PropertyRecord& from) { - EdaDataFile_PropertyRecord::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(EdaDataFile_PropertyRecord* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Odb.Lib.Protobuf.EdaDataFile.PropertyRecord"; - } - protected: - explicit EdaDataFile_PropertyRecord(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kFloatValuesFieldNumber = 3, - kNameFieldNumber = 1, - kValueFieldNumber = 2, - }; - // repeated float floatValues = 3; - int floatvalues_size() const; - private: - int _internal_floatvalues_size() const; - public: - void clear_floatvalues(); - private: - float _internal_floatvalues(int index) const; - const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >& - _internal_floatvalues() const; - void _internal_add_floatvalues(float value); - ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >* - _internal_mutable_floatvalues(); - public: - float floatvalues(int index) const; - void set_floatvalues(int index, float value); - void add_floatvalues(float value); - const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >& - floatvalues() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >* - mutable_floatvalues(); - - // optional string name = 1; - bool has_name() const; - private: - bool _internal_has_name() const; - public: - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* name); - private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); - public: - - // optional string value = 2; - bool has_value() const; - private: - bool _internal_has_value() const; - public: - void clear_value(); - const std::string& value() const; - template - void set_value(ArgT0&& arg0, ArgT... args); - std::string* mutable_value(); - PROTOBUF_NODISCARD std::string* release_value(); - void set_allocated_value(std::string* value); - private: - const std::string& _internal_value() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_value(const std::string& value); - std::string* _internal_mutable_value(); - public: - - // @@protoc_insertion_point(class_scope:Odb.Lib.Protobuf.EdaDataFile.PropertyRecord) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - ::PROTOBUF_NAMESPACE_ID::RepeatedField< float > floatvalues_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr value_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_edadatafile_2eproto; -}; -// ------------------------------------------------------------------- - class EdaDataFile_FeatureIdRecord final : public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord) */ { public: @@ -569,7 +340,7 @@ class EdaDataFile_FeatureIdRecord final : &_EdaDataFile_FeatureIdRecord_default_instance_); } static constexpr int kIndexInFileMessages = - 1; + 0; friend void swap(EdaDataFile_FeatureIdRecord& a, EdaDataFile_FeatureIdRecord& b) { a.Swap(&b); @@ -784,7 +555,7 @@ class EdaDataFile_NetRecord_SubnetRecord final : &_EdaDataFile_NetRecord_SubnetRecord_default_instance_); } static constexpr int kIndexInFileMessages = - 2; + 1; friend void swap(EdaDataFile_NetRecord_SubnetRecord& a, EdaDataFile_NetRecord_SubnetRecord& b) { a.Swap(&b); @@ -1034,17 +805,17 @@ class EdaDataFile_NetRecord_SubnetRecord final : void _internal_set_fillsize(float value); public: - // optional .Odb.Lib.Protobuf.EdaDataFile.BoardSide side = 6; + // optional .Odb.Lib.Protobuf.BoardSide side = 6; bool has_side() const; private: bool _internal_has_side() const; public: void clear_side(); - ::Odb::Lib::Protobuf::EdaDataFile_BoardSide side() const; - void set_side(::Odb::Lib::Protobuf::EdaDataFile_BoardSide value); + ::Odb::Lib::Protobuf::BoardSide side() const; + void set_side(::Odb::Lib::Protobuf::BoardSide value); private: - ::Odb::Lib::Protobuf::EdaDataFile_BoardSide _internal_side() const; - void _internal_set_side(::Odb::Lib::Protobuf::EdaDataFile_BoardSide value); + ::Odb::Lib::Protobuf::BoardSide _internal_side() const; + void _internal_set_side(::Odb::Lib::Protobuf::BoardSide value); public: // optional uint32 componentNumber = 7; @@ -1145,7 +916,7 @@ class EdaDataFile_NetRecord final : &_EdaDataFile_NetRecord_default_instance_); } static constexpr int kIndexInFileMessages = - 3; + 2; friend void swap(EdaDataFile_NetRecord& a, EdaDataFile_NetRecord& b) { a.Swap(&b); @@ -1244,22 +1015,22 @@ class EdaDataFile_NetRecord final : const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord >& subnetrecords() const; - // repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 5; + // repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 5; int propertyrecords_size() const; private: int _internal_propertyrecords_size() const; public: void clear_propertyrecords(); - ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* mutable_propertyrecords(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord >* + ::Odb::Lib::Protobuf::PropertyRecord* mutable_propertyrecords(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord >* mutable_propertyrecords(); private: - const ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord& _internal_propertyrecords(int index) const; - ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* _internal_add_propertyrecords(); + const ::Odb::Lib::Protobuf::PropertyRecord& _internal_propertyrecords(int index) const; + ::Odb::Lib::Protobuf::PropertyRecord* _internal_add_propertyrecords(); public: - const ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord& propertyrecords(int index) const; - ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* add_propertyrecords(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord >& + const ::Odb::Lib::Protobuf::PropertyRecord& propertyrecords(int index) const; + ::Odb::Lib::Protobuf::PropertyRecord* add_propertyrecords(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord >& propertyrecords() const; // optional string name = 1; @@ -1322,7 +1093,7 @@ class EdaDataFile_NetRecord final : ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_NetRecord_SubnetRecord > subnetrecords_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord > propertyrecords_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord > propertyrecords_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr attributesidstring_; uint32_t index_; @@ -1406,7 +1177,7 @@ class EdaDataFile_PackageRecord_PinRecord final : &_EdaDataFile_PackageRecord_PinRecord_default_instance_); } static constexpr int kIndexInFileMessages = - 5; + 4; friend void swap(EdaDataFile_PackageRecord_PinRecord& a, EdaDataFile_PackageRecord_PinRecord& b) { a.Swap(&b); @@ -1790,7 +1561,7 @@ class EdaDataFile_PackageRecord final : &_EdaDataFile_PackageRecord_default_instance_); } static constexpr int kIndexInFileMessages = - 6; + 5; friend void swap(EdaDataFile_PackageRecord& a, EdaDataFile_PackageRecord& b) { a.Swap(&b); @@ -1913,22 +1684,22 @@ class EdaDataFile_PackageRecord final : ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::Odb::Lib::Protobuf::EdaDataFile_PackageRecord_PinRecord >* mutable_pinrecordsbyname(); - // repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 10; + // repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 10; int propertyrecords_size() const; private: int _internal_propertyrecords_size() const; public: void clear_propertyrecords(); - ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* mutable_propertyrecords(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord >* + ::Odb::Lib::Protobuf::PropertyRecord* mutable_propertyrecords(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord >* mutable_propertyrecords(); private: - const ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord& _internal_propertyrecords(int index) const; - ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* _internal_add_propertyrecords(); + const ::Odb::Lib::Protobuf::PropertyRecord& _internal_propertyrecords(int index) const; + ::Odb::Lib::Protobuf::PropertyRecord* _internal_add_propertyrecords(); public: - const ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord& propertyrecords(int index) const; - ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* add_propertyrecords(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord >& + const ::Odb::Lib::Protobuf::PropertyRecord& propertyrecords(int index) const; + ::Odb::Lib::Protobuf::PropertyRecord* add_propertyrecords(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord >& propertyrecords() const; // optional string name = 1; @@ -2048,7 +1819,7 @@ class EdaDataFile_PackageRecord final : std::string, ::Odb::Lib::Protobuf::EdaDataFile_PackageRecord_PinRecord, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> pinrecordsbyname_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord > propertyrecords_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord > propertyrecords_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr attributesidstring_; float pitch_; @@ -2110,7 +1881,7 @@ class EdaDataFile_FeatureGroupRecord final : &_EdaDataFile_FeatureGroupRecord_default_instance_); } static constexpr int kIndexInFileMessages = - 7; + 6; friend void swap(EdaDataFile_FeatureGroupRecord& a, EdaDataFile_FeatureGroupRecord& b) { a.Swap(&b); @@ -2187,22 +1958,22 @@ class EdaDataFile_FeatureGroupRecord final : kFeatureIdRecordsFieldNumber = 3, kTypeFieldNumber = 1, }; - // repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 2; + // repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 2; int propertyrecords_size() const; private: int _internal_propertyrecords_size() const; public: void clear_propertyrecords(); - ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* mutable_propertyrecords(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord >* + ::Odb::Lib::Protobuf::PropertyRecord* mutable_propertyrecords(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord >* mutable_propertyrecords(); private: - const ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord& _internal_propertyrecords(int index) const; - ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* _internal_add_propertyrecords(); + const ::Odb::Lib::Protobuf::PropertyRecord& _internal_propertyrecords(int index) const; + ::Odb::Lib::Protobuf::PropertyRecord* _internal_add_propertyrecords(); public: - const ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord& propertyrecords(int index) const; - ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* add_propertyrecords(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord >& + const ::Odb::Lib::Protobuf::PropertyRecord& propertyrecords(int index) const; + ::Odb::Lib::Protobuf::PropertyRecord* add_propertyrecords(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord >& propertyrecords() const; // repeated .Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord featureIdRecords = 3; @@ -2251,7 +2022,7 @@ class EdaDataFile_FeatureGroupRecord final : struct Impl_ { ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord > propertyrecords_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord > propertyrecords_; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_FeatureIdRecord > featureidrecords_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr type_; }; @@ -2360,7 +2131,7 @@ class EdaDataFile final : &_EdaDataFile_default_instance_); } static constexpr int kIndexInFileMessages = - 10; + 9; friend void swap(EdaDataFile& a, EdaDataFile& b) { a.Swap(&b); @@ -2432,42 +2203,11 @@ class EdaDataFile final : // nested types ---------------------------------------------------- - typedef EdaDataFile_PropertyRecord PropertyRecord; typedef EdaDataFile_FeatureIdRecord FeatureIdRecord; typedef EdaDataFile_NetRecord NetRecord; typedef EdaDataFile_PackageRecord PackageRecord; typedef EdaDataFile_FeatureGroupRecord FeatureGroupRecord; - typedef EdaDataFile_BoardSide BoardSide; - static constexpr BoardSide TOP = - EdaDataFile_BoardSide_TOP; - static constexpr BoardSide BOTTOM = - EdaDataFile_BoardSide_BOTTOM; - static inline bool BoardSide_IsValid(int value) { - return EdaDataFile_BoardSide_IsValid(value); - } - static constexpr BoardSide BoardSide_MIN = - EdaDataFile_BoardSide_BoardSide_MIN; - static constexpr BoardSide BoardSide_MAX = - EdaDataFile_BoardSide_BoardSide_MAX; - static constexpr int BoardSide_ARRAYSIZE = - EdaDataFile_BoardSide_BoardSide_ARRAYSIZE; - static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* - BoardSide_descriptor() { - return EdaDataFile_BoardSide_descriptor(); - } - template - static inline const std::string& BoardSide_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function BoardSide_Name."); - return EdaDataFile_BoardSide_Name(enum_t_value); - } - static inline bool BoardSide_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, - BoardSide* value) { - return EdaDataFile_BoardSide_Parse(name, value); - } - // accessors ------------------------------------------------------- enum : int { @@ -2626,22 +2366,22 @@ class EdaDataFile final : ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::Odb::Lib::Protobuf::EdaDataFile_PackageRecord >* mutable_packagerecordsbyname(); - // repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 11; + // repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 11; int propertyrecords_size() const; private: int _internal_propertyrecords_size() const; public: void clear_propertyrecords(); - ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* mutable_propertyrecords(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord >* + ::Odb::Lib::Protobuf::PropertyRecord* mutable_propertyrecords(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord >* mutable_propertyrecords(); private: - const ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord& _internal_propertyrecords(int index) const; - ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* _internal_add_propertyrecords(); + const ::Odb::Lib::Protobuf::PropertyRecord& _internal_propertyrecords(int index) const; + ::Odb::Lib::Protobuf::PropertyRecord* _internal_add_propertyrecords(); public: - const ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord& propertyrecords(int index) const; - ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* add_propertyrecords(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord >& + const ::Odb::Lib::Protobuf::PropertyRecord& propertyrecords(int index) const; + ::Odb::Lib::Protobuf::PropertyRecord* add_propertyrecords(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord >& propertyrecords() const; // repeated .Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord featureGroupRecords = 12; @@ -2741,7 +2481,7 @@ class EdaDataFile final : std::string, ::Odb::Lib::Protobuf::EdaDataFile_PackageRecord, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> packagerecordsbyname_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord > propertyrecords_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord > propertyrecords_; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_FeatureGroupRecord > featuregrouprecords_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr path_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr units_; @@ -2759,193 +2499,6 @@ class EdaDataFile final : #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wstrict-aliasing" #endif // __GNUC__ -// EdaDataFile_PropertyRecord - -// optional string name = 1; -inline bool EdaDataFile_PropertyRecord::_internal_has_name() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool EdaDataFile_PropertyRecord::has_name() const { - return _internal_has_name(); -} -inline void EdaDataFile_PropertyRecord::clear_name() { - _impl_.name_.ClearToEmpty(); - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline const std::string& EdaDataFile_PropertyRecord::name() const { - // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.EdaDataFile.PropertyRecord.name) - return _internal_name(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void EdaDataFile_PropertyRecord::set_name(ArgT0&& arg0, ArgT... args) { - _impl_._has_bits_[0] |= 0x00000001u; - _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.EdaDataFile.PropertyRecord.name) -} -inline std::string* EdaDataFile_PropertyRecord::mutable_name() { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.EdaDataFile.PropertyRecord.name) - return _s; -} -inline const std::string& EdaDataFile_PropertyRecord::_internal_name() const { - return _impl_.name_.Get(); -} -inline void EdaDataFile_PropertyRecord::_internal_set_name(const std::string& value) { - _impl_._has_bits_[0] |= 0x00000001u; - _impl_.name_.Set(value, GetArenaForAllocation()); -} -inline std::string* EdaDataFile_PropertyRecord::_internal_mutable_name() { - _impl_._has_bits_[0] |= 0x00000001u; - return _impl_.name_.Mutable(GetArenaForAllocation()); -} -inline std::string* EdaDataFile_PropertyRecord::release_name() { - // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.EdaDataFile.PropertyRecord.name) - if (!_internal_has_name()) { - return nullptr; - } - _impl_._has_bits_[0] &= ~0x00000001u; - auto* p = _impl_.name_.Release(); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - return p; -} -inline void EdaDataFile_PropertyRecord::set_allocated_name(std::string* name) { - if (name != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - _impl_.name_.SetAllocated(name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.EdaDataFile.PropertyRecord.name) -} - -// optional string value = 2; -inline bool EdaDataFile_PropertyRecord::_internal_has_value() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - return value; -} -inline bool EdaDataFile_PropertyRecord::has_value() const { - return _internal_has_value(); -} -inline void EdaDataFile_PropertyRecord::clear_value() { - _impl_.value_.ClearToEmpty(); - _impl_._has_bits_[0] &= ~0x00000002u; -} -inline const std::string& EdaDataFile_PropertyRecord::value() const { - // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.EdaDataFile.PropertyRecord.value) - return _internal_value(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void EdaDataFile_PropertyRecord::set_value(ArgT0&& arg0, ArgT... args) { - _impl_._has_bits_[0] |= 0x00000002u; - _impl_.value_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.EdaDataFile.PropertyRecord.value) -} -inline std::string* EdaDataFile_PropertyRecord::mutable_value() { - std::string* _s = _internal_mutable_value(); - // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.EdaDataFile.PropertyRecord.value) - return _s; -} -inline const std::string& EdaDataFile_PropertyRecord::_internal_value() const { - return _impl_.value_.Get(); -} -inline void EdaDataFile_PropertyRecord::_internal_set_value(const std::string& value) { - _impl_._has_bits_[0] |= 0x00000002u; - _impl_.value_.Set(value, GetArenaForAllocation()); -} -inline std::string* EdaDataFile_PropertyRecord::_internal_mutable_value() { - _impl_._has_bits_[0] |= 0x00000002u; - return _impl_.value_.Mutable(GetArenaForAllocation()); -} -inline std::string* EdaDataFile_PropertyRecord::release_value() { - // @@protoc_insertion_point(field_release:Odb.Lib.Protobuf.EdaDataFile.PropertyRecord.value) - if (!_internal_has_value()) { - return nullptr; - } - _impl_._has_bits_[0] &= ~0x00000002u; - auto* p = _impl_.value_.Release(); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.value_.IsDefault()) { - _impl_.value_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - return p; -} -inline void EdaDataFile_PropertyRecord::set_allocated_value(std::string* value) { - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; - } else { - _impl_._has_bits_[0] &= ~0x00000002u; - } - _impl_.value_.SetAllocated(value, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.value_.IsDefault()) { - _impl_.value_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.EdaDataFile.PropertyRecord.value) -} - -// repeated float floatValues = 3; -inline int EdaDataFile_PropertyRecord::_internal_floatvalues_size() const { - return _impl_.floatvalues_.size(); -} -inline int EdaDataFile_PropertyRecord::floatvalues_size() const { - return _internal_floatvalues_size(); -} -inline void EdaDataFile_PropertyRecord::clear_floatvalues() { - _impl_.floatvalues_.Clear(); -} -inline float EdaDataFile_PropertyRecord::_internal_floatvalues(int index) const { - return _impl_.floatvalues_.Get(index); -} -inline float EdaDataFile_PropertyRecord::floatvalues(int index) const { - // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.EdaDataFile.PropertyRecord.floatValues) - return _internal_floatvalues(index); -} -inline void EdaDataFile_PropertyRecord::set_floatvalues(int index, float value) { - _impl_.floatvalues_.Set(index, value); - // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.EdaDataFile.PropertyRecord.floatValues) -} -inline void EdaDataFile_PropertyRecord::_internal_add_floatvalues(float value) { - _impl_.floatvalues_.Add(value); -} -inline void EdaDataFile_PropertyRecord::add_floatvalues(float value) { - _internal_add_floatvalues(value); - // @@protoc_insertion_point(field_add:Odb.Lib.Protobuf.EdaDataFile.PropertyRecord.floatValues) -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >& -EdaDataFile_PropertyRecord::_internal_floatvalues() const { - return _impl_.floatvalues_; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >& -EdaDataFile_PropertyRecord::floatvalues() const { - // @@protoc_insertion_point(field_list:Odb.Lib.Protobuf.EdaDataFile.PropertyRecord.floatValues) - return _internal_floatvalues(); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >* -EdaDataFile_PropertyRecord::_internal_mutable_floatvalues() { - return &_impl_.floatvalues_; -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< float >* -EdaDataFile_PropertyRecord::mutable_floatvalues() { - // @@protoc_insertion_point(field_mutable_list:Odb.Lib.Protobuf.EdaDataFile.PropertyRecord.floatValues) - return _internal_mutable_floatvalues(); -} - -// ------------------------------------------------------------------- - // EdaDataFile_FeatureIdRecord // optional .Odb.Lib.Protobuf.EdaDataFile.FeatureIdRecord.Type type = 1; @@ -3188,7 +2741,7 @@ inline void EdaDataFile_NetRecord_SubnetRecord::set_fillsize(float value) { // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.fillSize) } -// optional .Odb.Lib.Protobuf.EdaDataFile.BoardSide side = 6; +// optional .Odb.Lib.Protobuf.BoardSide side = 6; inline bool EdaDataFile_NetRecord_SubnetRecord::_internal_has_side() const { bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; return value; @@ -3200,18 +2753,18 @@ inline void EdaDataFile_NetRecord_SubnetRecord::clear_side() { _impl_.side_ = 0; _impl_._has_bits_[0] &= ~0x00000010u; } -inline ::Odb::Lib::Protobuf::EdaDataFile_BoardSide EdaDataFile_NetRecord_SubnetRecord::_internal_side() const { - return static_cast< ::Odb::Lib::Protobuf::EdaDataFile_BoardSide >(_impl_.side_); +inline ::Odb::Lib::Protobuf::BoardSide EdaDataFile_NetRecord_SubnetRecord::_internal_side() const { + return static_cast< ::Odb::Lib::Protobuf::BoardSide >(_impl_.side_); } -inline ::Odb::Lib::Protobuf::EdaDataFile_BoardSide EdaDataFile_NetRecord_SubnetRecord::side() const { +inline ::Odb::Lib::Protobuf::BoardSide EdaDataFile_NetRecord_SubnetRecord::side() const { // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.side) return _internal_side(); } -inline void EdaDataFile_NetRecord_SubnetRecord::_internal_set_side(::Odb::Lib::Protobuf::EdaDataFile_BoardSide value) { +inline void EdaDataFile_NetRecord_SubnetRecord::_internal_set_side(::Odb::Lib::Protobuf::BoardSide value) { _impl_._has_bits_[0] |= 0x00000010u; _impl_.side_ = value; } -inline void EdaDataFile_NetRecord_SubnetRecord::set_side(::Odb::Lib::Protobuf::EdaDataFile_BoardSide value) { +inline void EdaDataFile_NetRecord_SubnetRecord::set_side(::Odb::Lib::Protobuf::BoardSide value) { _internal_set_side(value); // @@protoc_insertion_point(field_set:Odb.Lib.Protobuf.EdaDataFile.NetRecord.SubnetRecord.side) } @@ -3480,41 +3033,38 @@ EdaDataFile_NetRecord::subnetrecords() const { return _impl_.subnetrecords_; } -// repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 5; +// repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 5; inline int EdaDataFile_NetRecord::_internal_propertyrecords_size() const { return _impl_.propertyrecords_.size(); } inline int EdaDataFile_NetRecord::propertyrecords_size() const { return _internal_propertyrecords_size(); } -inline void EdaDataFile_NetRecord::clear_propertyrecords() { - _impl_.propertyrecords_.Clear(); -} -inline ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* EdaDataFile_NetRecord::mutable_propertyrecords(int index) { +inline ::Odb::Lib::Protobuf::PropertyRecord* EdaDataFile_NetRecord::mutable_propertyrecords(int index) { // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.EdaDataFile.NetRecord.propertyRecords) return _impl_.propertyrecords_.Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord >* +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord >* EdaDataFile_NetRecord::mutable_propertyrecords() { // @@protoc_insertion_point(field_mutable_list:Odb.Lib.Protobuf.EdaDataFile.NetRecord.propertyRecords) return &_impl_.propertyrecords_; } -inline const ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord& EdaDataFile_NetRecord::_internal_propertyrecords(int index) const { +inline const ::Odb::Lib::Protobuf::PropertyRecord& EdaDataFile_NetRecord::_internal_propertyrecords(int index) const { return _impl_.propertyrecords_.Get(index); } -inline const ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord& EdaDataFile_NetRecord::propertyrecords(int index) const { +inline const ::Odb::Lib::Protobuf::PropertyRecord& EdaDataFile_NetRecord::propertyrecords(int index) const { // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.EdaDataFile.NetRecord.propertyRecords) return _internal_propertyrecords(index); } -inline ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* EdaDataFile_NetRecord::_internal_add_propertyrecords() { +inline ::Odb::Lib::Protobuf::PropertyRecord* EdaDataFile_NetRecord::_internal_add_propertyrecords() { return _impl_.propertyrecords_.Add(); } -inline ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* EdaDataFile_NetRecord::add_propertyrecords() { - ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* _add = _internal_add_propertyrecords(); +inline ::Odb::Lib::Protobuf::PropertyRecord* EdaDataFile_NetRecord::add_propertyrecords() { + ::Odb::Lib::Protobuf::PropertyRecord* _add = _internal_add_propertyrecords(); // @@protoc_insertion_point(field_add:Odb.Lib.Protobuf.EdaDataFile.NetRecord.propertyRecords) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord >& +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord >& EdaDataFile_NetRecord::propertyrecords() const { // @@protoc_insertion_point(field_list:Odb.Lib.Protobuf.EdaDataFile.NetRecord.propertyRecords) return _impl_.propertyrecords_; @@ -4167,41 +3717,38 @@ EdaDataFile_PackageRecord::mutable_pinrecordsbyname() { return _internal_mutable_pinrecordsbyname(); } -// repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 10; +// repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 10; inline int EdaDataFile_PackageRecord::_internal_propertyrecords_size() const { return _impl_.propertyrecords_.size(); } inline int EdaDataFile_PackageRecord::propertyrecords_size() const { return _internal_propertyrecords_size(); } -inline void EdaDataFile_PackageRecord::clear_propertyrecords() { - _impl_.propertyrecords_.Clear(); -} -inline ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* EdaDataFile_PackageRecord::mutable_propertyrecords(int index) { +inline ::Odb::Lib::Protobuf::PropertyRecord* EdaDataFile_PackageRecord::mutable_propertyrecords(int index) { // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.EdaDataFile.PackageRecord.propertyRecords) return _impl_.propertyrecords_.Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord >* +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord >* EdaDataFile_PackageRecord::mutable_propertyrecords() { // @@protoc_insertion_point(field_mutable_list:Odb.Lib.Protobuf.EdaDataFile.PackageRecord.propertyRecords) return &_impl_.propertyrecords_; } -inline const ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord& EdaDataFile_PackageRecord::_internal_propertyrecords(int index) const { +inline const ::Odb::Lib::Protobuf::PropertyRecord& EdaDataFile_PackageRecord::_internal_propertyrecords(int index) const { return _impl_.propertyrecords_.Get(index); } -inline const ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord& EdaDataFile_PackageRecord::propertyrecords(int index) const { +inline const ::Odb::Lib::Protobuf::PropertyRecord& EdaDataFile_PackageRecord::propertyrecords(int index) const { // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.EdaDataFile.PackageRecord.propertyRecords) return _internal_propertyrecords(index); } -inline ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* EdaDataFile_PackageRecord::_internal_add_propertyrecords() { +inline ::Odb::Lib::Protobuf::PropertyRecord* EdaDataFile_PackageRecord::_internal_add_propertyrecords() { return _impl_.propertyrecords_.Add(); } -inline ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* EdaDataFile_PackageRecord::add_propertyrecords() { - ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* _add = _internal_add_propertyrecords(); +inline ::Odb::Lib::Protobuf::PropertyRecord* EdaDataFile_PackageRecord::add_propertyrecords() { + ::Odb::Lib::Protobuf::PropertyRecord* _add = _internal_add_propertyrecords(); // @@protoc_insertion_point(field_add:Odb.Lib.Protobuf.EdaDataFile.PackageRecord.propertyRecords) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord >& +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord >& EdaDataFile_PackageRecord::propertyrecords() const { // @@protoc_insertion_point(field_list:Odb.Lib.Protobuf.EdaDataFile.PackageRecord.propertyRecords) return _impl_.propertyrecords_; @@ -4279,41 +3826,38 @@ inline void EdaDataFile_FeatureGroupRecord::set_allocated_type(std::string* type // @@protoc_insertion_point(field_set_allocated:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord.type) } -// repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 2; +// repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 2; inline int EdaDataFile_FeatureGroupRecord::_internal_propertyrecords_size() const { return _impl_.propertyrecords_.size(); } inline int EdaDataFile_FeatureGroupRecord::propertyrecords_size() const { return _internal_propertyrecords_size(); } -inline void EdaDataFile_FeatureGroupRecord::clear_propertyrecords() { - _impl_.propertyrecords_.Clear(); -} -inline ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* EdaDataFile_FeatureGroupRecord::mutable_propertyrecords(int index) { +inline ::Odb::Lib::Protobuf::PropertyRecord* EdaDataFile_FeatureGroupRecord::mutable_propertyrecords(int index) { // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord.propertyRecords) return _impl_.propertyrecords_.Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord >* +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord >* EdaDataFile_FeatureGroupRecord::mutable_propertyrecords() { // @@protoc_insertion_point(field_mutable_list:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord.propertyRecords) return &_impl_.propertyrecords_; } -inline const ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord& EdaDataFile_FeatureGroupRecord::_internal_propertyrecords(int index) const { +inline const ::Odb::Lib::Protobuf::PropertyRecord& EdaDataFile_FeatureGroupRecord::_internal_propertyrecords(int index) const { return _impl_.propertyrecords_.Get(index); } -inline const ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord& EdaDataFile_FeatureGroupRecord::propertyrecords(int index) const { +inline const ::Odb::Lib::Protobuf::PropertyRecord& EdaDataFile_FeatureGroupRecord::propertyrecords(int index) const { // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord.propertyRecords) return _internal_propertyrecords(index); } -inline ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* EdaDataFile_FeatureGroupRecord::_internal_add_propertyrecords() { +inline ::Odb::Lib::Protobuf::PropertyRecord* EdaDataFile_FeatureGroupRecord::_internal_add_propertyrecords() { return _impl_.propertyrecords_.Add(); } -inline ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* EdaDataFile_FeatureGroupRecord::add_propertyrecords() { - ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* _add = _internal_add_propertyrecords(); +inline ::Odb::Lib::Protobuf::PropertyRecord* EdaDataFile_FeatureGroupRecord::add_propertyrecords() { + ::Odb::Lib::Protobuf::PropertyRecord* _add = _internal_add_propertyrecords(); // @@protoc_insertion_point(field_add:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord.propertyRecords) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord >& +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord >& EdaDataFile_FeatureGroupRecord::propertyrecords() const { // @@protoc_insertion_point(field_list:Odb.Lib.Protobuf.EdaDataFile.FeatureGroupRecord.propertyRecords) return _impl_.propertyrecords_; @@ -4934,41 +4478,38 @@ EdaDataFile::mutable_packagerecordsbyname() { return _internal_mutable_packagerecordsbyname(); } -// repeated .Odb.Lib.Protobuf.EdaDataFile.PropertyRecord propertyRecords = 11; +// repeated .Odb.Lib.Protobuf.PropertyRecord propertyRecords = 11; inline int EdaDataFile::_internal_propertyrecords_size() const { return _impl_.propertyrecords_.size(); } inline int EdaDataFile::propertyrecords_size() const { return _internal_propertyrecords_size(); } -inline void EdaDataFile::clear_propertyrecords() { - _impl_.propertyrecords_.Clear(); -} -inline ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* EdaDataFile::mutable_propertyrecords(int index) { +inline ::Odb::Lib::Protobuf::PropertyRecord* EdaDataFile::mutable_propertyrecords(int index) { // @@protoc_insertion_point(field_mutable:Odb.Lib.Protobuf.EdaDataFile.propertyRecords) return _impl_.propertyrecords_.Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord >* +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord >* EdaDataFile::mutable_propertyrecords() { // @@protoc_insertion_point(field_mutable_list:Odb.Lib.Protobuf.EdaDataFile.propertyRecords) return &_impl_.propertyrecords_; } -inline const ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord& EdaDataFile::_internal_propertyrecords(int index) const { +inline const ::Odb::Lib::Protobuf::PropertyRecord& EdaDataFile::_internal_propertyrecords(int index) const { return _impl_.propertyrecords_.Get(index); } -inline const ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord& EdaDataFile::propertyrecords(int index) const { +inline const ::Odb::Lib::Protobuf::PropertyRecord& EdaDataFile::propertyrecords(int index) const { // @@protoc_insertion_point(field_get:Odb.Lib.Protobuf.EdaDataFile.propertyRecords) return _internal_propertyrecords(index); } -inline ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* EdaDataFile::_internal_add_propertyrecords() { +inline ::Odb::Lib::Protobuf::PropertyRecord* EdaDataFile::_internal_add_propertyrecords() { return _impl_.propertyrecords_.Add(); } -inline ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* EdaDataFile::add_propertyrecords() { - ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord* _add = _internal_add_propertyrecords(); +inline ::Odb::Lib::Protobuf::PropertyRecord* EdaDataFile::add_propertyrecords() { + ::Odb::Lib::Protobuf::PropertyRecord* _add = _internal_add_propertyrecords(); // @@protoc_insertion_point(field_add:Odb.Lib.Protobuf.EdaDataFile.propertyRecords) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::EdaDataFile_PropertyRecord >& +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Odb::Lib::Protobuf::PropertyRecord >& EdaDataFile::propertyrecords() const { // @@protoc_insertion_point(field_list:Odb.Lib.Protobuf.EdaDataFile.propertyRecords) return _impl_.propertyrecords_; @@ -5035,8 +4576,6 @@ EdaDataFile::featuregrouprecords() const { // ------------------------------------------------------------------- -// ------------------------------------------------------------------- - // @@protoc_insertion_point(namespace_scope) @@ -5081,11 +4620,6 @@ template <> inline const EnumDescriptor* GetEnumDescriptor< ::Odb::Lib::Protobuf::EdaDataFile_PackageRecord_PinRecord_MountType>() { return ::Odb::Lib::Protobuf::EdaDataFile_PackageRecord_PinRecord_MountType_descriptor(); } -template <> struct is_proto_enum< ::Odb::Lib::Protobuf::EdaDataFile_BoardSide> : ::std::true_type {}; -template <> -inline const EnumDescriptor* GetEnumDescriptor< ::Odb::Lib::Protobuf::EdaDataFile_BoardSide>() { - return ::Odb::Lib::Protobuf::EdaDataFile_BoardSide_descriptor(); -} PROTOBUF_NAMESPACE_CLOSE diff --git a/OdbDesignLib/ProtoBuf/enums.pb.cc b/OdbDesignLib/ProtoBuf/enums.pb.cc index 7206ab9d..d630383a 100644 --- a/OdbDesignLib/ProtoBuf/enums.pb.cc +++ b/OdbDesignLib/ProtoBuf/enums.pb.cc @@ -33,14 +33,15 @@ static constexpr ::_pbi::MigrationSchema* schemas = nullptr; static constexpr ::_pb::Message* const* file_default_instances = nullptr; const char descriptor_table_protodef_enums_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = - "\n\013enums.proto\022\020Odb.Lib.Protobuf* \n\tBoard" - "Side\022\007\n\003Top\020\000\022\n\n\006Bottom\020\001*\"\n\tLineShape\022\n" - "\n\006Square\020\000\022\t\n\005Round\020\001*&\n\010Polarity\022\014\n\010Pos" - "itive\020\000\022\014\n\010Negative\020\001b\006proto3" + "\n\013enums.proto\022\020Odb.Lib.Protobuf*-\n\tBoard" + "Side\022\007\n\003Top\020\000\022\n\n\006Bottom\020\001\022\013\n\007Neither\020\002*\"" + "\n\tLineShape\022\n\n\006Square\020\000\022\t\n\005Round\020\001*&\n\010Po" + "larity\022\014\n\010Positive\020\000\022\014\n\010Negative\020\001b\006prot" + "o3" ; static ::_pbi::once_flag descriptor_table_enums_2eproto_once; const ::_pbi::DescriptorTable descriptor_table_enums_2eproto = { - false, false, 149, descriptor_table_protodef_enums_2eproto, + false, false, 162, descriptor_table_protodef_enums_2eproto, "enums.proto", &descriptor_table_enums_2eproto_once, nullptr, 0, 0, schemas, file_default_instances, TableStruct_enums_2eproto::offsets, @@ -64,6 +65,7 @@ bool BoardSide_IsValid(int value) { switch (value) { case 0: case 1: + case 2: return true; default: return false; diff --git a/OdbDesignLib/ProtoBuf/enums.pb.h b/OdbDesignLib/ProtoBuf/enums.pb.h index 6c52e12b..3e799e41 100644 --- a/OdbDesignLib/ProtoBuf/enums.pb.h +++ b/OdbDesignLib/ProtoBuf/enums.pb.h @@ -52,12 +52,13 @@ namespace Protobuf { enum BoardSide : int { Top = 0, Bottom = 1, + Neither = 2, BoardSide_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), BoardSide_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() }; bool BoardSide_IsValid(int value); constexpr BoardSide BoardSide_MIN = Top; -constexpr BoardSide BoardSide_MAX = Bottom; +constexpr BoardSide BoardSide_MAX = Neither; constexpr int BoardSide_ARRAYSIZE = BoardSide_MAX + 1; const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* BoardSide_descriptor(); diff --git a/OdbDesignLib/protoc/common.proto b/OdbDesignLib/protoc/common.proto new file mode 100644 index 00000000..b2cf1f25 --- /dev/null +++ b/OdbDesignLib/protoc/common.proto @@ -0,0 +1,13 @@ +syntax = "proto3"; + +//// https://protobuf.dev/reference/cpp/cpp-generated/#message +//option optimize_for = CODE_SIZE; + +package Odb.Lib.Protobuf; + +message PropertyRecord { + + optional string name = 1; + optional string value = 2; + repeated float floatValues = 3; +} \ No newline at end of file diff --git a/OdbDesignLib/protoc/componentsfile.proto b/OdbDesignLib/protoc/componentsfile.proto new file mode 100644 index 00000000..af307f2c --- /dev/null +++ b/OdbDesignLib/protoc/componentsfile.proto @@ -0,0 +1,63 @@ +syntax = "proto3"; + +//// https://protobuf.dev/reference/cpp/cpp-generated/#message +//option optimize_for = CODE_SIZE; + +import "common.proto"; +import "enums.proto"; + +package Odb.Lib.Protobuf; + +// +// EdaDataFile.h +// + +message ComponentsFile { + + message ComponentRecord { + + message ToeprintRecord { + + uint32 pinNumber = 1; + float locationX = 2; + float locationY = 3; + float rotation = 4; + bool mirror = 5; + uint32 netNumber = 6; + uint32 subnetNumber = 7; + string name = 8; + + } + + uint32 pkgRef = 1; + float locationX = 2; + float locationY = 3; + float rotation = 4; + bool mirror = 5; + string compName = 6; + string partName = 7; + string attributes = 8; + uint32 id = 9; + uint32 index = 10; + + repeated PropertyRecord propertyRecords = 11; + repeated ToeprintRecord toeprintRecords = 12; + + } + + string units = 1; + uint32 id = 2; + BoardSide side = 3; + string name = 4; + string path = 5; + string directory = 6; + + repeated string attributeNames = 7; + repeated string attributeTextValues = 8; + + repeated ComponentRecord componentRecords = 9; + map componentRecordsByName = 10; + + repeated PropertyRecord propertyRecords = 11; + map propertyRecordsByName = 12; +} \ No newline at end of file diff --git a/OdbDesignLib/protoc/edadatafile.proto b/OdbDesignLib/protoc/edadatafile.proto index 829e9d92..daf69fd4 100644 --- a/OdbDesignLib/protoc/edadatafile.proto +++ b/OdbDesignLib/protoc/edadatafile.proto @@ -3,6 +3,9 @@ syntax = "proto3"; //// https://protobuf.dev/reference/cpp/cpp-generated/#message //option optimize_for = CODE_SIZE; +import "common.proto"; +import "enums.proto"; + package Odb.Lib.Protobuf; // @@ -11,18 +14,6 @@ package Odb.Lib.Protobuf; message EdaDataFile { - enum BoardSide { - TOP = 0; - BOTTOM = 1; - }; - - message PropertyRecord { - - optional string name = 1; - optional string value = 2; - repeated float floatValues = 3; - } - message FeatureIdRecord { enum Type { diff --git a/OdbDesignLib/protoc/enums.proto b/OdbDesignLib/protoc/enums.proto index 3a2d8868..5f394132 100644 --- a/OdbDesignLib/protoc/enums.proto +++ b/OdbDesignLib/protoc/enums.proto @@ -9,6 +9,7 @@ enum BoardSide { Top = 0; Bottom = 1; + Neither = 2; }; enum LineShape From ba443dc925cca4ac59cffda8c09768ad420e0716 Mon Sep 17 00:00:00 2001 From: Nathan Miller Date: Wed, 22 Nov 2023 17:20:50 -0800 Subject: [PATCH 59/60] add #include --- OdbDesignLib/FileModel/Design/ComponentsFile.h | 1 + 1 file changed, 1 insertion(+) diff --git a/OdbDesignLib/FileModel/Design/ComponentsFile.h b/OdbDesignLib/FileModel/Design/ComponentsFile.h index f58ba62d..d61a3555 100644 --- a/OdbDesignLib/FileModel/Design/ComponentsFile.h +++ b/OdbDesignLib/FileModel/Design/ComponentsFile.h @@ -4,6 +4,7 @@ #include #include #include +#include #include "../../odbdesign_export.h" #include "../../enums.h" #include "../../IProtoBuffable.h" From 4ed0ae9a410f379aade84f138d52b841d85d51a2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 23 Nov 2023 06:59:30 +0000 Subject: [PATCH 60/60] Bump debian from `3c189c2` to `133a1f2` Bumps debian from `3c189c2` to `133a1f2`. --- updated-dependencies: - dependency-name: debian dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- Dockerfile | 4 ++-- Dockerfile (exe) | 4 ++-- Dockerfile_PyOdbDesignServer | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 18557697..3e3c3b60 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM debian:bookworm-20231120@sha256:3c189c284a658a219f3c64ef22ccaa6e3cc8f0651e38a17493fd7811f7f08e6a AS build +FROM debian:bookworm-20231120@sha256:133a1f2aa9e55d1c93d0ae1aaa7b94fb141265d0ee3ea677175cdb96f5f990e5 AS build ARG OWNER=nam20485 ARG GITHUB_TOKEN="PASSWORD" @@ -66,7 +66,7 @@ RUN cmake --build --preset linux-release # RUN cmake --build --preset linux-debug # much smaller runtime image -FROM debian:bookworm-20231120-slim@sha256:fd4dbda7be62868c4593287059518dd6eb6afb4e13c927785a4b0d8074277241 AS run +FROM debian:bookworm-20231120-slim@sha256:2bc5c236e9b262645a323e9088dfa3bb1ecb16cc75811daf40a23a824d665be9 AS run LABEL org.opencontainers.image.source=https://github.com/nam20485/OdbDesign LABEL org.opencontainers.image.authors=https://github.com/nam20485 LABEL org.opencontainers.image.description="The OdbDesign Docker image runs the OdbDesignServer REST API server executable, listening on port 8888." diff --git a/Dockerfile (exe) b/Dockerfile (exe) index 83253d5e..3bb199c2 100644 --- a/Dockerfile (exe) +++ b/Dockerfile (exe) @@ -1,4 +1,4 @@ -FROM debian:bookworm-20231120-slim@sha256:fd4dbda7be62868c4593287059518dd6eb6afb4e13c927785a4b0d8074277241 AS build +FROM debian:bookworm-20231120-slim@sha256:2bc5c236e9b262645a323e9088dfa3bb1ecb16cc75811daf40a23a824d665be9 AS build # install dependencies RUN apt-get update && \ @@ -52,7 +52,7 @@ RUN cp /src/OdbDesign/out/build/linux-release/OdbDesignLib/libOdbDesign.so ./_Py #RUN python3 -m build # much smaller runtime image -FROM debian:bookworm-20231120-slim@sha256:fd4dbda7be62868c4593287059518dd6eb6afb4e13c927785a4b0d8074277241 AS run +FROM debian:bookworm-20231120-slim@sha256:2bc5c236e9b262645a323e9088dfa3bb1ecb16cc75811daf40a23a824d665be9 AS run RUN mkdir /OdbDesign WORKDIR /OdbDesign diff --git a/Dockerfile_PyOdbDesignServer b/Dockerfile_PyOdbDesignServer index 971171ff..03744fb1 100644 --- a/Dockerfile_PyOdbDesignServer +++ b/Dockerfile_PyOdbDesignServer @@ -1,4 +1,4 @@ -FROM debian:bookworm-20231120-slim@sha256:fd4dbda7be62868c4593287059518dd6eb6afb4e13c927785a4b0d8074277241 AS build +FROM debian:bookworm-20231120-slim@sha256:2bc5c236e9b262645a323e9088dfa3bb1ecb16cc75811daf40a23a824d665be9 AS build # install dependencies RUN apt-get update && \ @@ -44,7 +44,7 @@ RUN cmake --build --preset python-linux-release # much smaller runtime image #FROM python:3.11.4-bullseye AS run -FROM debian:bookworm-20231120-slim@sha256:fd4dbda7be62868c4593287059518dd6eb6afb4e13c927785a4b0d8074277241 as run +FROM debian:bookworm-20231120-slim@sha256:2bc5c236e9b262645a323e9088dfa3bb1ecb16cc75811daf40a23a824d665be9 as run # copy PyOdbDesignServer files COPY --from=build /src/OdbDesign/PyOdbDesignServer PyOdbDesignServer