MCPcopy Create free account
hub / github.com/OpenSIPS/opensips / ph_init_cmds

Function ph_init_cmds

modules/pi_http/http_fnc.c:1873–1962  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1871}
1872
1873int ph_init_cmds(ph_framework_t **framework_data, const char* filename)
1874{
1875 xmlDocPtr doc;
1876 xmlNodePtr framework_node;
1877 ph_framework_t *_framework_data = NULL;
1878 ph_db_table_t *_ph_db_tables;
1879 int _ph_db_tables_size;
1880 ph_mod_t *_ph_modules;
1881 int _ph_modules_size;
1882
1883 if(filename==NULL) {LM_ERR("NULL filename\n");return -1;}
1884 doc = xmlParseFile(filename);
1885 if(doc==NULL){
1886 LM_ERR("Failed to parse xml file: %s\n", filename);
1887 return -1;
1888 }
1889
1890 /* Extract the framework node */
1891 framework_node = ph_xmlNodeGetNodeByName(doc->children,
1892 PI_HTTP_XML_FRAMEWORK_NODE);
1893 if (framework_node==NULL) {
1894 LM_ERR("missing node %s\n", PI_HTTP_XML_FRAMEWORK_NODE);
1895 goto xml_error;
1896 }
1897
1898 _framework_data = *framework_data;
1899 if(_framework_data==NULL){
1900 _framework_data =
1901 (ph_framework_t*)shm_malloc(sizeof(ph_framework_t));
1902 if(_framework_data==NULL) {LM_ERR("oom\n");goto xml_error;}
1903 memset(_framework_data, 0, sizeof(ph_framework_t));
1904
1905 /* Extract the db_url nodes */
1906 if(ph_getDbUrlNodes(_framework_data, framework_node)!=0)
1907 goto xml_error;
1908
1909 /* Extract the db_url nodes */
1910 if(ph_getDbTables(_framework_data, framework_node)!=0)
1911 goto xml_error;
1912
1913 /* Build pi commands skeleton */
1914 if(ph_getMods(_framework_data, framework_node)!=0)
1915 goto xml_error;
1916
1917 if(doc)xmlFree(doc);
1918 doc=NULL;
1919 *framework_data = _framework_data;
1920 }else{ /* This is a reload */
1921 _ph_db_tables = _framework_data->ph_db_tables;
1922 _ph_db_tables_size = _framework_data->ph_db_tables_size;
1923 _framework_data->ph_db_tables = NULL;
1924 _framework_data->ph_db_tables_size = 0;
1925 _ph_modules = _framework_data->ph_modules;
1926 _ph_modules_size = _framework_data->ph_modules_size;
1927 _framework_data->ph_modules = NULL;
1928 _framework_data->ph_modules_size = 0;
1929
1930 /* Extract the db_url nodes */

Callers 2

mod_initFunction · 0.85
mi_framework_reloadFunction · 0.85

Calls 8

ph_xmlNodeGetNodeByNameFunction · 0.85
shm_mallocFunction · 0.85
ph_getDbUrlNodesFunction · 0.85
ph_getDbTablesFunction · 0.85
ph_getModsFunction · 0.85
shm_freeFunction · 0.85
ph_freeDbTablesFunction · 0.85
ph_freeModsFunction · 0.85

Tested by

no test coverage detected