js-apis-config-policy.md 5.4 KB
Newer Older
1 2
# Configuration Policy

W
wusongqing 已提交
3 4 5 6 7
> **NOTE**
>
> The initial APIs of this module are supported since API version 8. Newly added APIs will be marked with a superscript to indicate their earliest API version.
> 
> The APIs of this module are system APIs and cannot be called by third-party applications.
8 9 10 11 12

The configuration policy provides the capability of obtaining the custom configuration directory and file path based on the predefined custom configuration level.

## Modules to Import

W
wusongqing 已提交
13
```js
14 15 16 17 18 19 20 21 22 23 24 25 26
import configPolicy from '@ohos.configPolicy';
```

## getOneCfgFile

getOneCfgFile(relPath: string, callback: AsyncCallback<string>): void

Obtains the path of a configuration file with the specified name and highest priority. This API uses an asynchronous callback to return the result.
For example, if the **config.xml** file is stored in **/system/etc/config.xml** and **/sys-pod/etc/config.xml** (in ascending order of priority), then **/sys-pod/etc/config.xml** is returned.

**System capability**: SystemCapability.Customization.ConfigPolicy

**Parameters**
W
wusongqing 已提交
27 28 29 30
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| relPath | string | Yes| Name of the configuration file.|
| callback | AsyncCallback<string> | Yes| Callback used to return the path of the configuration file.|
31 32

**Example**
W
wusongqing 已提交
33
  ```js
34 35
  configPolicy.getOneCfgFile('config.xml', (error, value) => {
      if (error == undefined) {
W
wusongqing 已提交
36
          console.log("value is " + value);
37
      } else {
W
wusongqing 已提交
38
          console.log("error occurs "+ error);
39 40 41 42 43 44 45 46 47 48 49 50 51 52
      }
  });
  ```


## getOneCfgFile

getOneCfgFile(relPath: string): Promise<string>

Obtains the path of a configuration file with the specified name and highest priority. This API uses a promise to return the result.

**System capability**: SystemCapability.Customization.ConfigPolicy

**Parameters**
W
wusongqing 已提交
53 54 55
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| relPath | string | Yes| Name of the configuration file.|
56 57

**Return value**
W
wusongqing 已提交
58 59 60
| Type| Description|
| -------- | -------- |
| Promise<string> | Promise used to return the path of the configuration file.|
61 62

**Example**
W
wusongqing 已提交
63
  ```js
64
  configPolicy.getOneCfgFile('config.xml').then(value => {
W
wusongqing 已提交
65
      console.log("value is " + value);
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
  }).catch(error => {
      console.log("getOneCfgFile promise " + error);
  });
  ```


## getCfgFiles

getCfgFiles(relPath: string, callback: AsyncCallback<Array<string>>): void

Obtains all configuration files with the specified name and lists them in ascending order of priority. This API uses an asynchronous callback to return the result. For example, if the **config.xml** file is stored in **/system/etc/config.xml**
and **/sys-pod/etc/config.xml**, then **/system/etc/config.xml, /sys-pod/etc/config.xml** is returned.

**System capability**: SystemCapability.Customization.ConfigPolicy

**Parameters**
W
wusongqing 已提交
82 83 84 85
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| relPath | string | Yes| Name of the configuration file.|
| callback | AsyncCallback<Array<string>> | Yes| Callback used to return the file list.|
86 87

**Example**
W
wusongqing 已提交
88
  ```js
89 90
  configPolicy.getCfgFiles('config.xml', (error, value) => {
      if (error == undefined) {
W
wusongqing 已提交
91
          console.log("value is " + value);
92
      } else {
W
wusongqing 已提交
93
          console.log("error occurs "+ error);
94 95 96 97 98 99 100 101 102 103 104 105 106 107
      }
  });
  ```


## getCfgFiles

getCfgFiles(relPath: string): Promise<Array<string>>

Obtains all configuration files with the specified name and lists them in ascending order of priority. This API uses a promise to return the result.

**System capability**: SystemCapability.Customization.ConfigPolicy

**Parameters**
W
wusongqing 已提交
108 109 110
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| relPath | string | Yes| Name of the configuration file.|
111 112

**Return value**
W
wusongqing 已提交
113 114 115
| Type| Description|
| -------- | -------- |
| Promise<Array<string>> | Promise used to return the file list.|
116 117

**Example**
W
wusongqing 已提交
118
  ```js
119
  configPolicy.getCfgFiles('config.xml').then(value => {
W
wusongqing 已提交
120
      console.log("value is " + value);
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
  }).catch(error => {
      console.log("getCfgFiles promise " + error);
  });
  ```


## getCfgDirList

getCfgDirList(callback: AsyncCallback<Array<string>>): void

Obtains the configuration level directory list. This API uses an asynchronous callback to return the result.

**System capability**: SystemCapability.Customization.ConfigPolicy

**Parameters**
W
wusongqing 已提交
136 137 138
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback<Array<string>> | Yes| Callback used to return the configuration level directory list.|
139 140

**Example**
W
wusongqing 已提交
141
  ```js
142 143
  configPolicy.getCfgDirList((error, value) => {
      if (error == undefined) {
W
wusongqing 已提交
144
          console.log("value is " + value);
145
      } else {
W
wusongqing 已提交
146
          console.log("error occurs "+ error);
147 148 149 150 151 152 153 154 155 156 157 158 159 160
      }
  });
  ```


## getCfgDirList

getCfgDirList(): Promise<Array<string>>

Obtains the configuration level directory list. This API uses a promise to return the result.

**System capability**: SystemCapability.Customization.ConfigPolicy

**Return value**
W
wusongqing 已提交
161 162 163
| Type| Description|
| -------- | -------- |
| Promise<Array<string>> | Promise used to return the configuration level directory list.|
164 165

**Example**
W
wusongqing 已提交
166
  ```js
167
  configPolicy.getCfgDirList().then(value => {
W
wusongqing 已提交
168
      console.log("value is " + value);
169 170 171 172
  }).catch(error => {
      console.log("getCfgDirList promise " + error);
  });
  ```