diff --git a/location/lpfence/bundle.json b/location/lpfence/bundle.json
index 14e527091b8fe5f97d7e527774dacf88d98e50df..f8d3e13c2c12d8cd99803bb4851a625f336bc9e0 100644
--- a/location/lpfence/bundle.json
+++ b/location/lpfence/bundle.json
@@ -31,7 +31,8 @@
"//drivers/interface/location/lpfence/cellfence/v1_0:lpfence_cellfence_idl_target",
"//drivers/interface/location/lpfence/geofence/v1_0:lpfence_geofence_idl_target",
"//drivers/interface/location/lpfence/wififence/v1_0:lpfence_wififence_idl_target",
- "//drivers/interface/location/lpfence/safe_location/v1_0:lpfence_safe_location_idl_target"
+ "//drivers/interface/location/lpfence/safe_location/v1_0:lpfence_safe_location_idl_target",
+ "//drivers/interface/location/lpfence/mntn/v1_0:lpfence_mntn_idl_target"
],
"test": [
],
@@ -155,6 +156,30 @@
],
"header_base": "//drivers/interface/location/lpfence/safe_location"
}
+ },
+ {
+ "name": "//drivers/interface/location/lpfence/mntn/v1_0:liblpfence_mntn_stub_1.0",
+ "header": {
+ "header_files": [
+ ],
+ "header_base": "//drivers/interface/location/lpfence/mntn"
+ }
+ },
+ {
+ "name": "//drivers/interface/location/lpfence/mntn/v1_0:liblpfence_mntn_proxy_1.0",
+ "header": {
+ "header_files": [
+ ],
+ "header_base": "//drivers/interface/location/lpfence/mntn"
+ }
+ },
+ {
+ "name": "//drivers/interface/location/lpfence/mntn/v1_0:lpfence_mntn_idl_headers",
+ "header": {
+ "header_files": [
+ ],
+ "header_base": "//drivers/interface/location/lpfence/mntn"
+ }
}
]
}
diff --git a/location/lpfence/mntn/v1_0/BUILD.gn b/location/lpfence/mntn/v1_0/BUILD.gn
new file mode 100644
index 0000000000000000000000000000000000000000..216a464c4b34e6d09d784c892d11fc2deb7280b5
--- /dev/null
+++ b/location/lpfence/mntn/v1_0/BUILD.gn
@@ -0,0 +1,28 @@
+# Copyright (c) 2025 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
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build/config/components/hdi/hdi.gni")
+
+hdi("lpfence_mntn") {
+ module_name = "lpfence_mntn"
+
+ sources = [
+ "IMntnCallback.idl",
+ "IMntnIntf.idl",
+ "MntnTypes.idl",
+ ]
+
+ language = "cpp"
+ subsystem_name = "hdf"
+ part_name = "drivers_interface_lpfence"
+}
diff --git a/location/lpfence/mntn/v1_0/IMntnCallback.idl b/location/lpfence/mntn/v1_0/IMntnCallback.idl
new file mode 100644
index 0000000000000000000000000000000000000000..82755ca88bfdb2a1fdaec5b42962057d8133739d
--- /dev/null
+++ b/location/lpfence/mntn/v1_0/IMntnCallback.idl
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2025 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
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+ /**
+ * @addtogroup HdiLpfenceMntn
+ * @{
+ *
+ * @brief Provides lpfence mntn APIs for the lpfence mntn service.
+ *
+ * @since 6.0
+ * @version 1.0
+ */
+
+/**
+ * @file IMntnCallback.idl
+ *
+ * @brief Declares the callbacks for the lpfence mntn module.
+ *
+ * @since 6.0
+ * @version 1.0
+ */
+
+/**
+ * @brief Declares the path of the lpfence mntn module interface package.
+ *
+ * @since 6.0
+ */
+package ohos.hdi.location.lpfence.mntn.v1_0;
+
+/**
+ * @brief Imports data types of the lpfence mntn module.
+ *
+ * @since 6.0
+ */
+import ohos.hdi.location.lpfence.mntn.v1_0.MntnTypes;
+
+/**
+ * @brief Defines the callback for the lpfence mntn module.
+ *
+ * Before enabling the lpfence mntn feature, you need to register this callback to report the device has obtained the lpfence mntn information.
+ * For details, see {@link IMntnInterface}.
+ *
+ * @since 6.0
+ */
+[callback] interface IMntnCallback {
+ /**
+ * @brief Called to report the lpfence mntn request result.
+ *
+ *
+ *
+ * @param mntnInfo Indicates the result of getting lpfence mntn.
+ *
+ * @return Returns 0 if the callback is invoked successfully.
+ * @return Returns a negative value if the callback fails to be invoked.
+ *
+ @since 6.0
+ */
+ OnLpfenceMntnRequestCb([in] string[] mntnInfo);
+}
+/** @} */
diff --git a/location/lpfence/mntn/v1_0/IMntnIntf.idl b/location/lpfence/mntn/v1_0/IMntnIntf.idl
new file mode 100644
index 0000000000000000000000000000000000000000..ffb963efbbe415dbbf219a7ae904e5e4dec25fcd
--- /dev/null
+++ b/location/lpfence/mntn/v1_0/IMntnIntf.idl
@@ -0,0 +1,105 @@
+/*
+ * Copyright (c) 2025 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
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+ /**
+ * @addtogroup HdiLpfenceMntn
+ * @{
+ *
+ * @brief Provides lpfence mntn APIs for the lpfence mntn service.
+ *
+ * @since 6.0
+ * @version 1.0
+ */
+
+/**
+ * @file IMntnInterface.idl
+ *
+ * @brief Declares the APIs for the lpfence mntn module.
+ *
+ * @since 6.0
+ * @version 1.0
+ */
+
+/**
+ * @brief Declares the path of the lpfence mntn module interface package.
+ *
+ * @since 6.0
+ */
+package ohos.hdi.location.lpfence.mntn.v1_0;
+
+/**
+ * @brief Imports data types of the lpfence mntn module.
+ *
+ * @since 6.0
+ */
+import ohos.hdi.location.lpfence.mntn.v1_0.MntnTypes;
+
+/**
+ * @brief Imports callbacks of the lpfence mntn module.
+ *
+ * @since 6.0
+ */
+import ohos.hdi.location.lpfence.mntn.v1_0.IMntnCallback;
+
+/**
+ * @brief Provides APIs for basic lpfence mntn operations.
+ *
+ * You can use the APIs to register or unregister a callback
+ */
+interface IMntnIntf {
+ /**
+ * @brief Registers a callback.
+ *
+ * Before enabling the lpfence mntn feature, you need to register a callback to report the device has obtained the lpfence mntn information.
+ *
+ * @param callbackObj Indicates the callback to register, which needs to be registered only once. For details, see {@link IMntnCallback}.
+ *
+ * @return Returns 0 if the operation is successful.
+ * @return Returns a negative value if the operation fails.
+ *
+ * @since 6.0
+ * @version 1.0
+ */
+ RegisterLpfenceMntnCallback([in] IMntnCallback callbackObj);
+
+ /**
+ * @brief Unregisters a callback.
+ *
+ * When the lpfence mntn feature is no longer required or the registered callback needs to be changed, you need to unregister the callback.
+ *
+ * @param callbackObj Indicates the callback to unregister, which needs to be unregistered only once. For details, see {@link IMntnCallback}.
+ *
+ * @return Returns 0 if the operation is successful.
+ * @return Returns a negative value if the operation fails.
+ *
+ * @since 6.0
+ * @version 1.0
+ */
+ UnregisterLpfenceMntnCallback([in] IMntnCallback callbackObj);
+
+ /**
+ * @brief Obtains the latest lpfence mntn information.
+ *
+ * @param type Indicates the lpfence type. For details, see {@link enum LpfenceType}.
+ *
+ * @return Returns 0 if the operation is successful.
+ * @return Returns a negative value if the operation fails.
+ *
+ * @since 6.0
+ * @version 1.0
+ */
+ GetCurrentLpfenceMntnInfo([in] enum LpfenceType type);
+}
+/** @} */
diff --git a/location/lpfence/mntn/v1_0/MntnTypes.idl b/location/lpfence/mntn/v1_0/MntnTypes.idl
new file mode 100644
index 0000000000000000000000000000000000000000..a26d4ffd2b251c693216cbd2c49434870ec542b3
--- /dev/null
+++ b/location/lpfence/mntn/v1_0/MntnTypes.idl
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2025 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
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+ /**
+ * @addtogroup HdiLpfenceMntn
+ * @{
+ *
+ * @brief Provides lpfence mntn APIs for the lpfence mntn service.
+ *
+ * @since 6.0
+ * @version 1.0
+ */
+
+/**
+ * @file MntnTypes.idl
+ *
+ * @brief Defines the data types used by the lpfence mntn feature.
+ *
+ * @since 6.0
+ * @version 1.0
+ */
+
+/**
+ * @brief Declares the path of the lpfence mntn module interface package.
+ *
+ * @since 6.0
+ */
+package ohos.hdi.location.lpfence.mntn.v1_0;
+
+/**
+ * @brief Enumerates the lpfence type.
+ *
+ * @since 6.0
+ */
+enum LpfenceType {
+ LPFENCE_GEOFENCE = 1,
+ LPFENCE_CELLFENCE = 2,
+ LPFENCE_WIFIFENCE = 3,
+ LPFENCE_SAFE_LOCATION = 4,
+};
+/** @} */