11767c5feSopenharmony_ci/*
21767c5feSopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd.
31767c5feSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
41767c5feSopenharmony_ci * you may not use this file except in compliance with the License.
51767c5feSopenharmony_ci * You may obtain a copy of the License at
61767c5feSopenharmony_ci *
71767c5feSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
81767c5feSopenharmony_ci *
91767c5feSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
101767c5feSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
111767c5feSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
121767c5feSopenharmony_ci * See the License for the specific language governing permissions and
131767c5feSopenharmony_ci * limitations under the License.
141767c5feSopenharmony_ci */
151767c5feSopenharmony_ci
161767c5feSopenharmony_ci#include <fcntl.h>
171767c5feSopenharmony_ci#include <unistd.h>
181767c5feSopenharmony_ci#include "update_geocoding.h"
191767c5feSopenharmony_ci#include "update_metadata.h"
201767c5feSopenharmony_ci#include "update_libphonenumber.h"
211767c5feSopenharmony_ci
221767c5feSopenharmony_cinamespace i18n {
231767c5feSopenharmony_cinamespace phonenumbers {
241767c5feSopenharmony_ciconst std::string UpdateLibphonenumber::METADATAINFO_PATH = "/system/etc/LIBPHONENUMBER/mount_dir/MetadataInfo";
251767c5feSopenharmony_ciconst std::string UpdateLibphonenumber::GEOCODINGINFO_PATH = "/system/etc/LIBPHONENUMBER/mount_dir/GeocodingInfo";
261767c5feSopenharmony_ci
271767c5feSopenharmony_civoid UpdateLibphonenumber::LoadUpdateData()
281767c5feSopenharmony_ci{
291767c5feSopenharmony_ci    int metadataFd = open(METADATAINFO_PATH.c_str(), O_RDONLY);
301767c5feSopenharmony_ci    int geocodingFd = open(GEOCODINGINFO_PATH.c_str(), O_RDONLY);
311767c5feSopenharmony_ci    UpdateMetadata::LoadUpdatedMetadata(metadataFd);
321767c5feSopenharmony_ci    UpdateGeocoding::LoadGeocodingData(geocodingFd);
331767c5feSopenharmony_ci    if (metadataFd != -1) {
341767c5feSopenharmony_ci        close(metadataFd);
351767c5feSopenharmony_ci    }
361767c5feSopenharmony_ci    if (geocodingFd != -1) {
371767c5feSopenharmony_ci        close(geocodingFd);
381767c5feSopenharmony_ci    }
391767c5feSopenharmony_ci}
401767c5feSopenharmony_ci}  // namespace phonenumbers
411767c5feSopenharmony_ci}  // namespace i18n
42