diff --git a/sa_profile/dhardware.cfg b/sa_profile/dhardware.cfg index e6e1c49c054b8195f4290bc53ff80977e4ceaef0..24d5f27c4be0a05290d1aa7d346035aa0dd4b38c 100644 --- a/sa_profile/dhardware.cfg +++ b/sa_profile/dhardware.cfg @@ -1,4 +1,12 @@ { + "jobs" : [{ + "name" : "services:dhardware", + "cmds" : [ + "mkdir /data/service/el1/public/database 0711 ddms ddms", + "mkdir /data/service/el1/public/database/dtbhardware_manager_service 02770 dhardware ddms" + ] + } + ], "services" : [{ "name" : "dhardware", "path" : ["/system/bin/sa_main", "/system/profile/dhardware.xml"], @@ -7,6 +15,9 @@ "ondemand" : true, "apl" : "system_basic", "permission" : ["ohos.permission.DISTRIBUTED_DATASYNC"], + "jobs" : { + "on-start" : "services:dhardware" + }, "secon" : "u:r:dhardware:s0" }] } \ No newline at end of file diff --git a/services/distributedhardwarefwkservice/src/resourcemanager/db_adapter.cpp b/services/distributedhardwarefwkservice/src/resourcemanager/db_adapter.cpp index db668f7e9bfda12b05d48dcc077d654729141fd8..534c2fe05fc16ee438c71cfaf6e3b5248fc77c02 100644 --- a/services/distributedhardwarefwkservice/src/resourcemanager/db_adapter.cpp +++ b/services/distributedhardwarefwkservice/src/resourcemanager/db_adapter.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Huawei Device Co., Ltd. + * Copyright (c) 2021-2022 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -31,6 +31,10 @@ namespace DistributedHardware { #undef DH_LOG_TAG #define DH_LOG_TAG "DBAdapter" +namespace { +const std::string DATABASE_DIR = "/data/service/el1/public/database/"; +} + DBAdapter::DBAdapter(const std::string &appId, const std::string &storeId, const std::shared_ptr &changeListener) { @@ -52,7 +56,9 @@ DistributedKv::Status DBAdapter::GetKvStorePtr() .encrypt = false, .autoSync = true, .securityLevel = DistributedKv::SecurityLevel::S1, - .kvStoreType = DistributedKv::KvStoreType::SINGLE_VERSION + .kvStoreType = DistributedKv::KvStoreType::SINGLE_VERSION, + .area = DistributedKv::EL1, + .baseDir = DATABASE_DIR + appId_.appId }; return kvDataMgr_.GetSingleKvStore(options, appId_, storeId_, kvStoragePtr_); }