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

Function check_cachedb_api

cachedb/cachedb_cap.h:58–111  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

56#define CACHEDB_CAPABILITY(cdbf,cpv) (((cdbf)->capability & (cpv)) == (cpv))
57
58static inline int check_cachedb_api(cachedb_engine *cde)
59{
60 if (cde == NULL)
61 return -1;
62
63 if (cde->cdb_func.init == 0) {
64 LM_ERR("module %.*s does not export init func\n",
65 cde->name.len,cde->name.s);
66 return -1;
67 }
68
69 if (cde->cdb_func.destroy == 0) {
70 LM_ERR("module %.*s doesn't export destroy func\n",
71 cde->name.len,cde->name.s);
72 return -1;
73 }
74
75 if (cde->cdb_func.get)
76 cde->cdb_func.capability |= CACHEDB_CAP_GET;
77 if (cde->cdb_func.set)
78 cde->cdb_func.capability |= CACHEDB_CAP_SET;
79 if (cde->cdb_func.remove)
80 cde->cdb_func.capability |= CACHEDB_CAP_REMOVE;
81 if (cde->cdb_func.add)
82 cde->cdb_func.capability |= CACHEDB_CAP_ADD;
83 if (cde->cdb_func.sub)
84 cde->cdb_func.capability |= CACHEDB_CAP_SUB;
85 if (cde->cdb_func.raw_query)
86 cde->cdb_func.capability |= CACHEDB_CAP_RAW;
87 if (cde->cdb_func.truncate)
88 cde->cdb_func.capability |= CACHEDB_CAP_TRUNCATE;
89 if (cde->cdb_func.iter_keys)
90 cde->cdb_func.capability |= CACHEDB_CAP_ITER_KEYS;
91
92 if (cde->cdb_func.query)
93 cde->cdb_func.capability |= CACHEDB_CAP_QUERY;
94 if (cde->cdb_func.update)
95 cde->cdb_func.capability |= CACHEDB_CAP_UPDATE;
96
97 if (cde->cdb_func.query && cde->cdb_func.update)
98 cde->cdb_func.capability |= CACHEDB_CAP_COL_ORIENTED;
99
100 if (cde->cdb_func.map_get)
101 cde->cdb_func.capability |= CACHEDB_CAP_MAP_GET;
102 if (cde->cdb_func.map_set)
103 cde->cdb_func.capability |= CACHEDB_CAP_MAP_SET;
104 if (cde->cdb_func.map_remove)
105 cde->cdb_func.capability |= CACHEDB_CAP_MAP_REMOVE;
106
107 if (cde->cdb_func.map_get && cde->cdb_func.map_set && cde->cdb_func.map_remove)
108 cde->cdb_func.capability |= CACHEDB_CAP_MAP;
109
110 return 0;
111}
112
113#endif

Callers 1

register_cachedbFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected