CMPI 2.1.0 API
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
cmpimacs.h
Go to the documentation of this file.
1 /* ------------------------------------------------------------------------- */
2 /* */
3 /* Copyright (c) 2006-2015 The Open Group */
4 /* */
5 /* Permission is hereby granted, free of charge, to any person obtaining a */
6 /* copy of this software (the "Software"), to deal in the Software without */
7 /* restriction, including without limitation the rights to use, copy, */
8 /* modify, merge, publish, distribute, sublicense, and/or sell copies of */
9 /* the Software, and to permit persons to whom the Software is furnished */
10 /* to do so, subject to the following conditions: */
11 /* */
12 /* The above copyright notice and this permission notice shall be included */
13 /* in all copies or substantial portions of the Software. */
14 /* */
15 /* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS */
16 /* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
17 /* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */
18 /* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
19 /* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT */
20 /* OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR */
21 /* THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
22 /* */
23 /* ------------------------------------------------------------------------- */
24 
42 #ifndef _CMPIMACS_H_
43 #define _CMPIMACS_H_
44 
45 #include <cmpift.h>
46 
47 #ifdef __cplusplus
48 extern "C" {
49 #endif
50 
169 #if !defined(CMPI_INLINE) && !defined(CMPI_NO_INLINE)
170 # define CMPI_INLINE // if none is defined, set the default
171 #endif
172 #if defined(CMPI_INLINE) && defined(CMPI_NO_INLINE)
173 # error "Only one of CMPI_INLINE and CMPI_NO_INLINE may be defined."
174 #endif
175 
209 #ifdef CMPI_NO_INLINE
210 #define CMSetStatus(st, rc_) \
211 do \
212 { \
213  if (st) \
214  { \
215  (st)->rc = (rc_); \
216  (st)->msg = NULL; \
217  } \
218 } while (0)
219 #else
220 static inline void CMSetStatus(
221  CMPIStatus *st,
222  CMPIrc rc)
223 {
224  if (st)
225  {
226  st->rc = rc;
227  st->msg = NULL;
228  }
229 }
230 #endif
231 
245 #ifdef CMPI_NO_INLINE
246 #define CMSetStatusWithString(st, rc_, msg_) \
247 do \
248 { \
249  if (st) \
250  { \
251  (st)->rc = (rc_); \
252  (st)->msg = (msg_); \
253  } \
254 } while (0)
255 #else
256 static inline void CMSetStatusWithString(
257  CMPIStatus *st,
258  CMPIrc rc,
259  CMPIString *msg)
260 {
261  if (st)
262  {
263  st->rc = rc;
264  st->msg = msg;
265  }
266 }
267 #endif
268 
294 #ifdef CMPI_NO_INLINE
295 #define CMSetStatusWithChars(mb, st, rc_, msg_) \
296 do \
297 { \
298  if (st) \
299  { \
300  (st)->rc = (rc_); \
301  if (mb) \
302  (st)->msg = (mb)->eft->newString((mb), (msg_), NULL); \
303  else \
304  (st)->msg = NULL; \
305  } \
306 } while (0)
307 #else
308 static inline void CMSetStatusWithChars(
309  const CMPIBroker *mb,
310  CMPIStatus *st,
311  CMPIrc rc,
312  const char *msg)
313 {
314  if (st)
315  {
316  st->rc = rc;
317  if (mb)
318  {
319  st->msg = mb->eft->newString(mb, msg, NULL);
320  }
321  else
322  {
323  st->msg = NULL;
324  }
325  }
326 }
327 #endif
328 
356 #define CMReturn(rc) \
357 do \
358 { \
359  CMPIStatus stat; \
360  CMSetStatus(&stat, rc); \
361  return stat; \
362 } while (0)
363 
398 #define CMReturnWithString(rc, str) \
399 do \
400 { \
401  CMPIStatus stat; \
402  CMSetStatusWithString(&stat, rc, str); \
403  return stat; \
404 } while (0)
405 
437 #define CMReturnWithChars(mb, rc, chars) \
438 do \
439 { \
440  CMPIStatus stat; \
441  CMSetStatusWithChars(mb, &stat, rc, chars); \
442  return stat; \
443 } while (0)
444 
474 #ifdef CMPI_NO_INLINE
475 #define CMIsNullObject(objptr) \
476  ((objptr) == NULL)
477 #else
479  const void *objptr)
480 {
481  return objptr == NULL;
482 }
483 #endif
484 
530 #ifdef CMPI_NO_INLINE
531 #define CMIsNullValue(data) \
532  (((data).state & CMPI_nullValue) != 0)
533 #else
535  CMPIData data)
536 {
537  return (data.state & CMPI_nullValue) != 0;
538 }
539 #endif
540 
552 #ifdef CMPI_NO_INLINE
553 #define CMIsKeyValue(data) \
554  (((data).state & CMPI_keyValue) != 0)
555 #else
556 static inline CMPIBoolean CMIsKeyValue(
557  CMPIData data)
558 {
559  return (data.state & CMPI_keyValue) != 0;
560 }
561 #endif
562 
576 #ifdef CMPI_NO_INLINE
577 #define CMIsArray(data) \
578  (((data).type & CMPI_ARRAY) != 0)
579 #else
580 static inline CMPIBoolean CMIsArray(
581  CMPIData data)
582 {
583  return (data.type & CMPI_ARRAY) != 0;
584 }
585 #endif
586 
648 #define CMRelease(obj) \
649  ((obj)->ft->release((obj)))
650 
705 #define CMClone(obj, rc) \
706  ((obj)->ft->clone((obj), (rc)))
707 
708 
726 #ifdef CMPI_NO_INLINE
727 #define CMGetContextEntry(ctx, name, rc) \
728  ((ctx)->ft->getEntry((ctx), (name), (rc)))
729 #else
731  const CMPIContext *ctx,
732  const char *name,
733  CMPIStatus *rc)
734 {
735  return ctx->ft->getEntry(ctx, name, rc);
736 }
737 #endif
738 
752 #ifdef CMPI_NO_INLINE
753 #define CMGetContextEntryAt(ctx, index, name, rc) \
754  ((ctx)->ft->getEntryAt((ctx), (index), (name), (rc)))
755 #else
757  const CMPIContext *ctx,
758  CMPICount index,
759  CMPIString **name,
760  CMPIStatus *rc)
761 {
762  return ctx->ft->getEntryAt(ctx, index, name, rc);
763 }
764 #endif
765 
775 #ifdef CMPI_NO_INLINE
776 #define CMGetContextEntryCount(ctx, rc) \
777  ((ctx)->ft->getEntryCount((ctx), (rc)))
778 #else
780  const CMPIContext *ctx,
781  CMPIStatus *rc)
782 {
783  return ctx->ft->getEntryCount(ctx, rc);
784 }
785 #endif
786 
801 #ifdef CMPI_NO_INLINE
802 #define CMAddContextEntry(ctx, name, value, type) \
803  ((ctx)->ft->addEntry((ctx), (name), (CMPIValue *)(value), (type)))
804 #else
806  const CMPIContext *ctx,
807  const char *name,
808  const CMPIValue *value,
809  const CMPIType type)
810 {
811  return ctx->ft->addEntry(ctx, name, value, type);
812 }
813 #endif
814 
815 
833 #ifdef CMPI_NO_INLINE
834 #define CMReturnData(rslt, value, type) \
835  ((rslt)->ft->returnData((rslt), (CMPIValue *)(value), (type)))
836 #else
837 static inline CMPIStatus CMReturnData(
838  const CMPIResult *rslt,
839  const CMPIValue *value,
840  const CMPIType type)
841 {
842  return rslt->ft->returnData(rslt, value, type);
843 }
844 #endif
845 
855 #ifdef CMPI_NO_INLINE
856 #define CMReturnInstance(rslt, inst) \
857  ((rslt)->ft->returnInstance((rslt), (inst)))
858 #else
860  const CMPIResult *rslt,
861  const CMPIInstance *inst)
862 {
863  return rslt->ft->returnInstance(rslt, inst);
864 }
865 #endif
866 
876 #ifdef CMPI_NO_INLINE
877 #define CMReturnObjectPath(rslt, op) \
878  ((rslt)->ft->returnObjectPath((rslt), (op)))
879 #else
881  const CMPIResult *rslt,
882  const CMPIObjectPath *op)
883 {
884  return rslt->ft->returnObjectPath(rslt, op);
885 }
886 #endif
887 
896 #ifdef CMPI_NO_INLINE
897 #define CMReturnDone(rslt) \
898  ((rslt)->ft->returnDone((rslt)))
899 #else
900 static inline CMPIStatus CMReturnDone(
901  const CMPIResult *rslt)
902 {
903  return rslt->ft->returnDone(rslt);
904 }
905 #endif
906 
907 #ifdef CMPI_VER_200
908 
918 #ifdef CMPI_NO_INLINE
919 #define CMReturnError(rslt, er) \
920  ((rslt)->ft->returnError((rslt), (er)))
921 #else
922 static inline CMPIStatus CMReturnError(
923  const CMPIResult *rslt,
924  const CMPIError *er)
925 {
926  return rslt->ft->returnError(rslt, er);
927 }
928 #endif
929 #endif /* CMPI_VER_200 */
930 
931 
960 #ifdef CMPI_NO_INLINE
961 #define CMGetCharPtr(str) \
962  ((str)->ft->getCharPtr((str), NULL))
963 #else
964 static inline const char * CMGetCharPtr(
965  const CMPIString *str)
966 {
967  return str->ft->getCharPtr(str, NULL);
968 }
969 #endif
970 
989 #ifdef CMPI_NO_INLINE
990 #define CMGetCharsPtr(str, rc) \
991  ((str)->ft->getCharPtr((str), (rc)))
992 #else
993 static inline const char * CMGetCharsPtr(
994  const CMPIString *str,
995  CMPIStatus *rc)
996 {
997  return str->ft->getCharPtr(str, rc);
998 }
999 #endif
1000 
1001 #ifdef CMPI_VER_210
1002 
1024 #ifdef CMPI_NO_INLINE
1025 #define CMNewCharsCP(str, cpid, rc) \
1026  ((str)->ft->newCharsCP((str), (cpid), (rc)))
1027 #else
1028 static inline char * CMNewCharsCP(
1029  const CMPIString *str,
1030  const CMPICodepageID cpid,
1031  CMPIStatus *rc)
1032 {
1033  return str->ft->newCharsCP(str, cpid, rc);
1034 }
1035 #endif
1036 #endif /* CMPI_VER_210 */
1037 
1038 
1055 #ifdef CMPI_NO_INLINE
1056 #define CMGetArrayCount(ar, rc) \
1057  ((ar)->ft->getSize((ar), (rc)))
1058 #else
1060  const CMPIArray *ar,
1061  CMPIStatus *rc)
1062 {
1063  return ar->ft->getSize(ar, rc);
1064 }
1065 #endif
1066 
1077 #ifdef CMPI_NO_INLINE
1078 #define CMGetArrayType(ar, rc) \
1079  ((ar)->ft->getSimpleType((ar), (rc)))
1080 #else
1081 static inline CMPIType CMGetArrayType(
1082  const CMPIArray *ar,
1083  CMPIStatus *rc)
1084 {
1085  return ar->ft->getSimpleType(ar, rc);
1086 }
1087 #endif
1088 
1099 #ifdef CMPI_NO_INLINE
1100 #define CMGetArrayElementAt(ar, index, rc) \
1101  ((ar)->ft->getElementAt((ar), (index), (rc)))
1102 #else
1104  const CMPIArray *ar,
1105  CMPICount index,
1106  CMPIStatus *rc)
1107 {
1108  return ar->ft->getElementAt(ar, index, rc);
1109 }
1110 #endif
1111 
1126 #ifdef CMPI_NO_INLINE
1127 #define CMSetArrayElementAt(ar, index, value, type) \
1128  ((ar)->ft->setElementAt((ar), (index), (CMPIValue *)(value), (type)))
1129 #else
1131  const CMPIArray *ar,
1132  CMPICount index,
1133  const CMPIValue *value,
1134  CMPIType type)
1135 {
1136  return ar->ft->setElementAt(ar, index, value, type);
1137 }
1138 #endif
1139 
1140 
1156 #ifdef CMPI_NO_INLINE
1157 #define CMGetNext(en, rc) \
1158  ((en)->ft->getNext((en), (rc)))
1159 #else
1160 static inline CMPIData CMGetNext(
1161  const CMPIEnumeration *en,
1162  CMPIStatus *rc)
1163 {
1164  return en->ft->getNext(en, rc);
1165 }
1166 #endif
1167 
1178 #ifdef CMPI_NO_INLINE
1179 #define CMHasNext(en, rc) \
1180  ((en)->ft->hasNext((en), (rc)))
1181 #else
1182 static inline CMPIBoolean CMHasNext(
1183  const CMPIEnumeration *en,
1184  CMPIStatus *rc)
1185 {
1186  return en->ft->hasNext(en, rc);
1187 }
1188 #endif
1189 
1200 #ifdef CMPI_NO_INLINE
1201 #define CMToArray(en, rc) \
1202  ((en)->ft->toArray((en), (rc)))
1203 #else
1204 static inline CMPIArray *CMToArray(
1205  const CMPIEnumeration *en,
1206  CMPIStatus *rc)
1207 {
1208  return en->ft->toArray(en, rc);
1209 }
1210 #endif
1211 
1212 
1238 #ifdef CMPI_NO_INLINE
1239 #define CMGetProperty(inst, name, rc) \
1240  ((inst)->ft->getProperty((inst), (name), (rc)))
1241 #else
1242 static inline CMPIData CMGetProperty(
1243  const CMPIInstance *inst,
1244  const char *name,
1245  CMPIStatus *rc)
1246 {
1247  return inst->ft->getProperty(inst, name, rc);
1248 }
1249 #endif
1250 
1263 #ifdef CMPI_NO_INLINE
1264 #define CMGetPropertyAt(inst, index, name, rc) \
1265  ((inst)->ft->getPropertyAt((inst), (index), (name), (rc)))
1266 #else
1268  const CMPIInstance *inst,
1269  CMPICount index,
1270  CMPIString **name,
1271  CMPIStatus *rc)
1272 {
1273  return inst->ft->getPropertyAt(inst, index, name, rc);
1274 }
1275 #endif
1276 
1286 #ifdef CMPI_NO_INLINE
1287 #define CMGetPropertyCount(inst, rc) \
1288  ((inst)->ft->getPropertyCount((inst), (rc)))
1289 #else
1291  const CMPIInstance *inst,
1292  CMPIStatus *rc)
1293 {
1294  return inst->ft->getPropertyCount(inst, rc);
1295 }
1296 #endif
1297 
1316 #ifdef CMPI_NO_INLINE
1317 #define CMSetProperty(inst, name, value, type) \
1318  ((inst)->ft->setProperty((inst), (name), (CMPIValue *)(value), (type)))
1319 #else
1321  const CMPIInstance *inst,
1322  const char *name,
1323  const CMPIValue *value,
1324  const CMPIType type)
1325 {
1326  return inst->ft->setProperty(inst, name, value, type);
1327 }
1328 #endif
1329 
1339 #ifdef CMPI_NO_INLINE
1340 #define CMGetObjectPath(inst, rc) \
1341  ((inst)->ft->getObjectPath((inst), (rc)))
1342 #else
1344  const CMPIInstance *inst,
1345  CMPIStatus *rc)
1346 {
1347  return inst->ft->getObjectPath(inst, rc);
1348 }
1349 #endif
1350 
1363 #ifdef CMPI_NO_INLINE
1364 #define CMSetPropertyFilter(inst, properties, keyList) \
1365  ((inst)->ft->setPropertyFilter((inst), (properties), (keyList)))
1366 #else
1368  const CMPIInstance *inst,
1369  const char **properties,
1370  const char **keyList)
1371 {
1372  return inst->ft->setPropertyFilter(inst, properties, keyList);
1373 }
1374 #endif
1375 
1385 #ifdef CMPI_NO_INLINE
1386 #define CMSetObjectPath(inst, op) \
1387  ((inst)->ft->setObjectPath((inst), (op)))
1388 #else
1390  const CMPIInstance *inst,
1391  const CMPIObjectPath *op)
1392 {
1393  return inst->ft->setObjectPath(inst, op);
1394 }
1395 #endif
1396 
1397 #ifdef CMPI_VER_200
1398 
1414 #ifdef CMPI_NO_INLINE
1415 #define CMSetPropertyWithOrigin(inst, name, value, type, origin) \
1416  ((inst)->ft->setPropertyWithOrigin((inst), (name), (CMPIValue *)(value), \
1417  (type), (origin)))
1418 #else
1420  const CMPIInstance *inst,
1421  const char *name,
1422  const CMPIValue *value,
1423  CMPIType type,
1424  const char *origin)
1425 {
1426  return inst->ft->setPropertyWithOrigin(inst, name, value, type, origin);
1427 }
1428 #endif
1429 #endif /* CMPI_VER_200 */
1430 
1431 
1447 #ifdef CMPI_NO_INLINE
1448 #define CMSetNameSpace(op, ns) \
1449  ((op)->ft->setNameSpace((op), (ns)))
1450 #else
1452  const CMPIObjectPath *op,
1453  const char *ns)
1454 {
1455  return op->ft->setNameSpace(op, ns);
1456 }
1457 #endif
1458 
1468 #ifdef CMPI_NO_INLINE
1469 #define CMGetNameSpace(op, rc) \
1470  ((op)->ft->getNameSpace((op), (rc)))
1471 #else
1473  const CMPIObjectPath *op,
1474  CMPIStatus *rc)
1475 {
1476  return op->ft->getNameSpace(op, rc);
1477 }
1478 #endif
1479 
1489 #ifdef CMPI_NO_INLINE
1490 #define CMSetHostname(op, hn) \
1491  ((op)->ft->setHostname((op), (hn)))
1492 #else
1493 static inline CMPIStatus CMSetHostname (
1494  const CMPIObjectPath *op,
1495  const char *hn)
1496 {
1497  return op->ft->setHostname(op, hn);
1498 }
1499 #endif
1500 
1510 #ifdef CMPI_NO_INLINE
1511 #define CMGetHostname(op, rc) \
1512  ((op)->ft->getHostname((op), (rc)))
1513 #else
1514 static inline CMPIString *CMGetHostname(
1515  const CMPIObjectPath *op,
1516  CMPIStatus *rc)
1517 {
1518  return op->ft->getHostname(op, rc);
1519 }
1520 #endif
1521 
1531 #ifdef CMPI_NO_INLINE
1532 #define CMSetClassName(op, cn) \
1533  ((op)->ft->setClassName((op), (cn)))
1534 #else
1536  const CMPIObjectPath *op,
1537  const char *cn)
1538 {
1539  return op->ft->setClassName(op, cn);
1540 }
1541 #endif
1542 
1552 #ifdef CMPI_NO_INLINE
1553 #define CMGetClassName(op, rc) \
1554  ((op)->ft->getClassName((op), (rc)))
1555 #else
1557  const CMPIObjectPath *op,
1558  CMPIStatus *rc)
1559 {
1560  return op->ft->getClassName(op, rc);
1561 }
1562 #endif
1563 
1576 #ifdef CMPI_NO_INLINE
1577 #define CMAddKey(op,key,value,type) \
1578  ((op)->ft->addKey((op), (key), (CMPIValue *)(value), (type)))
1579 #else
1580 static inline CMPIStatus CMAddKey(
1581  const CMPIObjectPath *op,
1582  const char *key,
1583  const CMPIValue *value,
1584  const CMPIType type)
1585 {
1586  return op->ft->addKey(op, key, value, type);
1587 }
1588 #endif
1589 
1600 #ifdef CMPI_NO_INLINE
1601 #define CMGetKey(op, key, rc) \
1602  ((op)->ft->getKey((op),(key),(rc)))
1603 #else
1604 static inline CMPIData CMGetKey(
1605  const CMPIObjectPath *op,
1606  const char *key,
1607  CMPIStatus *rc)
1608 {
1609  return op->ft->getKey(op, key, rc);
1610 }
1611 #endif
1612 
1625 #ifdef CMPI_NO_INLINE
1626 #define CMGetKeyAt(op, index, name, rc) \
1627  ((op)->ft->getKeyAt((op), (index), (name), (rc)))
1628 #else
1629 static inline CMPIData CMGetKeyAt(
1630  const CMPIObjectPath *op,
1631  CMPICount index,
1632  CMPIString **name,
1633  CMPIStatus *rc)
1634 {
1635  return op->ft->getKeyAt(op, index, name, rc);
1636 }
1637 #endif
1638 
1639 
1649 #ifdef CMPI_NO_INLINE
1650 #define CMGetKeyCount(op, rc) \
1651  ((op)->ft->getKeyCount((op), (rc)))
1652 #else
1653 static inline CMPICount CMGetKeyCount(
1654  const CMPIObjectPath *op,
1655  CMPIStatus *rc)
1656 {
1657  return op->ft->getKeyCount(op, rc);
1658 }
1659 #endif
1660 
1671 #ifdef CMPI_NO_INLINE
1672 #define CMSetNameSpaceFromObjectPath(op, src) \
1673  ((op)->ft->setNameSpaceFromObjectPath((op), (src)))
1674 #else
1676  const CMPIObjectPath *op,
1677  const CMPIObjectPath *src)
1678 {
1679  return op->ft->setNameSpaceFromObjectPath(op, src);
1680 }
1681 #endif
1682 
1693 #ifdef CMPI_NO_INLINE
1694 #define CMSetHostAndNameSpaceFromObjectPath(op, src) \
1695  ((op)->ft->setHostAndNameSpaceFromObjectPath((op), (src)))
1696 #else
1698  const CMPIObjectPath *op,
1699  const CMPIObjectPath *src)
1700 {
1701  return op->ft->setHostAndNameSpaceFromObjectPath(op, src);
1702 }
1703 #endif
1704 
1715 #ifdef CMPI_NO_INLINE
1716 #define CMGetClassQualifier(op, qName, rc) \
1717  ((op)->ft->getClassQualifier((op), (qName), (rc)))
1718 #else
1720  const CMPIObjectPath *op,
1721  const char *qName,
1722  CMPIStatus *rc)
1723 {
1724  return op->ft->getClassQualifier(op, qName, rc);
1725 }
1726 #endif
1727 
1739 #ifdef CMPI_NO_INLINE
1740 #define CMGetPropertyQualifier(op, pName, qName, rc) \
1741  ((op)->ft->getPropertyQualifier((op), (pName), (qName), (rc)))
1742 #else
1744  const CMPIObjectPath *op,
1745  const char *pName,
1746  const char *qName,
1747  CMPIStatus *rc)
1748 {
1749  return op->ft->getPropertyQualifier(op, pName, qName, rc);
1750 }
1751 #endif
1752 
1764 #ifdef CMPI_NO_INLINE
1765 #define CMGetMethodQualifier(op, mName, qName, rc) \
1766  ((op)->ft->getMethodQualifier((op), (mName), (qName), (rc)))
1767 #else
1769  const CMPIObjectPath *op,
1770  const char *mName,
1771  const char *qName,
1772  CMPIStatus *rc)
1773 {
1774  return op->ft->getMethodQualifier(op, mName, qName, rc);
1775 }
1776 #endif
1777 
1790 #ifdef CMPI_NO_INLINE
1791 #define CMGetParameterQualifier(op, mName, pName, qName,rc) \
1792  ((op)->ft->getParameterQualifier((op), (mName), (pName), (qName), (rc)))
1793 #else
1795  const CMPIObjectPath *op,
1796  const char *mName,
1797  const char *pName,
1798  const char *qName,
1799  CMPIStatus *rc)
1800 {
1801  return op->ft->getParameterQualifier(op, mName, pName, qName, rc);
1802 }
1803 #endif
1804 
1805 
1824 #ifdef CMPI_NO_INLINE
1825 #define CMAddArg(args, name, value, type) \
1826  ((args)->ft->addArg((args), (name), (CMPIValue *)(value), (type)))
1827 #else
1828 static inline CMPIStatus CMAddArg(
1829  const CMPIArgs *args,
1830  const char *name,
1831  const CMPIValue *value,
1832  const CMPIType type)
1833 {
1834  return args->ft->addArg(args, name, (CMPIValue *)value, type);
1835 }
1836 #endif
1837 
1848 #ifdef CMPI_NO_INLINE
1849 #define CMGetArg(args, name, rc) \
1850  ((args)->ft->getArg((args), (name), (rc)))
1851 #else
1852 static inline CMPIData CMGetArg(
1853  const CMPIArgs *args,
1854  const char *name,
1855  CMPIStatus *rc)
1856 {
1857  return args->ft->getArg(args, name, rc);
1858 }
1859 #endif
1860 
1874 #ifdef CMPI_NO_INLINE
1875 #define CMGetArgAt(args, index, name, rc) \
1876  ((args)->ft->getArgAt((args), (index), (name), (rc)))
1877 #else
1878 static inline CMPIData CMGetArgAt(
1879  const CMPIArgs *args,
1880  CMPICount index,
1881  CMPIString **name,
1882  CMPIStatus *rc)
1883 {
1884  return args->ft->getArgAt(args, index, name, rc);
1885 }
1886 #endif
1887 
1897 #ifdef CMPI_NO_INLINE
1898 #define CMGetArgCount(args, rc) \
1899  ((args)->ft->getArgCount((args), (rc)))
1900 #else
1901 static inline CMPICount CMGetArgCount(
1902  const CMPIArgs *args,
1903  CMPIStatus *rc)
1904 {
1905  return args->ft->getArgCount(args, rc);
1906 }
1907 #endif
1908 
1909 
1928 #ifdef CMPI_NO_INLINE
1929 #define CMGetBinaryFormat(dt, rc) \
1930  ((dt)->ft->getBinaryFormat((dt), (rc)))
1931 #else
1933  const CMPIDateTime *dt,
1934  CMPIStatus *rc)
1935 {
1936  return dt->ft->getBinaryFormat(dt, rc);
1937 }
1938 #endif
1939 
1951 #ifdef CMPI_NO_INLINE
1952 #define CMGetStringFormat(dt, rc) \
1953  ((dt)->ft->getStringFormat((dt), (rc)))
1954 #else
1956  const CMPIDateTime *dt,
1957  CMPIStatus *rc)
1958 {
1959  return dt->ft->getStringFormat(dt, rc);
1960 }
1961 #endif
1962 
1973 #ifdef CMPI_NO_INLINE
1974 #define CMIsInterval(dt, rc) \
1975  ((dt)->ft->isInterval((dt), (rc)))
1976 #else
1978  const CMPIDateTime *dt,
1979  CMPIStatus *rc)
1980 {
1981  return dt->ft->isInterval(dt, rc);
1982 }
1983 #endif
1984 
1985 
2004 #ifdef CMPI_NO_INLINE
2005 #define CMEvaluateSelExp(se, inst, rc) \
2006  ((se)->ft->evaluate((se), (inst), (rc)))
2007 #else
2009  const CMPISelectExp *se,
2010  const CMPIInstance *inst,
2011  CMPIStatus *rc)
2012 {
2013  return se->ft->evaluate(se, inst, rc);
2014 }
2015 #endif
2016 
2026 #ifdef CMPI_NO_INLINE
2027 #define CMGetSelExpString(se, rc) \
2028  ((se)->ft->getString((se), (rc)))
2029 #else
2031  const CMPISelectExp *se,
2032  CMPIStatus *rc)
2033 {
2034  return se->ft->getString(se, rc);
2035 }
2036 #endif
2037 
2048 #ifdef CMPI_NO_INLINE
2049 #define CMGetDoc(se, rc) \
2050  ((se)->ft->getDOC((se), (rc)))
2051 #else
2052 static inline CMPISelectCond *CMGetDoc(
2053  const CMPISelectExp *se,
2054  CMPIStatus *rc)
2055 {
2056  return se->ft->getDOC(se, rc);
2057 }
2058 #endif
2059 
2070 #ifdef CMPI_NO_INLINE
2071 #define CMGetCod(se, rc) \
2072  ((se)->ft->getCOD((se), (rc)))
2073 #else
2074 static inline CMPISelectCond *CMGetCod(
2075  const CMPISelectExp *se,
2076  CMPIStatus *rc)
2077 {
2078  return se->ft->getCOD(se, rc);
2079 }
2080 #endif
2081 
2097 #ifdef CMPI_NO_INLINE
2098 #define CMEvaluateSelExpUsingAccessor(se, accessor, parm, rc) \
2099  ((se)->ft->evaluateUsingAccessor((se), (accessor), (parm), (rc)))
2100 #else
2102  const CMPISelectExp *se,
2103  const CMPIAccessor *accessor,
2104  void *parm,
2105  CMPIStatus *rc)
2106 {
2107  return se->ft->evaluateUsingAccessor(se, accessor, parm, rc);
2108 }
2109 #endif
2110 
2111 
2130 #ifdef CMPI_NO_INLINE
2131 #define CMGetSubCondCountAndType(sc, type, rc) \
2132  ((sc)->ft->getCountAndType((sc), (type), (rc)))
2133 #else
2135  const CMPISelectCond *sc,
2136  int *type,
2137  CMPIStatus *rc)
2138 {
2139  return sc->ft->getCountAndType(sc, type, rc);
2140 }
2141 #endif
2142 
2154 #ifdef CMPI_NO_INLINE
2155 #define CMGetSubCondAt(sc, index, rc) \
2156  ((sc)->ft->getSubCondAt((sc), (index), (rc)))
2157 #else
2159  const CMPISelectCond *sc,
2160  CMPICount index,
2161  CMPIStatus *rc)
2162 {
2163  return sc->ft->getSubCondAt(sc, index, rc);
2164 }
2165 #endif
2166 
2167 
2183 #ifdef CMPI_NO_INLINE
2184 #define CMGetPredicateCount(sc, rc) \
2185  ((sc)->ft->getCount((sc), (rc)))
2186 #else
2188  const CMPISubCond *sc,
2189  CMPIStatus *rc)
2190 {
2191  return sc->ft->getCount(sc, rc);
2192 }
2193 #endif
2194 
2206 #ifdef CMPI_NO_INLINE
2207 #define CMGetPredicateAt(sc, index, rc) \
2208  ((sc)->ft->getPredicateAt((sc), (index), (rc)))
2209 #else
2211  const CMPISubCond *sc,
2212  CMPICount index,
2213  CMPIStatus *rc)
2214 {
2215  return sc->ft->getPredicateAt(sc, index, rc);
2216 }
2217 #endif
2218 
2229 #ifdef CMPI_NO_INLINE
2230 #define CMGetPredicate(sc, name, rc) \
2231  ((sc)->ft->getPredicate((sc), (name), (rc)))
2232 #else
2234  const CMPISubCond *sc,
2235  const char *name,
2236  CMPIStatus *rc)
2237 {
2238  return sc->ft->getPredicate(sc, name, rc);
2239 }
2240 #endif
2241 
2242 
2261 #ifdef CMPI_NO_INLINE
2262 #define CMGetPredicateData(pr, type, prop, lhs, rhs) \
2263  ((pr)->ft->getData((pr), (type), (prop), (lhs), (rhs)))
2264 #else
2266  const CMPIPredicate *pr,
2267  CMPIType *type,
2268  CMPIPredOp *prop,
2269  CMPIString **lhs,
2270  CMPIString **rhs)
2271 {
2272  return pr->ft->getData(pr, type, prop, lhs, rhs);
2273 }
2274 #endif
2275 
2293 #ifdef CMPI_NO_INLINE
2294 #define CMEvaluatePredicateUsingAccessor(pr, accessorFnc, parm, rc) \
2295  ((pr)->ft->evaluateUsingAccessor((pr), (accessorFnc), (parm), (rc)))
2296 #else
2298  const CMPIPredicate *pr,
2299  const CMPIAccessor *accessorFnc,
2300  void *parm,
2301  CMPIStatus *rc)
2302 {
2303  return pr->ft->evaluateUsingAccessor(pr, accessorFnc, parm, rc);
2304 }
2305 #endif
2306 
2313 #ifdef CMPI_VER_200
2314 
2330 #ifdef CMPI_NO_INLINE
2331 #define CMGetErrorType(er, rc) \
2332  ((er)->ft->getErrorType((er), (rc)))
2333 #else
2335  const CMPIError *er,
2336  CMPIStatus *rc)
2337 {
2338  return er->ft->getErrorType(er, rc);
2339 }
2340 #endif
2341 
2356 #ifdef CMPI_NO_INLINE
2357 #define CMGetOtherErrorType(er, rc) \
2358  ((er)->ft->getOtherErrorType((er), (rc)))
2359 #else
2361  const CMPIError *er,
2362  CMPIStatus *rc)
2363 {
2364  return er->ft->getOtherErrorType(er, rc);
2365 }
2366 #endif
2367 
2383 #ifdef CMPI_NO_INLINE
2384 #define CMGetOwningEntity(er, rc) \
2385  ((er)->ft->getOwningEntity((er), (rc)))
2386 #else
2388  const CMPIError *er,
2389  CMPIStatus *rc)
2390 {
2391  return er->ft->getOwningEntity(er, rc);
2392 }
2393 #endif
2394 
2410 #ifdef CMPI_NO_INLINE
2411 #define CMGetMessageID(er, rc) \
2412  ((er)->ft->getMessageID((er), (rc)))
2413 #else
2415  const CMPIError *er,
2416  CMPIStatus *rc)
2417 {
2418  return er->ft->getMessageID(er, rc);
2419 }
2420 #endif
2421 
2437 #ifdef CMPI_NO_INLINE
2438 #define CMGetErrorMessage(er, rc) \
2439  ((er)->ft->getMessage((er), (rc)))
2440 #else
2442  const CMPIError *er,
2443  CMPIStatus *rc)
2444 {
2445  return er->ft->getMessage(er, rc);
2446 }
2447 #endif
2448 
2465 #ifdef CMPI_NO_INLINE
2466 #define CMGetPerceivedSeverity(er, rc) \
2467  ((er)->ft->getPerceivedSeverity((er), (rc)))
2468 #else
2470  const CMPIError *er,
2471  CMPIStatus *rc)
2472 {
2473  return er->ft->getPerceivedSeverity(er, rc);
2474 }
2475 #endif
2476 
2493 #ifdef CMPI_NO_INLINE
2494 #define CMGetProbableCause(er, rc) \
2495  ((er)->ft->getProbableCause((er), (rc)))
2496 #else
2498  const CMPIError *er,
2499  CMPIStatus *rc)
2500 {
2501  return er->ft->getProbableCause(er, rc);
2502 }
2503 #endif
2504 
2520 #ifdef CMPI_NO_INLINE
2521 #define CMGetProbableCauseDescription(er, rc) \
2522  ((er)->ft->getProbableCauseDescription((er), (rc)))
2523 #else
2525  const CMPIError *er,
2526  CMPIStatus *rc)
2527 {
2528  return er->ft->getProbableCauseDescription(er, rc);
2529 }
2530 #endif
2531 
2547 #ifdef CMPI_NO_INLINE
2548 #define CMGetRecommendedActions(er, rc) \
2549  ((er)->ft->getRecommendedActions((er), (rc)))
2550 #else
2552  const CMPIError *er,
2553  CMPIStatus *rc)
2554 {
2555  return er->ft->getRecommendedActions(er, rc);
2556 }
2557 #endif
2558 
2573 #ifdef CMPI_NO_INLINE
2574 #define CMGetErrorSource(er, rc) \
2575  ((er)->ft->CMGetErrorSourcegetErrorSource((er), (rc)))
2576 #else
2578  const CMPIError *er,
2579  CMPIStatus *rc)
2580 {
2581  return er->ft->getErrorSource(er, rc);
2582 }
2583 #endif
2584 
2600 #ifdef CMPI_NO_INLINE
2601 #define CMGetErrorSourceFormat(er, rc) \
2602  ((er)->ft->getErrorSourceFormat((er), (rc)))
2603 #else
2605  const CMPIError *er,
2606  CMPIStatus *rc)
2607 {
2608  return er->ft->getErrorSourceFormat(er, rc);
2609 }
2610 #endif
2611 
2627 #ifdef CMPI_NO_INLINE
2628 #define CMGetOtherErrorSourceFormat(er, rc) \
2629  ((er)->ft->getOtherErrorSourceFormat((er), (rc)))
2630 #else
2632  const CMPIError *er,
2633  CMPIStatus *rc)
2634 {
2635  return er->ft->getOtherErrorSourceFormat(er, rc);
2636 }
2637 #endif
2638 
2655 #ifdef CMPI_NO_INLINE
2656 #define CMGetCIMStatusCode(er, rc) \
2657  ((er)->ft->getCIMStatusCode((er), (rc)))
2658 #else
2660  const CMPIError *er,
2661  CMPIStatus *rc)
2662 {
2663  return er->ft->getCIMStatusCode(er, rc);
2664 }
2665 #endif
2666 
2682 #ifdef CMPI_NO_INLINE
2683 #define CMGetCIMStatusCodeDescription(er, rc) \
2684  ((er)->ft->getCIMStatusCodeDescription((er), (rc)))
2685 #else
2687  const CMPIError *er,
2688  CMPIStatus *rc)
2689 {
2690  return er->ft->getCIMStatusCodeDescription(er, rc);
2691 }
2692 #endif
2693 
2709 #ifdef CMPI_NO_INLINE
2710 #define CMGetMessageArguments(er, rc) \
2711  ((er)->ft->getMessageArguments((er), (rc)))
2712 #else
2714  const CMPIError *er,
2715  CMPIStatus *rc)
2716 {
2717  return er->ft->getMessageArguments(er, rc);
2718 }
2719 #endif
2720 
2736 #ifdef CMPI_NO_INLINE
2737 #define CMSetErrorType(er, et) \
2738  ((er)->ft->setErrorType((er), (et)))
2739 #else
2741  const CMPIError *er,
2742  const CMPIErrorType et)
2743 {
2744  return er->ft->setErrorType(er, et);
2745 }
2746 #endif
2747 
2762 #ifdef CMPI_NO_INLINE
2763 #define CMSetOtherErrorType(er, ot) \
2764  ((er)->ft->setOtherErrorType((er), (ot)))
2765 #else
2767  const CMPIError *er,
2768  const char *ot)
2769 {
2770  return er->ft->setOtherErrorType(er, ot);
2771 }
2772 #endif
2773 
2789 #ifdef CMPI_NO_INLINE
2790 #define CMSetProbableCauseDescription(er, pcd) \
2791  ((er)->ft->setProbableCauseDescription((er), (pcd)))
2792 #else
2794  const CMPIError *er,
2795  const char *pcd)
2796 {
2797  return er->ft->setProbableCauseDescription(er, pcd);
2798 }
2799 #endif
2800 
2816 #ifdef CMPI_NO_INLINE
2817 #define CMSetRecommendedActions(er, ra) \
2818  ((er)->ft->setRecommendedActions((er), (ra)))
2819 #else
2821  const CMPIError *er,
2822  const CMPIArray *ra)
2823 {
2824  return er->ft->setRecommendedActions(er, ra);
2825 }
2826 #endif
2827 
2842 #ifdef CMPI_NO_INLINE
2843 #define CMSetErrorSource(er, es) \
2844  ((er)->ft->setErrorSource((er), (es)))
2845 #else
2847  const CMPIError *er,
2848  const char* es)
2849 {
2850  return er->ft->setErrorSource(er, es);
2851 }
2852 #endif
2853 
2869 #ifdef CMPI_NO_INLINE
2870 #define CMSetErrorSourceFormat(er, esf) \
2871  ((er)->ft->setErrorSourceFormat((er), (esf)))
2872 #else
2874  const CMPIError *er,
2875  const CMPIErrorSrcFormat esf)
2876 {
2877  return er->ft->setErrorSourceFormat(er, esf);
2878 }
2879 #endif
2880 
2896 #ifdef CMPI_NO_INLINE
2897 #define CMSetOtherErrorSourceFormat(er, oef) \
2898  ((er)->ft->setOtherErrorSourceFormat((er), (oef)))
2899 #else
2901  const CMPIError *er,
2902  const char* oef)
2903 {
2904  return er->ft->setOtherErrorSourceFormat(er, oef);
2905 }
2906 #endif
2907 
2923 #ifdef CMPI_NO_INLINE
2924 #define CMSetCIMStatusCodeDescription(er, scd) \
2925  ((er)->ft->setCIMStatusCodeDescription((er), (scd)))
2926 #else
2928  const CMPIError *er,
2929  const char* scd)
2930 {
2931  return er->ft->setCIMStatusCodeDescription(er, scd);
2932 }
2933 #endif
2934 
2950 #ifdef CMPI_NO_INLINE
2951 #define CMSetMessageArguments(er, values) \
2952  ((er)->ft->setMessageArguments((er), (values)))
2953 #else
2955  const CMPIError *er,
2956  const CMPIArray *values)
2957 {
2958  return er->ft->setMessageArguments(er, values);
2959 }
2960 #endif
2961 
2962 #endif /* CMPI_VER_200 */
2963 
2964 #ifdef CMPI_VER_210
2965 
2978 #ifdef CMPI_NO_INLINE
2979 #define CMIsPropertyInList(plist, pname, rc) \
2980  ((plist)->ft->isPropertyInList((plist), (pname), (rc)))
2981 #else
2983  const CMPIPropertyList *plist,
2984  const char *pname,
2985  CMPIStatus *rc)
2986 {
2987  return plist->ft->isPropertyInList(plist, pname, rc);
2988 }
2989 #endif
2990 #endif /* CMPI_VER_210 */
2991 
2992 #ifdef CMPI_VER_210
2993 
3004 #ifdef CMPI_NO_INLINE
3005 #define CMGetListProperties(plist, rc) \
3006  ((plist)->ft->getProperties((plist), (rc)))
3007 #else
3008 static inline const char** CMGetListProperties(
3009  const CMPIPropertyList *plist,
3010  CMPIStatus *rc)
3011 {
3012  return plist->ft->getProperties(plist, rc);
3013 }
3014 #endif
3015 #endif /* CMPI_VER_210 */
3016 
3017 #ifdef CMPI_VER_210
3018 
3031 #ifdef CMPI_NO_INLINE
3032 #define CMFilterMatch(ef, inst, rc) \
3033  ((ef)->ft->match((ef), (inst), (rc)))
3034 #else
3036  const CMPIEnumerationFilter *ef,
3037  const CMPIInstance *inst,
3038  CMPIStatus *rc)
3039 {
3040  return ef->ft->match(ef, inst, rc);
3041 }
3042 #endif
3043 #endif /* CMPI_VER_210 */
3044 
3065 #ifdef CMPI_NO_INLINE
3066 #define CBGetCapabilities(mb) \
3067  ((mb)->bft->brokerCapabilities)
3068 #else
3069 static inline unsigned int CBGetCapabilities(
3070  const CMPIBroker *mb)
3071 {
3072  return mb->bft->brokerCapabilities;
3073 }
3074 #endif
3075 
3089 #ifdef CMPI_NO_INLINE
3090 #define CBBrokerVersion(mb) \
3091  ((mb)->bft->brokerVersion)
3092 #else
3094  const CMPIBroker *mb)
3095 {
3096  return mb->bft->brokerVersion;
3097 }
3098 #endif
3099 
3110 #ifdef CMPI_NO_INLINE
3111 #define CBBrokerName(mb) \
3112  ((bm)->bft->brokerName)
3113 #else
3114 static inline const char * CBBrokerName(
3115  const CMPIBroker *mb)
3116 {
3117  return mb->bft->brokerName;
3118 }
3119 #endif
3120 
3147 #ifdef CMPI_NO_INLINE
3148 #define CBPrepareAttachThread(mb, ctx) \
3149  ((mb)->bft->prepareAttachThread((mb), (ctx)))
3150 #else
3152  const CMPIBroker *mb,
3153  const CMPIContext *ctx)
3154 {
3155  return mb->bft->prepareAttachThread(mb, ctx);
3156 }
3157 #endif
3158 
3169 #ifdef CMPI_NO_INLINE
3170 #define CBAttachThread(mb, ctx) \
3171  ((mb)->bft->attachThread((mb), (ctx)))
3172 #else
3174  const CMPIBroker *mb,
3175  const CMPIContext *ctx)
3176 {
3177  return mb->bft->attachThread(mb, ctx);
3178 }
3179 #endif
3180 
3192 #ifdef CMPI_NO_INLINE
3193 #define CBDetachThread(mb, ctx) \
3194  ((mb)->bft->detachThread((mb), (ctx)))
3195 #else
3197  const CMPIBroker *mb,
3198  const CMPIContext *ctx)
3199 {
3200  return mb->bft->detachThread(mb, ctx);
3201 }
3202 #endif
3203 
3204 
3217 #ifdef CMPI_NO_INLINE
3218 #define CBDeliverIndication(mb, ctx, ns, ind) \
3219  ((mb)->bft->deliverIndication((mb), (ctx), (ns), (ind)))
3220 #else
3222  const CMPIBroker *mb,
3223  const CMPIContext *ctx,
3224  const char *ns,
3225  const CMPIInstance *ind)
3226 {
3227  return mb->bft->deliverIndication(mb, ctx, ns, ind);
3228 }
3229 #endif
3230 
3244 #ifdef CMPI_NO_INLINE
3245 #define CBEnumInstanceNames(mb, ctx, classPath, rc) \
3246  ((mb)->bft->enumerateInstanceNames((mb), (ctx), (classPath), (rc)))
3247 #else
3249  const CMPIBroker *mb,
3250  const CMPIContext *ctx,
3251  const CMPIObjectPath *classPath,
3252  CMPIStatus *rc)
3253 {
3254  return mb->bft->enumerateInstanceNames(mb, ctx, classPath, rc);
3255 }
3256 #endif
3257 
3274 #ifdef CMPI_NO_INLINE
3275 #define CBEnumInstances(mb, ctx, classPath, properties, rc) \
3276  (mb)->bft->enumerateInstances((mb), (ctx), (classPath), \
3277  (properties), (rc)))
3278 #else
3280  const CMPIBroker *mb,
3281  const CMPIContext *ctx,
3282  const CMPIObjectPath *classPath,
3283  const char **properties,
3284  CMPIStatus *rc)
3285 {
3286  return mb->bft->enumerateInstances(mb, ctx, classPath, properties, rc);
3287 }
3288 #endif
3289 
3305 #ifdef CMPI_NO_INLINE
3306 #define CBGetInstance(mb, ctx, instPath, properties, rc) \
3307  ((mb)->bft->getInstance((mb), (ctx), (instPath), (properties), (rc)))
3308 #else
3310  const CMPIBroker *mb,
3311  const CMPIContext *ctx,
3312  const CMPIObjectPath *instPath,
3313  const char **properties,
3314  CMPIStatus *rc)
3315 {
3316  return mb->bft->getInstance(mb, ctx, instPath, properties, rc);
3317 }
3318 #endif
3319 
3332 #ifdef CMPI_NO_INLINE
3333 #define CBCreateInstance(mb, ctx, classPath, newInst, rc) \
3334  ((mb)->bft->createInstance((mb), (ctx), (classPath), (newInst), (rc)))
3335 #else
3337  const CMPIBroker *mb,
3338  const CMPIContext *ctx,
3339  const CMPIObjectPath *classPath,
3340  const CMPIInstance *newInst,
3341  CMPIStatus *rc)
3342 {
3343  return mb->bft->createInstance(mb, ctx, classPath, newInst, rc);
3344 }
3345 #endif
3346 
3360 #ifdef CMPI_NO_INLINE
3361 #define CBModifyInstance(mb, ctx, instPath, modInst, properties) \
3362  ((mb)->bft->modifyInstance((mb), (ctx), (instPath), (modInst), \
3363  (properties)))
3364 #else
3366  const CMPIBroker *mb,
3367  const CMPIContext *ctx,
3368  const CMPIObjectPath *instPath,
3369  const CMPIInstance *modInst,
3370  const char** properties)
3371 {
3372  return mb->bft->modifyInstance(mb, ctx, instPath, modInst, properties);
3373 }
3374 #endif
3375 
3386 #ifdef CMPI_NO_INLINE
3387 #define CBDeleteInstance(mb, ctx, instPath) \
3388  ((mb)->bft->deleteInstance((mb), (ctx), (instPath)))
3389 #else
3391  const CMPIBroker *mb,
3392  const CMPIContext *ctx,
3393  const CMPIObjectPath *instPath)
3394 {
3395  return mb->bft->deleteInstance(mb, ctx, instPath);
3396 }
3397 #endif
3398 
3413 #ifdef CMPI_NO_INLINE
3414 #define CBExecQuery(mb, ctx, classPath, query, lang, rc) \
3415  ((mb)->bft->execQuery((mb), (ctx), (classPath), (query), (lang), (rc)))
3416 #else
3418  const CMPIBroker *mb,
3419  const CMPIContext *ctx,
3420  const CMPIObjectPath *classPath,
3421  const char *query,
3422  const char *lang,
3423  CMPIStatus *rc)
3424 {
3425  return mb->bft->execQuery(mb, ctx, classPath, query, lang, rc);
3426 }
3427 #endif
3428 
3460 #ifdef CMPI_NO_INLINE
3461 #define CBAssociators(mb, ctx, instPath, assocClass, resultClass, role, \
3462  resultRole, properties, rc) \
3463  ((mb)->bft->associators((mb), (ctx), (instPath), (assocClass), \
3464  (resultClass), (role), (resultRole), (properties), \
3465  (rc)))
3466 #else
3468  const CMPIBroker *mb,
3469  const CMPIContext *ctx,
3470  const CMPIObjectPath *instPath,
3471  const char *assocClass,
3472  const char *resultClass,
3473  const char *role,
3474  const char *resultRole,
3475  const char **properties,
3476  CMPIStatus *rc)
3477 {
3478  return mb->bft->associators(mb, ctx, instPath, assocClass, resultClass,
3479  role, resultRole, properties, rc);
3480 }
3481 #endif
3482 
3511 #ifdef CMPI_NO_INLINE
3512 #define CBAssociatorNames(mb, ctx, instPath, assocClass, resultClass, role, \
3513  resultRole, rc) \
3514  ((mb)->bft->associatorNames((mb), (ctx), (instPath), (assocClass), \
3515  (resultClass), (role), (resultRole), (rc)))
3516 #else
3518  const CMPIBroker *mb,
3519  const CMPIContext *ctx,
3520  const CMPIObjectPath *instPath,
3521  const char *assocClass,
3522  const char *resultClass,
3523  const char *role,
3524  const char *resultRole,
3525  CMPIStatus *rc)
3526 {
3527  return mb->bft->associatorNames(mb, ctx, instPath, assocClass, resultClass,
3528  role, resultRole, rc);
3529 }
3530 #endif
3531 
3556 #ifdef CMPI_NO_INLINE
3557 #define CBReferences(mb, ctx, instPath, resultClass, role, properties, rc) \
3558  ((mb)->bft->references((mb), (ctx), (instPath), (resultClass), (role), \
3559  (properties), (rc)))
3560 #else
3562  const CMPIBroker *mb,
3563  const CMPIContext *ctx,
3564  const CMPIObjectPath *instPath,
3565  const char *resultClass,
3566  const char *role,
3567  const char **properties,
3568  CMPIStatus *rc)
3569 {
3570  return mb->bft->references(mb, ctx, instPath, resultClass, role, properties,
3571  rc);
3572 }
3573 #endif
3574 
3595 #ifdef CMPI_NO_INLINE
3596 #define CBReferenceNames(mb, ctx, instPath, resultClass, role, rc) \
3597  ((mb)->bft->referenceNames((mb), (ctx), (instPath), (resultClass), (role), \
3598  (rc)))
3599 #else
3601  const CMPIBroker *mb,
3602  const CMPIContext *ctx,
3603  const CMPIObjectPath *instPath,
3604  const char *resultClass,
3605  const char *role,
3606  CMPIStatus *rc)
3607 {
3608  return mb->bft->referenceNames(mb, ctx, instPath, resultClass, role, rc);
3609 }
3610 #endif
3611 
3663 #ifdef CMPI_NO_INLINE
3664 #define CBInvokeMethod(mb, ctx, objPath, method, in, out, rc) \
3665  ((mb)->bft->invokeMethod((mb), (ctx), (objPath), (method), (in), (out), \
3666  (rc)))
3667 #else
3668 static inline CMPIData CBInvokeMethod(
3669  const CMPIBroker *mb,
3670  const CMPIContext *ctx,
3671  const CMPIObjectPath *objPath,
3672  const char *method,
3673  const CMPIArgs *in,
3674  CMPIArgs *out,
3675  CMPIStatus *rc)
3676 {
3677  return mb->bft->invokeMethod(mb, ctx, objPath, method, in, out, rc);
3678 }
3679 #endif
3680 
3700 #ifdef CMPI_NO_INLINE
3701 #define CBSetProperty(mb, ctx, instPath, name, value, type) \
3702  ((mb)->bft->setProperty((mb), (ctx), (instPath), (name), \
3703  (CMPIValue *)(value), (type)))
3704 #else
3706  const CMPIBroker *mb,
3707  const CMPIContext *ctx,
3708  const CMPIObjectPath *instPath,
3709  const char *name,
3710  const CMPIValue *value,
3711  const CMPIType type)
3712 {
3713  return mb->bft->setProperty(mb, ctx, instPath, name, (CMPIValue *)value,
3714  type);
3715 }
3716 #endif
3717 
3734 #ifdef CMPI_NO_INLINE
3735 #define CBGetProperty(mb, ctx, instPath, name, rc) \
3736  (mb)->bft->getProperty((mb), (ctx), (instPath), (name), (rc))
3737 #else
3738 static inline CMPIData CBGetProperty(
3739  const CMPIBroker *mb,
3740  const CMPIContext *ctx,
3741  const CMPIObjectPath *instPath,
3742  const char *name,
3743  CMPIStatus *rc)
3744 {
3745  return mb->bft->getProperty(mb, ctx, instPath, name, rc);
3746 }
3747 #endif
3748 
3749 #ifdef CMPI_VER_210
3750 
3771 #ifdef CMPI_NO_INLINE
3772 #define CBEnumInstancesFiltered(mb, ctx, classPath, properties, \
3773  filterQueryLanguage, filterQuery, rc) \
3774  (mb)->bft->enumerateInstancesFiltered((mb), (ctx), (classPath), \
3775  (properties), (filterQueryLanguage), (filterQuery), (rc)))
3776 #else
3778  const CMPIBroker *mb,
3779  const CMPIContext *ctx,
3780  const CMPIObjectPath *classPath,
3781  const char **properties,
3782  const char *filterQueryLanguage,
3783  const char *filterQuery,
3784  CMPIStatus *rc)
3785 {
3786  return mb->bft->enumerateInstancesFiltered(mb, ctx, classPath, properties,
3787  filterQueryLanguage, filterQuery, rc);
3788 }
3789 #endif
3790 #endif /* CMPI_VER_210 */
3791 
3792 #ifdef CMPI_VER_210
3793 
3829 #ifdef CMPI_NO_INLINE
3830 #define CBAssociatorsFiltered(mb, ctx, instPath, assocClass, resultClass, \
3831  role, resultRole, properties, filterQueryLanguage, filterQuery, \
3832  rc) \
3833  ((mb)->bft->associatorsFiltered((mb), (ctx), (instPath), (assocClass), \
3834  (resultClass), (role), (resultRole), (properties), \
3835  (filterQueryLanguage), (filterQuery), (rc)))
3836 #else
3838  const CMPIBroker *mb,
3839  const CMPIContext *ctx,
3840  const CMPIObjectPath *instPath,
3841  const char *assocClass,
3842  const char *resultClass,
3843  const char *role,
3844  const char *resultRole,
3845  const char **properties,
3846  const char *filterQueryLanguage,
3847  const char *filterQuery,
3848  CMPIStatus *rc)
3849 {
3850  return mb->bft->associatorsFiltered(mb, ctx, instPath, assocClass,
3851  resultClass, role, resultRole, properties, filterQueryLanguage,
3852  filterQuery, rc);
3853 }
3854 #endif
3855 #endif /* CMPI_VER_210 */
3856 
3857 #ifdef CMPI_VER_210
3858 
3886 #ifdef CMPI_NO_INLINE
3887 #define CBReferencesFiltered(mb, ctx, instPath, resultClass, role, properties, \
3888  filterQueryLanguage, filterQuery, rc) \
3889  ((mb)->bft->referencesFiltered((mb), (ctx), (instPath), (resultClass), \
3890  (role), (properties), (filterQueryLanguage), (filterQuery), (rc)))
3891 #else
3893  const CMPIBroker *mb,
3894  const CMPIContext *ctx,
3895  const CMPIObjectPath *instPath,
3896  const char *resultClass,
3897  const char *role,
3898  const char **properties,
3899  const char *filterQueryLanguage,
3900  const char *filterQuery,
3901  CMPIStatus *rc)
3902 {
3903  return mb->bft->referencesFiltered(mb, ctx, instPath, resultClass, role,
3904  properties, filterQueryLanguage, filterQuery, rc);
3905 }
3906 #endif
3907 #endif /* CMPI_VER_210 */
3908 
3951 #ifdef CMPI_NO_INLINE
3952 #define CMNewInstance(mb, instPath, rc) \
3953  ((mb)->eft->newInstance((mb), (instPath), (rc)))
3954 #else
3955 static inline CMPIInstance *CMNewInstance (
3956  const CMPIBroker *mb,
3957  const CMPIObjectPath *instPath,
3958  CMPIStatus *rc)
3959 {
3960  return mb->eft->newInstance(mb, instPath, rc);
3961 }
3962 #endif
3963 
3985 #ifdef CMPI_NO_INLINE
3986 #define CMNewObjectPath(mb, ns, cn, rc) \
3987  ((mb)->eft->newObjectPath((mb), (ns), (cn), (rc)))
3988 #else
3990  const CMPIBroker *mb,
3991  const char *ns,
3992  const char *cn,
3993  CMPIStatus *rc)
3994 {
3995  return mb->eft->newObjectPath(mb, ns, cn, rc);
3996 }
3997 #endif
3998 
4015 #ifdef CMPI_NO_INLINE
4016 #define CMNewArgs(mb, rc) \
4017  ((mb)->eft->newArgs((mb), (rc)))
4018 #else
4019 static inline CMPIArgs *CMNewArgs (
4020  const CMPIBroker *mb,
4021  CMPIStatus *rc)
4022 {
4023  return mb->eft->newArgs(mb, rc);
4024 }
4025 #endif
4026 
4052 #ifdef CMPI_NO_INLINE
4053 #define CMNewString(mb, data, rc) \
4054  ((mb)->eft->newString((mb), (data), (rc)))
4055 #else
4056 static inline CMPIString *CMNewString (
4057  const CMPIBroker *mb,
4058  const char *data,
4059  CMPIStatus *rc)
4060 {
4061  return mb->eft->newString(mb, data, rc);
4062 }
4063 #endif
4064 
4077 #ifdef CMPI_NO_INLINE
4078 #define CMNewArray(mb, size, type, rc) \
4079  ((mb)->eft->newArray((mb), (size), (type), (rc)))
4080 #else
4081 static inline CMPIArray *CMNewArray (
4082  const CMPIBroker *mb,
4083  CMPICount size,
4084  CMPIType type,
4085  CMPIStatus *rc)
4086 {
4087  return mb->eft->newArray(mb, size, type, rc);
4088 }
4089 #endif
4090 
4100 #ifdef CMPI_NO_INLINE
4101 #define CMNewDateTime(mb, rc) \
4102  ((mb)->eft->newDateTime((mb), (rc)))
4103 #else
4104 static inline CMPIDateTime *CMNewDateTime (
4105  const CMPIBroker *mb,
4106  CMPIStatus *rc)
4107 {
4108  return mb->eft->newDateTime(mb, rc);
4109 }
4110 #endif
4111 
4130 #ifdef CMPI_NO_INLINE
4131 #define CMNewDateTimeFromBinary(mb, binTime, interval, rc) \
4132  ((mb)->eft->newDateTimeFromBinary((mb), (binTime), (interval), (rc)))
4133 #else
4135  const CMPIBroker *mb,
4136  CMPIUint64 binTime,
4137  CMPIBoolean interval,
4138  CMPIStatus *rc)
4139 {
4140  return mb->eft->newDateTimeFromBinary(mb, binTime, interval, rc);
4141 }
4142 #endif
4143 
4156 #ifdef CMPI_NO_INLINE
4157 #define CMNewDateTimeFromChars(mb, datetime, rc) \
4158  ((mb)->eft->newDateTimeFromChars((mb), (datetime), (rc)))
4159 #else
4161  const CMPIBroker *mb,
4162  const char *datetime,
4163  CMPIStatus *rc)
4164 {
4165  return mb->eft->newDateTimeFromChars(mb, datetime, rc);
4166 }
4167 #endif
4168 
4183 #ifdef CMPI_NO_INLINE
4184 #define CMNewSelectExp(mb, query, lang, projection, rc) \
4185  ((mb)->eft->newSelectExp((mb), (query), (lang), (projection), (rc)))
4186 #else
4188  const CMPIBroker *mb,
4189  const char *query,
4190  const char *lang,
4191  CMPIArray **projection,
4192  CMPIStatus *rc)
4193 {
4194  return mb->eft->newSelectExp(mb, query, lang, projection, rc);
4195 }
4196 #endif
4197 
4198 #ifdef CMPI_VER_200
4199 
4253 #ifdef CMPI_NO_INLINE
4254 #define CMNewCMPIError(mb, owner, msgID, msg, sev, pc, cimStatusCode, rc) \
4255  ((mb)->eft->newCMPIError((mb), (owner), (msgID), (msg), (sev), \
4256  (pc), (cimStatusCode), (rc)))
4257 #else
4258 static inline CMPIError * CMNewCMPIError(
4259  const CMPIBroker *mb,
4260  const char *owner,
4261  const char* msgID,
4262  const char* msg,
4263  const CMPIErrorSeverity sev,
4264  const CMPIErrorProbableCause pc,
4265  const CMPIrc cimStatusCode,
4266  CMPIStatus *rc)
4267 {
4268  return mb->eft->newCMPIError(mb, owner, msgID, msg, sev, pc, cimStatusCode,
4269  rc);
4270 }
4271 #endif
4272 #endif /* CMPI_VER_200 */
4273 
4274 #ifdef CMPI_VER_210
4275 
4288 #ifdef CMPI_NO_INLINE
4289 #define CMNewPropertyList(mb, properties, rc) \
4290  ((mb)->eft->newPropertyList((mb), (properties), (rc)))
4291 #else
4293  const CMPIBroker *mb,
4294  const char **properties,
4295  CMPIStatus *rc)
4296 {
4297  return mb->eft->newPropertyList(mb, properties, rc);
4298 }
4299 #endif
4300 #endif /* CMPI_VER_210 */
4301 
4302 #ifdef CMPI_VER_210
4303 
4320 #ifdef CMPI_NO_INLINE
4321 #define CMNewStringCP(mb, data, cpid, rc) \
4322  ((mb)->eft->newStringCP((mb), (data), (cpid), (rc)))
4323 #else
4324 static inline CMPIString *CMNewStringCP(
4325  const CMPIBroker *mb,
4326  const char* data,
4327  const CMPICodepageID cpid,
4328  CMPIStatus *rc)
4329 {
4330  return mb->eft->newStringCP(mb, data, cpid, rc);
4331 }
4332 #endif
4333 #endif /* CMPI_VER_210 */
4334 
4335 #ifdef CMPI_VER_210
4336 
4350 #ifdef CMPI_NO_INLINE
4351 #define CMNewEnumerationFilter(mb, filterQueryLanguage, filterQuery, rc) \
4352  ((mb)->eft->newEnumerationFilter((mb), (filterQueryLanguage), \
4353  (filterQuery), (rc)))
4354 #else
4356  const CMPIBroker *mb,
4357  const char* filterQueryLanguage,
4358  const char* filterQuery,
4359  CMPIStatus *rc)
4360 {
4361  return mb->eft->newEnumerationFilter(mb, filterQueryLanguage, filterQuery,
4362  rc);
4363 }
4364 #endif
4365 #endif /* CMPI_VER_210 */
4366 
4382 #ifdef CMPI_NO_INLINE
4383 #define CMClassPathIsA(mb, classPath, className, rc) \
4384  ((mb)->eft->classPathIsA((mb), (classPath), (className), (rc)))
4385 #else
4387  const CMPIBroker *mb,
4388  const CMPIObjectPath *classPath,
4389  const char *className,
4390  CMPIStatus *rc)
4391 {
4392  return mb->eft->classPathIsA(mb, classPath, className, rc);
4393 }
4394 #endif
4395 
4408 #ifdef CMPI_NO_INLINE
4409 #define CDToString(mb, object, rc) \
4410  ((mb)->eft->toString((mb), (void*)(object), (rc)))
4411 #else
4412 static inline CMPIString *CDToString(
4413  const CMPIBroker *mb,
4414  const void *object,
4415  CMPIStatus *rc)
4416 {
4417  return mb->eft->toString(mb, (void *)object, rc);
4418 }
4419 #endif
4420 
4443 #ifdef CMPI_NO_INLINE
4444 #define CDIsOfType(mb, object, type, rc) \
4445  (mb)->eft->isOfType((mb), (void*)(object), (type), (rc))
4446 #else
4447 static inline CMPIBoolean CDIsOfType(
4448  const CMPIBroker *mb,
4449  const void *object,
4450  const char *type,
4451  CMPIStatus *rc)
4452 {
4453  return mb->eft->isOfType(mb, (void *)object, type, rc);
4454 }
4455 #endif
4456 
4467 #ifdef CMPI_NO_INLINE
4468 #define CDGetType(mb, object, rc) \
4469  ((mb)->eft->getType((mb), (void*)(object), (rc)))
4470 #else
4471 static inline CMPIString *CDGetType(
4472  const CMPIBroker *mb,
4473  const void *object,
4474  CMPIStatus *rc)
4475 {
4476  return mb->eft->getType(mb, object, rc);
4477 }
4478 #endif
4479 
4510 #define CMGetMessage(mb, msgId, defMsg, rc, args) \
4511  ((mb)->eft->getMessage((mb), (msgId), (defMsg), (rc), args))
4512 
4535 #ifdef CMPI_NO_INLINE
4536 #define CMLogMessage(mb, severity, id, text, string) \
4537  ((mb)->eft->logMessage((mb), (severity), (id), (text), (string)))
4538 #else
4539 static inline CMPIStatus CMLogMessage(
4540  const CMPIBroker *mb,
4541  CMPISeverity severity,
4542  const char *id,
4543  const char *text,
4544  const CMPIString *string)
4545 {
4546  return mb->eft->logMessage(mb, severity, id, text, string);
4547 }
4548 #endif
4549 
4574 #ifdef CMPI_NO_INLINE
4575 #define CMTraceMessage(mb, level, component, text, string) \
4576  ((mb)->eft->trace((mb), (level), (component), (text), (string)))
4577 #else
4579  const CMPIBroker *mb,
4580  CMPILevel level,
4581  const char *component,
4582  const char *text,
4583  const CMPIString *string)
4584 {
4585  return mb->eft->trace(mb, level, component, text, string);
4586 }
4587 #endif
4588 
4589 #ifdef CMPI_VER_200
4590 
4609 #ifdef CMPI_NO_INLINE
4610 #define CMOpenMessageFile(mb, msgFile, msgFileHandle) \
4611  ((mb)->eft->openMessageFile((mb), (msgFile), (msgFileHandle)))
4612 #else
4614  const CMPIBroker *mb,
4615  const char *msgFile,
4616  CMPIMsgFileHandle *msgFileHandle)
4617 {
4618  return mb->eft->openMessageFile(mb, msgFile, msgFileHandle);
4619 }
4620 #endif
4621 #endif /* CMPI_VER_200 */
4622 
4623 #ifdef CMPI_VER_200
4624 
4651 #ifdef CMPI_NO_INLINE
4652 #define CMCloseMessageFile(mb, msgFileHandle) \
4653  ((mb)->eft->closeMessageFile((mb), (msgFileHandle)))
4654 #else
4656  const CMPIBroker *mb,
4657  const CMPIMsgFileHandle msgFileHandle)
4658 {
4659  return mb->eft->closeMessageFile(mb, msgFileHandle);
4660 }
4661 #endif
4662 #endif /* CMPI_VER_200 */
4663 
4664 #ifdef CMPI_VER_200
4665 
4693 #define CMGetMessage2(mb, msgId, msgFileHandle, defMsg, rc, args) \
4694  ((mb)->eft->getMessage2((mb), (msgId), (msgFileHandle), (defMsg), (rc), \
4695  args))
4696 #endif /* CMPI_VER_200 */
4697 
4698 #ifdef CMPI_VER_210
4699 
4764 #ifdef CMPI_NO_INLINE
4765 #define CMMemMark(mb, rc) \
4766  ((mb)->mft->mark((mb), (rc)))
4767 #else
4768 static inline CMPIGcStat * CMMemMark(
4769  const CMPIBroker *mb,
4770  CMPIStatus *rc)
4771 {
4772  return mb->mft->mark(mb, rc);
4773 }
4774 #endif
4775 #endif /* CMPI_VER_210 */
4776 
4777 #ifdef CMPI_VER_210
4778 
4794 #ifdef CMPI_NO_INLINE
4795 #define CMMemRelease(mb, gc) \
4796  ((mb)->mft->release((mb), (gc)))
4797 #else
4798 static inline CMPIStatus CMMemRelease(
4799  const CMPIBroker *mb,
4800  const CMPIGcStat* gc)
4801 {
4802  return mb->mft->release(mb, gc);
4803 }
4804 #endif
4805 #endif /* CMPI_VER_210 */
4806 
4807 #ifdef CMPI_VER_210
4808 
4866 #ifdef CMPI_NO_INLINE
4867 #define CMMalloc(mb, size) \
4868  ((mb)->mft->cmpiMalloc((mb), (size)))
4869 #else
4870 static inline void * CMMalloc(
4871  const CMPIBroker *mb,
4872  size_t size)
4873 {
4874  return mb->mft->cmpiMalloc(mb, size);
4875 }
4876 #endif
4877 #endif /* CMPI_VER_210 */
4878 
4879 #ifdef CMPI_VER_210
4880 
4896 #ifdef CMPI_NO_INLINE
4897 #define CMCalloc(mb, nElems, sizeElem) \
4898  ((mb)->mft->cmpiCalloc((mb), (nElems), (sizeElem)))
4899 #else
4900 static inline void * CMCalloc(
4901  const CMPIBroker *mb,
4902  size_t nElems,
4903  size_t sizeElem)
4904 {
4905  return mb->mft->cmpiCalloc(mb, nElems, sizeElem);
4906 }
4907 #endif
4908 #endif /* CMPI_VER_210 */
4909 
4910 #ifdef CMPI_VER_210
4911 
4930 #ifdef CMPI_NO_INLINE
4931 #define CMRealloc(mb, ptr, size) \
4932  ((mb)->mft->cmpiRealloc((mb), (ptr), (size)))
4933 #else
4934 static inline void * CMRealloc(
4935  const CMPIBroker *mb,
4936  void *ptr,
4937  size_t size)
4938 {
4939  return mb->mft->cmpiRealloc(mb, ptr, size);
4940 }
4941 #endif
4942 #endif /* CMPI_VER_210 */
4943 
4944 #ifdef CMPI_VER_210
4945 
4959 #ifdef CMPI_NO_INLINE
4960 #define CMStrDup(mb, str) \
4961  ((mb)->mft->cmpiStrDup((mb), (str)))
4962 #else
4963 static inline void * CMStrDup(
4964  const CMPIBroker *mb,
4965  const char *str)
4966 {
4967  return mb->mft->cmpiStrDup(mb, str);
4968 }
4969 #endif
4970 #endif /* CMPI_VER_210 */
4971 
4972 #ifdef CMPI_VER_210
4973 
4989 #ifdef CMPI_NO_INLINE
4990 #define CMFree(mb, ptr) \
4991  ((mb)->mft->cmpiFree((mb), (ptr)))
4992 #else
4993 static inline void CMFree(
4994  const CMPIBroker *mb,
4995  void *ptr)
4996 {
4997  return mb->mft->cmpiFree(mb, ptr);
4998 }
4999 #endif
5000 #endif /* CMPI_VER_210 */
5001 
5002 #ifdef CMPI_VER_210
5003 
5021 #ifdef CMPI_NO_INLINE
5022 #define CMFreeInstance(mb, inst) \
5023  ((mb)->mft->freeInstance((mb), (inst)))
5024 #else
5025 static inline void CMFreeInstance(
5026  const CMPIBroker *mb,
5027  CMPIInstance *inst)
5028 {
5029  return mb->mft->freeInstance(mb, inst);
5030 }
5031 #endif
5032 #endif /* CMPI_VER_210 */
5033 
5034 #ifdef CMPI_VER_210
5035 
5053 #ifdef CMPI_NO_INLINE
5054 #define CMFreeObjectPath(mb, obj) \
5055  ((mb)->mft->freeObjectPath((mb), (obj)))
5056 #else
5057 static inline void CMFreeObjectPath(
5058  const CMPIBroker *mb,
5059  CMPIObjectPath *obj)
5060 {
5061  return mb->mft->freeObjectPath(mb, obj);
5062 }
5063 #endif
5064 #endif /* CMPI_VER_210 */
5065 
5066 #ifdef CMPI_VER_210
5067 
5085 #ifdef CMPI_NO_INLINE
5086 #define CMFreeArgs(mb, args) \
5087  ((mb)->mft->freeArgs((mb), (args)))
5088 #else
5089 static inline void CMFreeArgs(
5090  const CMPIBroker *mb,
5091  CMPIArgs *args)
5092 {
5093  return mb->mft->freeArgs(mb, args);
5094 }
5095 #endif
5096 #endif /* CMPI_VER_210 */
5097 
5098 #ifdef CMPI_VER_210
5099 
5117 #ifdef CMPI_NO_INLINE
5118 #define CMFreeString(mb, str) \
5119  ((mb)->mft->freeString((mb), (str)))
5120 #else
5121 static inline void CMFreeString(
5122  const CMPIBroker *mb,
5123  CMPIString *str)
5124 {
5125  return mb->mft->freeString(mb, str);
5126 }
5127 #endif
5128 #endif /* CMPI_VER_210 */
5129 
5130 #ifdef CMPI_VER_210
5131 
5149 #ifdef CMPI_NO_INLINE
5150 #define CMFreeArray(mb, array) \
5151  ((mb)->mft->freeArray((mb), (array)))
5152 #else
5153 static inline void CMFreeArray(
5154  const CMPIBroker *mb,
5155  CMPIArray *array)
5156 {
5157  return mb->mft->freeArray(mb, array);
5158 }
5159 #endif
5160 #endif /* CMPI_VER_210 */
5161 
5162 #ifdef CMPI_VER_210
5163 
5182 #ifdef CMPI_NO_INLINE
5183 #define CMFreeDateTime(mb, dt) \
5184  ((mb)->mft->freeDateTime((mb), (dt)))
5185 #else
5186 static inline void CMFreeDateTime(
5187  const CMPIBroker *mb,
5188  CMPIDateTime *dt)
5189 {
5190  return mb->mft->freeDateTime(mb, dt);
5191 }
5192 #endif
5193 #endif /* CMPI_VER_210 */
5194 
5195 #ifdef CMPI_VER_210
5196 
5214 #ifdef CMPI_NO_INLINE
5215 #define CMFreeSelectExp(mb, se) \
5216  ((mb)->mft->freeSelectExp((mb), (se)))
5217 #else
5218 static inline void CMFreeSelectExp(
5219  const CMPIBroker *mb,
5220  CMPISelectExp *se)
5221 {
5222  return mb->mft->freeSelectExp(mb, se);
5223 }
5224 #endif
5225 #endif /* CMPI_VER_210 */
5226 
5227 #ifdef CMPI_VER_210
5228 
5246 #ifdef CMPI_NO_INLINE
5247 #define CMFreeChars(mb, chars) \
5248  ((mb)->mft->freeChars((mb), (chars)))
5249 #else
5250 static inline void CMFreeChars(
5251  const CMPIBroker *mb,
5252  char *chars)
5253 {
5254  return mb->mft->freeChars(mb, chars);
5255 }
5256 #endif
5257 #endif /* CMPI_VER_210 */
5258 
5273 #define CMFmtArgs0() 0
5275 #define CMFmtArgs1(v1) \
5277  1,v1
5278 #define CMFmtArgs2(v1,v2) \
5280  2,v1,v2
5281 #define CMFmtArgs3(v1,v2,v3) \
5283  3,v1,v2,v3
5284 #define CMFmtArgs4(v1,v2,v3,v4) \
5286  4,v1,v2,v3,v4
5287 #define CMFmtArgs5(v1,v2,v3,v4,v5) \
5289  5,v1,v2,v3,v4,v5
5290 #define CMFmtArgs6(v1,v2,v3,v4,v5,v6) \
5292  6,v1,v2,v3,v4,v5,v6
5293 #define CMFmtArgs7(v1,v2,v3,v4,v5,v6,v7) \
5295  7,v1,v2,v3,v4,v5,v6,v7
5296 #define CMFmtArgs8(v1,v2,v3,v4,v5,v6,v7,v8) \
5298  8,v1,v2,v3,v4,v5,v6,v7,v8
5299 #define CMFmtArgs9(v1,v2,v3,v4,v5,v6,v7,v8,v9) \
5301  9,v1,v2,v3,v4,v5,v6,v7,v8,v9
5302 #define CMFmtArgs10(v1,v2,v3,v4,v5,v6,v7,v8,v9,v10) \
5304  10,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10
5305 
5325 #define CMFmtSint(v) CMPI_sint32,((long int)v)
5327 #define CMFmtUint(v) CMPI_uint32,((unsigned long int)v)
5329 #define CMFmtSint64(v) CMPI_sint64,((long long int)v)
5331 #define CMFmtUint64(v) CMPI_uint64,((unsigned long long int)v)
5333 #define CMFmtReal(v) CMPI_real64,((double)v)
5335 #define CMFmtBoolean(v) CMPI_boolean,((int)v)
5337 #define CMFmtChars(v) CMPI_chars,((char*)v)
5339 #define CMFmtString(v) CMPI_string,((CMPIString*)v)
5341 
5507 #define CMInstanceMIStub(pfx, miname, mbvar, hook) \
5508 static CMPIInstanceMIFT instMIFT__ = { \
5509  CMPI_VERSION, \
5510  CMPI_VERSION, \
5511  "instance" #miname, \
5512  pfx##Cleanup, \
5513  pfx##EnumInstanceNames, \
5514  pfx##EnumInstances, \
5515  pfx##GetInstance, \
5516  pfx##CreateInstance, \
5517  pfx##ModifyInstance, \
5518  pfx##DeleteInstance, \
5519  pfx##ExecQuery, \
5520  _CMInstanceMIStub_EnumInstancesFiltered(pfx) \
5521 }; \
5522 CMPI_EXTERN_C CMPIInstanceMI * miname##_Create_InstanceMI( \
5523  const CMPIBroker *mb, \
5524  const CMPIContext *ctx, \
5525  CMPIStatus *rc) \
5526 { \
5527  static CMPIInstanceMI mi = { \
5528  NULL, \
5529  &instMIFT__, \
5530  }; \
5531  (mbvar) = mb; \
5532  if (rc) \
5533  { \
5534  rc->rc = CMPI_RC_OK; \
5535  rc->msg = NULL; \
5536  } \
5537  hook; \
5538  return &mi; \
5539 }
5540 
5675 #define CMAssociationMIStub(pfx, miname, mbvar, hook) \
5676 static CMPIAssociationMIFT assocMIFT__ = { \
5677  CMPI_VERSION, \
5678  CMPI_VERSION, \
5679  "association" #miname, \
5680  pfx##AssociationCleanup, \
5681  pfx##Associators, \
5682  pfx##AssociatorNames, \
5683  pfx##References, \
5684  pfx##ReferenceNames, \
5685  _CMAssociationMIStub_AssociatorsFiltered(pfx) \
5686  _CMAssociationMIStub_ReferencesFiltered(pfx) \
5687 }; \
5688 CMPI_EXTERN_C CMPIAssociationMI * miname##_Create_AssociationMI( \
5689  const CMPIBroker *mb, \
5690  const CMPIContext *ctx, \
5691  CMPIStatus *rc) \
5692 { \
5693  static CMPIAssociationMI mi = { \
5694  NULL, \
5695  &assocMIFT__, \
5696  }; \
5697  (mbvar) = mb; \
5698  if (rc) \
5699  { \
5700  rc->rc = CMPI_RC_OK; \
5701  rc->msg = NULL; \
5702  } \
5703  hook; \
5704  return &mi; \
5705 }
5706 
5817 #define CMMethodMIStub(pfx, miname, mbvar, hook) \
5818 static CMPIMethodMIFT methMIFT__ = { \
5819  CMPI_VERSION, \
5820  CMPI_VERSION, \
5821  "method" #miname, \
5822  pfx##MethodCleanup, \
5823  pfx##InvokeMethod, \
5824 }; \
5825 CMPI_EXTERN_C CMPIMethodMI * miname##_Create_MethodMI( \
5826  const CMPIBroker *mb, \
5827  const CMPIContext *ctx, \
5828  CMPIStatus *rc) \
5829 { \
5830  static CMPIMethodMI mi = { \
5831  NULL, \
5832  &methMIFT__, \
5833  }; \
5834  (mbvar) = mb; \
5835  if (rc) \
5836  { \
5837  rc->rc = CMPI_RC_OK; \
5838  rc->msg = NULL; \
5839  } \
5840  hook; \
5841  return &mi; \
5842 }
5843 
5916 #define CMPropertyMIStub(pfx, miname, mbvar, hook) \
5917 static CMPIPropertyMIFT propMIFT__ = { \
5918  CMPI_VERSION, \
5919  CMPI_VERSION, \
5920  "property" #miname, \
5921  pfx##PropertyCleanup, \
5922  pfx##SetProperty, \
5923  pfx##GetProperty, \
5924  _CMPropertyMIStub_SetPropertyWithOrigin(pfx) \
5925 }; \
5926 CMPI_EXTERN_C CMPIPropertyMI * miname##_Create_PropertyMI( \
5927  const CMPIBroker *mb, \
5928  const CMPIContext *ctx, \
5929  CMPIStatus *rc) \
5930 { \
5931  static CMPIPropertyMI mi = { \
5932  NULL, \
5933  &propMIFT__, \
5934  }; \
5935  (mbvar) = mb; \
5936  if (rc) \
5937  { \
5938  rc->rc = CMPI_RC_OK; \
5939  rc->msg = NULL; \
5940  } \
5941  hook; \
5942  return &mi; \
5943 }
5944 
6080 #define CMIndicationMIStub(pfx, miname, mbvar, hook) \
6081 static CMPIIndicationMIFT indMIFT__ = { \
6082  CMPI_VERSION, \
6083  CMPI_VERSION, \
6084  "Indication" #miname, \
6085  pfx##IndicationCleanup, \
6086  pfx##AuthorizeFilter, \
6087  pfx##MustPoll, \
6088  pfx##ActivateFilter, \
6089  pfx##DeActivateFilter, \
6090  pfx##EnableIndications, \
6091  pfx##DisableIndications, \
6092  _CMIndicationMIStub_AuthorizeFilterCollection(pfx) \
6093  _CMIndicationMIStub_ActivateFilterCollection(pfx) \
6094  _CMIndicationMIStub_DeActivateFilterCollection(pfx) \
6095 }; \
6096 CMPI_EXTERN_C CMPIIndicationMI * miname##_Create_IndicationMI( \
6097  const CMPIBroker *mb, \
6098  const CMPIContext *ctx, \
6099  CMPIStatus *rc) \
6100 { \
6101  static CMPIIndicationMI mi = { \
6102  NULL, \
6103  &indMIFT__, \
6104  }; \
6105  (mbvar) = mb; \
6106  if (rc) \
6107  { \
6108  rc->rc = CMPI_RC_OK; \
6109  rc->msg = NULL; \
6110  } \
6111  hook; \
6112  return &mi; \
6113 }
6114 
6143 #define CMInitHook(pfx, mitype) \
6144 do { \
6145  CMPIStatus st = pfx##mitype##Initialize(&mi, ctx); \
6146  if (st.rc != CMPI_RC_OK) \
6147  { \
6148  if (rc) { \
6149  *rc = st; \
6150  } \
6151  return NULL; \
6152  } \
6153 } while (0)
6154 
6168 #define CMNoHook
6169 
6170 #ifdef CMPI_VER_200
6171 #define _CMPropertyMIStub_SetPropertyWithOrigin(pfx) \
6172  pfx##SetPropertyWithOrigin,
6173 #else
6174 #define _CMPropertyMIStub_SetPropertyWithOrigin(pfx)
6175 #endif
6176 
6177 #ifdef CMPI_VER_210
6178 #define _CMInstanceMIStub_EnumInstancesFiltered(pfx) \
6179  pfx##EnumInstancesFiltered,
6180 #define _CMAssociationMIStub_AssociatorsFiltered(pfx) \
6181  pfx##AssociatorsFiltered,
6182 #define _CMAssociationMIStub_ReferencesFiltered(pfx) \
6183  pfx##ReferencesFiltered,
6184 #define _CMIndicationMIStub_AuthorizeFilterCollection(pfx) \
6185  pfx##AuthorizeFilterCollection,
6186 #define _CMIndicationMIStub_ActivateFilterCollection(pfx) \
6187  pfx##ActivateFilterCollection,
6188 #define _CMIndicationMIStub_DeActivateFilterCollection(pfx) \
6189  pfx##DeActivateFilterCollection,
6190 #else
6191 #define _CMInstanceMIStub_EnumInstancesFiltered(pfx)
6192 #define _CMAssociationMIStub_AssociatorsFiltered(pfx)
6193 #define _CMAssociationMIStub_ReferencesFiltered(pfx)
6194 #define _CMIndicationMIStub_AuthorizeFilterCollection(pfx)
6195 #define _CMIndicationMIStub_ActivateFilterCollection(pfx)
6196 #define _CMIndicationMIStub_DeActivateFilterCollection(pfx)
6197 #endif
6198 
6199 #ifdef __cplusplus
6200 } /* extern "C" */
6201 #endif
6202 
6203 #ifdef __cplusplus
6204 
6230 #define CMInstanceMIFactory(cn,miname) \
6231 CMPI_EXTERN_C CMPIInstanceMI *miname##_Create_InstanceMI( \
6232  const CMPIBroker *mb, \
6233  const CMPIContext *ctxp, \
6234  CMPIStatus *rc) \
6235 { \
6236  static CMPIInstanceMIFT instMIFT = { \
6237  CMPI_VERSION, \
6238  CMPI_VERSION, \
6239  "instance" #miname, \
6240  (CMPIStatus(*)( \
6241  CMPIInstanceMI *, \
6242  const CMPIContext *, \
6243  CMPIBoolean))CmpiBaseMI::driveBaseCleanup, \
6244  CmpiInstanceMI::driveEnumInstanceNames, \
6245  CmpiInstanceMI::driveEnumInstances, \
6246  CmpiInstanceMI::driveGetInstance, \
6247  CmpiInstanceMI::driveCreateInstance, \
6248  CmpiInstanceMI::driveSetInstance, \
6249  CmpiInstanceMI::driveDeleteInstance, \
6250  CmpiInstanceMI::driveExecQuery, \
6251  _CMInstanceMIFactory_EnumInstancesFiltered \
6252  }; \
6253  static CMPIInstanceMI mi; \
6254  CmpiContext ctx((CMPIContext *)ctxp); \
6255  mi.ft = &instMIFT; \
6256  CmpiBaseMI *provider = base##miname.getBaseMI(); \
6257  if (provider == 0) \
6258  { \
6259  provider = new cn(CmpiBroker((CMPIBroker *)mb),ctx); \
6260  provider->setProviderBase(&base##miname); \
6261  provider->initialize(ctx); \
6262  base##miname.setBaseMI(provider); \
6263  } \
6264  mi.hdl = provider; \
6265  base##miname.incUseCount(); \
6266  return &mi; \
6267 }
6268 
6294 #define CMAssociationMIFactory(cn,miname) \
6295 CMPI_EXTERN_C CMPIAssociationMI *miname##_Create_AssociationMI( \
6296  const CMPIBroker *mb, \
6297  const CMPIContext *ctxp, \
6298  CMPIStatus *rc) \
6299 { \
6300  static CMPIAssociationMIFT assocMIFT = { \
6301  CMPI_VERSION, \
6302  CMPI_VERSION, \
6303  "association" #miname, \
6304  (CMPIStatus(*)( \
6305  CMPIAssociationMI *, \
6306  const CMPIContext *, \
6307  CMPIBoolean))CmpiBaseMI::driveBaseCleanup, \
6308  CmpiAssociationMI::driveAssociators, \
6309  CmpiAssociationMI::driveAssociatorNames, \
6310  CmpiAssociationMI::driveReferences, \
6311  CmpiAssociationMI::driveReferenceNames, \
6312  _CMAssociationMIFactory_AssociatorsFiltered \
6313  _CMAssociationMIFactory_ReferencesFiltered \
6314  }; \
6315  static CMPIAssociationMI mi; \
6316  CmpiContext ctx((CMPIContext *)ctxp); \
6317  mi.ft = &assocMIFT; \
6318  CmpiBaseMI *provider = base##miname.getBaseMI(); \
6319  if (provider == 0) \
6320  { \
6321  provider = new cn(CmpiBroker((CMPIBroker *)mb),ctx); \
6322  provider->setProviderBase(&base##miname); \
6323  provider->initialize(ctx); \
6324  base##miname.setBaseMI(provider); \
6325  } \
6326  mi.hdl = provider; \
6327  base##miname.incUseCount(); \
6328  return &mi; \
6329 }
6330 
6356 #define CMMethodMIFactory(cn,miname) \
6357 CMPI_EXTERN_C CMPIMethodMI *miname##_Create_MethodMI( \
6358  const CMPIBroker *mb, \
6359  const CMPIContext *ctxp, \
6360  CMPIStatus *rc) \
6361 { \
6362  static CMPIMethodMIFT methMIFT = { \
6363  CMPI_VERSION, \
6364  CMPI_VERSION, \
6365  "method" #miname, \
6366  (CMPIStatus(*)( \
6367  CMPIMethodMI *, \
6368  const CMPIContext *, \
6369  CMPIBoolean))CmpiBaseMI::driveBaseCleanup, \
6370  CmpiMethodMI::driveInvokeMethod, \
6371  }; \
6372  static CMPIMethodMI mi; \
6373  CmpiContext ctx((CMPIContext *)ctxp); \
6374  mi.ft = &methMIFT; \
6375  CmpiBaseMI *provider = base##miname.getBaseMI(); \
6376  if (provider == 0) \
6377  { \
6378  provider = new cn(CmpiBroker((CMPIBroker *)mb),ctx); \
6379  provider->setProviderBase(&base##miname); \
6380  provider->initialize(ctx); \
6381  base##miname.setBaseMI(provider); \
6382  } \
6383  mi.hdl = provider; \
6384  base##miname.incUseCount(); \
6385  return &mi; \
6386 }
6387 
6416 #define CMPropertyMIFactory(cn,miname) \
6417 CMPI_EXTERN_C CMPIPropertyMI *miname##_Create_PropertyMI( \
6418  const CMPIBroker *mb, \
6419  const CMPIContext *ctxp, \
6420  CMPIStatus *rc) \
6421 { \
6422  static CMPIPropertyMIFT propMIFT = { \
6423  CMPI_VERSION, \
6424  CMPI_VERSION, \
6425  "property" #miname, \
6426  (CMPIStatus(*)( \
6427  CMPIPropertyMI *, \
6428  const CMPIContext *, \
6429  CMPIBoolean))CmpiBaseMI::driveBaseCleanup, \
6430  CmpiPropertyMI::driveSetProperty, \
6431  CmpiPropertyMI::driveGetProperty, \
6432  _CMPropertyMIFactory_SetPropertyWithOrigin \
6433  }; \
6434  static CMPIPropertyMI mi; \
6435  CmpiContext ctx((CMPIContext *)ctxp); \
6436  mi.ft = &propMIFT; \
6437  CmpiBaseMI *provider = base##miname.getBaseMI(); \
6438  if (provider == 0) \
6439  { \
6440  provider = new cn(CmpiBroker((CMPIBroker *)mb),ctx); \
6441  provider->setProviderBase(&base##miname); \
6442  provider->initialize(ctx); \
6443  base##miname.setBaseMI(provider); \
6444  } \
6445  mi.hdl = provider; \
6446  base##miname.incUseCount(); \
6447  return &mi; \
6448 }
6449 
6475 #define CMIndicationMIFactory(cn,miname) \
6476 CMPI_EXTERN_C CMPIIndicationMI *miname##_Create_IndicationMI( \
6477  const CMPIBroker *mb, \
6478  const CMPIContext *ctxp, \
6479  CMPIStatus *rc) \
6480 { \
6481  static CMPIIndicationMIFT indMIFT = { \
6482  CMPI_VERSION, \
6483  CMPI_VERSION, \
6484  "indication" #miname, \
6485  (CMPIStatus(*)( \
6486  CMPIIndicationMI *, \
6487  const CMPIContext *, \
6488  CMPIBoolean))CmpiBaseMI::driveBaseCleanup, \
6489  CmpiIndicationMI::driveAuthorizeFilter, \
6490  CmpiIndicationMI::driveMustPoll, \
6491  CmpiIndicationMI::driveActivateFilter, \
6492  CmpiIndicationMI::driveDeActivateFilter, \
6493  CmpiIndicationMI::driveEnableIndications, \
6494  CmpiIndicationMI::driveDisableIndications, \
6495  _CMIndicationMIFactory_AuthorizeFilterCollection \
6496  _CMIndicationMIFactory_ActivateFilterCollection \
6497  _CMIndicationMIFactory_DeActivateFilterCollection \
6498  }; \
6499  static CMPIIndicationMI mi; \
6500  CmpiContext ctx((CMPIContext *)ctxp); \
6501  \
6502  mi.ft = &indMIFT; \
6503  CmpiBaseMI *provider = base##miname.getBaseMI(); \
6504  if (provider == 0) \
6505  { \
6506  provider = new cn(CmpiBroker((CMPIBroker *)mb),ctx); \
6507  provider->setProviderBase(&base##miname); \
6508  provider->initialize(ctx); \
6509  base##miname.setBaseMI(provider); \
6510  } \
6511  mi.hdl = provider; \
6512  base##miname.incUseCount(); \
6513  return &mi; \
6514 }
6515 
6516 #ifdef CMPI_VER_200
6517 #define _CMPropertyMIFactory_SetPropertyWithOrigin \
6518  CmpiPropertyMI::driveSetPropertyWithOrigin,
6519 #else
6520 #define _CMPropertyMIFactory_SetPropertyWithOrigin
6521 #endif
6522 
6523 #ifdef CMPI_VER_210
6524 #define _CMInstanceMIFactory_EnumInstancesFiltered \
6525  CmpiInstanceMI::driveEnumInstancesFiltered,
6526 #define _CMAssociationMIFactory_AssociatorsFiltered \
6527  CmpiAssociationMI::driveAssociatorsFiltered,
6528 #define _CMAssociationMIFactory_ReferencesFiltered \
6529  CmpiAssociationMI::driveReferencesFiltered,
6530 #define _CMIndicationMIFactory_AuthorizeFilterCollection \
6531  CmpiIndicationMI::driveAuthorizeFilterCollection,
6532 #define _CMIndicationMIFactory_ActivateFilterCollection \
6533  CmpiIndicationMI::driveActivateFilterCollection,
6534 #define _CMIndicationMIFactory_DeActivateFilterCollection \
6535  CmpiIndicationMI::driveDeActivateFilterCollection,
6536 #else
6537 #define _CMInstanceMIFactory_EnumInstancesFiltered
6538 #define _CMAssociationMIFactory_AssociatorsFiltered
6539 #define _CMAssociationMIFactory_ReferencesFiltered
6540 #define _CMIndicationMIFactory_AuthorizeFilterCollection
6541 #define _CMIndicationMIFactory_ActivateFilterCollection
6542 #define _CMIndicationMIFactory_DeActivateFilterCollection
6543 #endif
6544 
6553 #define CMProviderBase(miname) \
6554  CmpiProviderBase base##miname;
6555 
6556 #endif /* __cplusplus */
6557 
6562 #endif // _CMPIMACS_H_
void *(* cmpiRealloc)(const CMPIBroker *mb, void *ptr, size_t size)
Change the size of a memory block.
Definition: cmpift.h:3818
CMPIArray *(* newArray)(const CMPIBroker *mb, CMPICount size, CMPIType type, CMPIStatus *rc)
Create a new CMPIArray object of a given size and type of elements.
Definition: cmpift.h:2062
static CMPIErrorSrcFormat CMGetErrorSourceFormat(const CMPIError *er, CMPIStatus *rc)
Get the ErrorSourceFormat attribute of a CMPIError object.
Definition: cmpimacs.h:2604
const CMPIArrayFT * ft
Pointer to the function table for this object.
Definition: cmpift.h:4747
static CMPIBoolean CMIsPropertyInList(const CMPIPropertyList *plist, const char *pname, CMPIStatus *rc)
Test whether a property is in the property list represented by a CMPIPropertyList object...
Definition: cmpimacs.h:2982
CMPIResult encapsulated data type object.
Definition: cmpift.h:4340
static CMPIBoolean CMFilterMatch(const CMPIEnumerationFilter *ef, const CMPIInstance *inst, CMPIStatus *rc)
Test whether an instance matches the filter represented by a CMPIEnumerationFilter object...
Definition: cmpimacs.h:3035
static void CMSetStatus(CMPIStatus *st, CMPIrc rc)
Initialize a CMPIStatus structure with a return code and no message.
Definition: cmpimacs.h:220
CMPIData(* getPropertyAt)(const CMPIInstance *inst, CMPICount index, CMPIString **name, CMPIStatus *rc)
Get a property in a CMPIInstance object by index.
Definition: cmpift.h:5288
static CMPIStatus CMOpenMessageFile(const CMPIBroker *mb, const char *msgFile, CMPIMsgFileHandle *msgFileHandle)
Open a message file and return a handle to the file.
Definition: cmpimacs.h:4613
CMPIString *(* newStringCP)(const CMPIBroker *mb, const char *data, const CMPICodepageID cpid, CMPIStatus *rc)
Create a new CMPIString object from a C-language string in a specific codepage.
Definition: cmpift.h:2858
static CMPIData CBGetProperty(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *name, CMPIStatus *rc)
Get a property of an existing instance. (Deprecated)
Definition: cmpimacs.h:3738
CMPIStatus(* setErrorSource)(const CMPIError *er, const char *es)
Set the ErrorSource attribute of a CMPIError object.
Definition: cmpift.h:8512
static char * CMNewCharsCP(const CMPIString *str, const CMPICodepageID cpid, CMPIStatus *rc)
Create a C-language string that has converted a CMPIString object into a specific codepage...
Definition: cmpimacs.h:1028
CMPIStatus(* setErrorSourceFormat)(const CMPIError *er, const CMPIErrorSrcFormat esf)
Set the ErrorSourceFormat attribute of a CMPIError object.
Definition: cmpift.h:8548
static CMPIData CMGetArrayElementAt(const CMPIArray *ar, CMPICount index, CMPIStatus *rc)
Get an array element in a CMPIArray object by index.
Definition: cmpimacs.h:1103
CMPIData(* getPropertyQualifier)(const CMPIObjectPath *op, const char *pName, const char *qName, CMPIStatus *rc)
Get a property qualifier.
Definition: cmpift.h:6074
static CMPIString * CMGetOwningEntity(const CMPIError *er, CMPIStatus *rc)
Get the OwningEntity attribute of a CMPIError object.
Definition: cmpimacs.h:2387
static CMPIEnumeration * CBEnumInstanceNames(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *classPath, CMPIStatus *rc)
Enumerate the instance paths of the instances of a given class (and its subclasses).
Definition: cmpimacs.h:3248
CMPIStatus(* deleteInstance)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath)
Delete an existing instance.
Definition: cmpift.h:786
static CMPICount CMGetPropertyCount(const CMPIInstance *inst, CMPIStatus *rc)
Get the number of properties in a CMPIInstance object.
Definition: cmpimacs.h:1290
static CMPIBoolean CMEvaluateSelExp(const CMPISelectExp *se, const CMPIInstance *inst, CMPIStatus *rc)
Test whether an instance matches the select expression in a CMPISelectExp object. ...
Definition: cmpimacs.h:2008
CMPIStatus(* setPropertyFilter)(const CMPIInstance *inst, const char **properties, const char **keyList)
Attach a property filter to a CMPIInstance object.
Definition: cmpift.h:5441
CMPIStatus(* release)(const CMPIBroker *mb, const CMPIGcStat *gc)
Release all CMPI encapsulated data type objects created at the specified object lifecycle level...
Definition: cmpift.h:3721
static CMPIData CMGetPropertyAt(const CMPIInstance *inst, CMPICount index, CMPIString **name, CMPIStatus *rc)
Get a property in a CMPIInstance object by index.
Definition: cmpimacs.h:1267
CMPIBoolean(* isPropertyInList)(const CMPIPropertyList *plist, const char *pname, CMPIStatus *rc)
Test whether a property is in the property list represented by a CMPIPropertyList object...
Definition: cmpift.h:8800
CMPIStatus(* returnObjectPath)(const CMPIResult *rslt, const CMPIObjectPath *op)
Add an object path to a CMPIResult object.
Definition: cmpift.h:4488
unsigned short CMPIType
A bitmask type representing a CMPI type.
Definition: cmpidt.h:393
static CMPICount CMGetPredicateCount(const CMPISubCond *sc, CMPIStatus *rc)
Get the number of predicates in a CMPISubCond object.
Definition: cmpimacs.h:2187
static CMPIStatus CMSetNameSpaceFromObjectPath(const CMPIObjectPath *op, const CMPIObjectPath *src)
Set the namespace and class name components in a CMPIObjectPath object from another CMPIObjectPath ob...
Definition: cmpimacs.h:1675
static CMPIStatus CMReturnDone(const CMPIResult *rslt)
Indicate that no further items will be added to a CMPIResult object.
Definition: cmpimacs.h:900
static void CMFreeObjectPath(const CMPIBroker *mb, CMPIObjectPath *obj)
Release a CMPIObjectPath object.
Definition: cmpimacs.h:5057
CMPIString *(* getMessage)(const CMPIError *er, CMPIStatus *rc)
Get the Message attribute of a CMPIError object.
Definition: cmpift.h:7888
Main header file for CMPI; Defines CMPI function tables and object structures.
CMPIErrorSrcFormat
An enumeration type that defines possible values for the source format in a CMPIError object...
Definition: cmpidt.h:1610
CMPIData(* getProperty)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *name, CMPIStatus *rc)
Get a property of an existing instance. (Deprecated)
Definition: cmpift.h:1538
static CMPIStatus CMSetNameSpace(const CMPIObjectPath *op, const char *ns)
Set the namespace component in a CMPIObjectPath object.
Definition: cmpimacs.h:1451
CMPIString *(* getType)(const CMPIBroker *mb, const void *object, CMPIStatus *rc)
Get the type name of a CMPI ensapsulated data type object.
Definition: cmpift.h:2369
CMPIString *(* getOtherErrorType)(const CMPIError *er, CMPIStatus *rc)
Get the OtherErrorType attribute of a CMPIError object.
Definition: cmpift.h:7743
static CMPIString * CMGetSelExpString(const CMPISelectExp *se, CMPIStatus *rc)
Get the select expression in a CMPISelectExp object as a string.
Definition: cmpimacs.h:2030
static CMPIErrorType CMGetErrorType(const CMPIError *er, CMPIStatus *rc)
Get the ErrorType attribute of a CMPIError object.
Definition: cmpimacs.h:2334
A structure type representing a CMPI data item.
Definition: cmpidt.h:604
CMPIStatus(* setOtherErrorType)(const CMPIError *er, const char *ot)
Set the OtherErrorType attribute of a CMPIError object.
Definition: cmpift.h:8399
CMPIStatus(* setProbableCauseDescription)(const CMPIError *er, const char *pcd)
Set the ProbableCauseDescription attribute of a CMPIError object.
Definition: cmpift.h:8435
CMPICodepageID
An enumeration type that identifies a codepage for CMPI codepage support.
Definition: cmpidt.h:1638
static CMPIStatus CMSetHostname(const CMPIObjectPath *op, const char *hn)
Set the host name component in a CMPIObjectPath object.
Definition: cmpimacs.h:1493
CMPISubCond encapsulated data type object.
Definition: cmpift.h:7114
static CMPIString * CDToString(const CMPIBroker *mb, const void *object, CMPIStatus *rc)
Convert an encapsulated data type object into a string representation.
Definition: cmpimacs.h:4412
CMPIBoolean(* evaluateUsingAccessor)(const CMPIPredicate *pr, CMPIAccessor *accessorFnc, void *parm, CMPIStatus *rc)
Test whether the properties returned by an accessor function match the predicate in a CMPIPredicate o...
Definition: cmpift.h:7533
void(* cmpiFree)(const CMPIBroker *mb, void *ptr)
Release a memory block.
Definition: cmpift.h:3870
CMPIPropertyList encapsulated data type object.
Definition: cmpift.h:8686
static CMPIStatus CBDeleteInstance(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath)
Delete an existing instance.
Definition: cmpimacs.h:3390
int CMPIVersion
A type for CMPI version fields (mainly in function tables).
Definition: cmpidt.h:773
static CMPIStatus CMAddKey(const CMPIObjectPath *op, const char *key, const CMPIValue *value, const CMPIType type)
Add or replace a key binding in a CMPIObjectPath object.
Definition: cmpimacs.h:1580
CMPIArray *(* getRecommendedActions)(const CMPIError *er, CMPIStatus *rc)
Get the RecommendedActions array attribute of a CMPIError object.
Definition: cmpift.h:8060
static CMPIBoolean CMClassPathIsA(const CMPIBroker *mb, const CMPIObjectPath *classPath, const char *className, CMPIStatus *rc)
Test whether a class path is of a specified class or any of its subclasses.
Definition: cmpimacs.h:4386
static CMPIData CMGetArgAt(const CMPIArgs *args, CMPICount index, CMPIString **name, CMPIStatus *rc)
Get a method parameter in a CMPIArgs object by index.
Definition: cmpimacs.h:1878
CMPIBoolean(* isInterval)(const CMPIDateTime *dt, CMPIStatus *rc)
Test whether a CMPIDateTime object contains an interval value.
Definition: cmpift.h:6620
void(* freeSelectExp)(const CMPIBroker *mb, CMPISelectExp *se)
Release a CMPISelectExp object.
Definition: cmpift.h:4038
CMPIStatus(* modifyInstance)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const CMPIInstance *modInst, const char **properties)
Modify property values of an existing instance.
Definition: cmpift.h:735
CMPIString *(* getString)(const CMPISelectExp *se, CMPIStatus *rc)
Get the select expression in a CMPISelectExp object as a string.
Definition: cmpift.h:6780
CMPIDateTime *(* newDateTime)(const CMPIBroker *mb, CMPIStatus *rc)
Create a new CMPIDateTime object initialized to the current date and time.
Definition: cmpift.h:2093
const CMPIObjectPathFT * ft
Pointer to the function table for this object.
Definition: cmpift.h:5565
void(* freeObjectPath)(const CMPIBroker *mb, CMPIObjectPath *obj)
Release a CMPIObjectPath object.
Definition: cmpift.h:3916
CMPIArgs *(* newArgs)(const CMPIBroker *mb, CMPIStatus *rc)
Create a new CMPIArgs object initialized to have no method parameters.
Definition: cmpift.h:1990
static CMPIInstance * CMNewInstance(const CMPIBroker *mb, const CMPIObjectPath *instPath, CMPIStatus *rc)
Create a new CMPIInstance object initialized to a given instance path.
Definition: cmpimacs.h:3955
CMPIString *(* toString)(const CMPIBroker *mb, const void *object, CMPIStatus *rc)
Convert any CMPI encapsulated data type object into a string representation.
Definition: cmpift.h:2301
static unsigned int CBGetCapabilities(const CMPIBroker *mb)
Get the MB capabilities.
Definition: cmpimacs.h:3069
CMPIStatus(* setClassName)(const CMPIObjectPath *op, const char *cn)
Set the class name component in a CMPIObjectPath object.
Definition: cmpift.h:5748
static CMPIPredicate * CMGetPredicateAt(const CMPISubCond *sc, CMPICount index, CMPIStatus *rc)
Get a predicate in a CMPISubCond object by index.
Definition: cmpimacs.h:2210
static void CMFreeArray(const CMPIBroker *mb, CMPIArray *array)
Release a CMPIArray object.
Definition: cmpimacs.h:5153
CMPIData(* getMethodQualifier)(const CMPIObjectPath *op, const char *methodName, const char *qName, CMPIStatus *rc)
Get a method qualifier.
Definition: cmpift.h:6120
CMPIStatus(* logMessage)(const CMPIBroker *mb, CMPISeverity severity, const char *id, const char *text, const CMPIString *string)
Log a diagnostic message.
Definition: cmpift.h:2462
CMPIEnumerationFilter *(* newEnumerationFilter)(const CMPIBroker *mb, const char *filterQueryLanguage, const char *filterQuery, CMPIStatus *rc)
Create a new CMPIEnumerationFilter object initialized with a filter query.
Definition: cmpift.h:2902
static void * CMRealloc(const CMPIBroker *mb, void *ptr, size_t size)
Change the size of a memory block.
Definition: cmpimacs.h:4934
CMPIError *(* newCMPIError)(const CMPIBroker *mb, const char *owner, const char *msgID, const char *msg, const CMPIErrorSeverity sev, const CMPIErrorProbableCause pc, const CMPIrc cimStatusCode, CMPIStatus *rc)
Create a new CMPIError object initialized with certain core attributes.
Definition: cmpift.h:2595
CMPIString *(* getStringFormat)(const CMPIDateTime *dt, CMPIStatus *rc)
Get the value of a CMPIDateTime object in the string format defined for the CIM datetime type...
Definition: cmpift.h:6593
CMPIData(* getEntryAt)(const CMPIContext *ctx, CMPICount index, CMPIString **name, CMPIStatus *rc)
Get a context entry in a CMPIContext object by index.
Definition: cmpift.h:4255
CMPIrc(* getCIMStatusCode)(const CMPIError *er, CMPIStatus *rc)
Get the CIMStatusCode attribute of a CMPIError object.
Definition: cmpift.h:8236
CMPIStatus(* setMessageArguments)(const CMPIError *er, const CMPIArray *values)
Set the MessageArguments array attribute of a CMPIError object.
Definition: cmpift.h:8662
CMPIStatus(* detachThread)(const CMPIBroker *mb, const CMPIContext *ctx)
Inform the MB that the current thread will no longer use MB functions.
Definition: cmpift.h:386
static CMPIStatus CMSetObjectPath(const CMPIInstance *inst, const CMPIObjectPath *op)
Set the instance path component of a CMPIInstance object.
Definition: cmpimacs.h:1389
#define CMPI_ARRAY
Test mask for arrays.
Definition: cmpidt.h:451
static CMPIStatus CMCloseMessageFile(const CMPIBroker *mb, const CMPIMsgFileHandle msgFileHandle)
Close a message file.
Definition: cmpimacs.h:4655
void(* freeDateTime)(const CMPIBroker *mb, CMPIDateTime *dt)
Release a CMPIDateTime object.
Definition: cmpift.h:4012
static CMPIData CMGetArg(const CMPIArgs *args, const char *name, CMPIStatus *rc)
Get a method parameter in a CMPIArgs object by name.
Definition: cmpimacs.h:1852
CMPIUint64(* getBinaryFormat)(const CMPIDateTime *dt, CMPIStatus *rc)
Get the value of a CMPIDateTime object in binary format.
Definition: cmpift.h:6558
static CMPIStatus CMSetArrayElementAt(const CMPIArray *ar, CMPICount index, const CMPIValue *value, CMPIType type)
Set the value of an existing array element in a CMPIArray object by index.
Definition: cmpimacs.h:1130
unsigned char CMPIBoolean
CIM data type boolean.
Definition: cmpidt.h:242
static CMPIData CMGetMethodQualifier(const CMPIObjectPath *op, const char *mName, const char *qName, CMPIStatus *rc)
Get a method qualifier.
Definition: cmpimacs.h:1768
const CMPIArgsFT * ft
Pointer to the function table for this object.
Definition: cmpift.h:6250
static CMPIStatus CMSetErrorType(const CMPIError *er, const CMPIErrorType et)
Set the ErrorType attribute of a CMPIError object.
Definition: cmpimacs.h:2740
const CMPIBrokerFT * bft
Pointer to the function table for some MB services (thread registration, indications services...
Definition: cmpift.h:225
static CMPIString * CMGetNameSpace(const CMPIObjectPath *op, CMPIStatus *rc)
Get the namespace component from a CMPIObjectPath object.
Definition: cmpimacs.h:1472
static void CMFree(const CMPIBroker *mb, void *ptr)
Release a memory block.
Definition: cmpimacs.h:4993
CMPIEnumeration *(* enumerateInstanceNames)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *classPath, CMPIStatus *rc)
Enumerate the instance paths of the instances of a given class (and its subclasses).
Definition: cmpift.h:525
static void * CMMalloc(const CMPIBroker *mb, size_t size)
Allocate an uninitalized memory block of the specified size.
Definition: cmpimacs.h:4870
static const char ** CMGetListProperties(const CMPIPropertyList *plist, CMPIStatus *rc)
Return the property list represented by a CMPIPropertyList object as an array of C-language strings...
Definition: cmpimacs.h:3008
static CMPIStatus CBSetProperty(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *name, const CMPIValue *value, const CMPIType type)
Set or modify a property of an existing instance. (Deprecated)
Definition: cmpimacs.h:3705
CMPIString *(* getProbableCauseDescription)(const CMPIError *er, CMPIStatus *rc)
Get the ProbableCauseDescription attribute of a CMPIError object.
Definition: cmpift.h:8016
CMPIStatus(* returnError)(const CMPIResult *rslt, const CMPIError *er)
Add an error to a CMPIResult object.
Definition: cmpift.h:4551
static CMPIData CMGetNext(const CMPIEnumeration *en, CMPIStatus *rc)
Get the next element in a CMPIEnumeration object.
Definition: cmpimacs.h:1160
CMPIEnumeration *(* associatorsFiltered)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *assocClass, const char *resultClass, const char *role, const char *resultRole, const char **properties, const char *filterQueryLanguage, const char *filterQuery, CMPIStatus *rc)
Enumerate the instances associated with a given source instance, returning only those that match the ...
Definition: cmpift.h:1734
CMPIStatus(* setProperty)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *name, const CMPIValue *value, CMPIType type)
Set or modify a property of an existing instance. (Deprecated)
Definition: cmpift.h:1470
const CMPIBrokerMemFT * mft
Pointer to the function table for MB memory enhancement services.
Definition: cmpift.h:247
CMPIStatus(* attachThread)(const CMPIBroker *mb, const CMPIContext *ctx)
Inform the MB that the current thread will begin using MB functions.
Definition: cmpift.h:359
CMPICount(* getEntryCount)(const CMPIContext *ctx, CMPIStatus *rc)
Get the number of context entries in a CMPIContext object.
Definition: cmpift.h:4283
CMPIData(* invokeMethod)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *objPath, const char *method, const CMPIArgs *in, CMPIArgs *out, CMPIStatus *rc)
Invoke a method on a target object.
Definition: cmpift.h:1393
CMPIEnumerationFilter encapsulated data type object.
Definition: cmpift.h:8865
static CMPIErrorProbableCause CMGetProbableCause(const CMPIError *er, CMPIStatus *rc)
Get the ProbableCause attribute of a CMPIError object.
Definition: cmpimacs.h:2497
const CMPIInstanceFT * ft
Pointer to the function table for this object.
Definition: cmpift.h:5156
static CMPIBoolean CMIsKeyValue(CMPIData data)
Test a CMPIData value for being a key.
Definition: cmpimacs.h:556
static CMPIData CMGetContextEntry(const CMPIContext *ctx, const char *name, CMPIStatus *rc)
Get a context entry in a CMPIContext object by name.
Definition: cmpimacs.h:730
static CMPIUint64 CMGetBinaryFormat(const CMPIDateTime *dt, CMPIStatus *rc)
Get the value of a CMPIDateTime object in binary format.
Definition: cmpimacs.h:1932
static CMPIEnumerationFilter * CMNewEnumerationFilter(const CMPIBroker *mb, const char *filterQueryLanguage, const char *filterQuery, CMPIStatus *rc)
Create a new CMPIEnumerationFilter object initialized with a filter query.
Definition: cmpimacs.h:4355
CMPIData(* getParameterQualifier)(const CMPIObjectPath *op, const char *mName, const char *pName, const char *qName, CMPIStatus *rc)
Get a parameter qualifier.
Definition: cmpift.h:6170
static CMPIArray * CMGetMessageArguments(const CMPIError *er, CMPIStatus *rc)
Get the MessageArguments array attribute of a CMPIError object.
Definition: cmpimacs.h:2713
static CMPIData CMGetKey(const CMPIObjectPath *op, const char *key, CMPIStatus *rc)
Get a key binding in a CMPIObjectPath object by name.
Definition: cmpimacs.h:1604
static CMPIGcStat * CMMemMark(const CMPIBroker *mb, CMPIStatus *rc)
Mark a new object lifecycle level for subsequent newly created CMPI encapsulated data type objects...
Definition: cmpimacs.h:4768
CMPIGcStat *(* mark)(const CMPIBroker *mb, CMPIStatus *rc)
Mark a new object lifecycle level for subsequent newly created CMPI encapsulated data type objects...
Definition: cmpift.h:3688
CMPIStatus(* setHostname)(const CMPIObjectPath *op, const char *hn)
Set the host name component in a CMPIObjectPath object.
Definition: cmpift.h:5699
CMPIString *(* getHostname)(const CMPIObjectPath *op, CMPIStatus *rc)
Get the host name component in a CMPIObjectPath object.
Definition: cmpift.h:5729
static CMPIBoolean CMIsNullObject(const void *objptr)
Test an encapsulated data type object pointer for NULL.
Definition: cmpimacs.h:478
CMPIData(* getKey)(const CMPIObjectPath *op, const char *key, CMPIStatus *rc)
Get a key binding in a CMPIObjectPath object by name.
Definition: cmpift.h:5856
CMPIStatus(* setRecommendedActions)(const CMPIError *er, const CMPIArray *ra)
Set the RecommendedActions array attribute of a CMPIError object.
Definition: cmpift.h:8476
char *(* cmpiStrDup)(const CMPIBroker *mb, const char *str)
Allocate a memory block and initialize it with a string.
Definition: cmpift.h:3845
static CMPISelectExp * CMNewSelectExp(const CMPIBroker *mb, const char *query, const char *lang, CMPIArray **projection, CMPIStatus *rc)
Create a new CMPISelectExp object initialized from a select expression specified in a query language...
Definition: cmpimacs.h:4187
static CMPIEnumeration * CBExecQuery(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *classPath, const char *query, const char *lang, CMPIStatus *rc)
Execute a query on a given class and return the query result.
Definition: cmpimacs.h:3417
static const char * CMGetCharPtr(const CMPIString *str)
Get the C-language string representation of a CMPIString object (Deprecated).
Definition: cmpimacs.h:964
CMPIStatus(* addKey)(const CMPIObjectPath *op, const char *key, const CMPIValue *value, const CMPIType type)
Add or replace a key binding in a CMPIObjectPath object by name.
Definition: cmpift.h:5812
CMPIStatus(* setProperty)(const CMPIInstance *inst, const char *name, const CMPIValue *value, CMPIType type)
Add or replace a property value in a CMPIInstance object by name.
Definition: cmpift.h:5360
CMPIErrorProbableCause(* getProbableCause)(const CMPIError *er, CMPIStatus *rc)
Get the ProbableCause attribute of a CMPIError object.
Definition: cmpift.h:7967
const CMPISubCondFT * ft
Pointer to the function table for this object.
Definition: cmpift.h:7124
static CMPIType CMGetArrayType(const CMPIArray *ar, CMPIStatus *rc)
Get the type of the array elements in a CMPIArray object.
Definition: cmpimacs.h:1081
static CMPIStatus CBDeliverIndication(const CMPIBroker *mb, const CMPIContext *ctx, const char *ns, const CMPIInstance *ind)
Request delivery of an indication.
Definition: cmpimacs.h:3221
CMPICount(* getPropertyCount)(const CMPIInstance *inst, CMPIStatus *rc)
Get the number of properties in a CMPIInstance object.
Definition: cmpift.h:5313
CMPIObjectPath encapsulated data type object.
Definition: cmpift.h:5555
static CMPIArgs * CMNewArgs(const CMPIBroker *mb, CMPIStatus *rc)
Create a new CMPIArgs object initialized to have no method parameters.
Definition: cmpimacs.h:4019
CMPIString encapsulated data type object.
Definition: cmpift.h:4571
unsigned int brokerCapabilities
Bitmask representing the MB capabilities supported by this MB.
Definition: cmpift.h:275
CMPIString *(* getErrorSource)(const CMPIError *er, CMPIStatus *rc)
Get the ErrorSource attribute of a CMPIError object.
Definition: cmpift.h:8107
static CMPIStatus CMSetHostAndNameSpaceFromObjectPath(const CMPIObjectPath *op, const CMPIObjectPath *src)
Set host name, namespace, and class name components in a CMPIObjectPath object from another CMPIObjec...
Definition: cmpimacs.h:1697
static CMPIDateTime * CMNewDateTimeFromChars(const CMPIBroker *mb, const char *datetime, CMPIStatus *rc)
Create a new CMPIDateTime object initialized to a specified value.
Definition: cmpimacs.h:4160
#define CMPI_nullValue
Definition: cmpidt.h:578
void CMPIGcStat
An opaque type that is used by the MB for use with the CMPIBrokerMemFT.mark() and CMPIBrokerMemFT...
Definition: cmpidt.h:715
static CMPICount CMGetArgCount(const CMPIArgs *args, CMPIStatus *rc)
Get the number of method parameters in a CMPIArgs object.
Definition: cmpimacs.h:1901
static CMPIStatus CMTraceMessage(const CMPIBroker *mb, CMPILevel level, const char *component, const char *text, const CMPIString *string)
Trace a diagnostic message with a specific trace level and component.
Definition: cmpimacs.h:4578
static void * CMCalloc(const CMPIBroker *mb, size_t nElems, size_t sizeElem)
Allocate a memory block of the specified size and initialize it to zero.
Definition: cmpimacs.h:4900
static CMPIString * CMGetOtherErrorSourceFormat(const CMPIError *er, CMPIStatus *rc)
Get the OtherErrorSourceFormat attribute of a CMPIError object.
Definition: cmpimacs.h:2631
static CMPIStatus CMReturnError(const CMPIResult *rslt, const CMPIError *er)
Add an error to a CMPIResult object.
Definition: cmpimacs.h:922
CMPIString *(* getMessageID)(const CMPIError *er, CMPIStatus *rc)
Get the MessageID attribute of a CMPIError object.
Definition: cmpift.h:7840
CMPIEnumeration *(* enumerateInstancesFiltered)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *classPath, const char **properties, const char *filterQueryLanguage, const char *filterQuery, CMPIStatus *rc)
Enumerate the instances of a given class (and its subclasses), returning only those that match the gi...
Definition: cmpift.h:1628
void *(* cmpiCalloc)(const CMPIBroker *mb, size_t nElems, size_t sizeElem)
Allocate a memory block of the specified size and initialize it to zero.
Definition: cmpift.h:3778
static CMPIStatus CBDetachThread(const CMPIBroker *mb, const CMPIContext *ctx)
Inform the MB that the current thread will no longer use MB functions.
Definition: cmpimacs.h:3196
CMPIString *(* getClassName)(const CMPIObjectPath *op, CMPIStatus *rc)
Get the class name component in a CIMObjectPath object.
Definition: cmpift.h:5778
const char **(* getProperties)(const CMPIPropertyList *plist, CMPIStatus *rc)
Return the property list represented by a CMPIPropertyList object as an array of strings.
Definition: cmpift.h:8841
static CMPIData CMGetContextEntryAt(const CMPIContext *ctx, CMPICount index, CMPIString **name, CMPIStatus *rc)
Get a context entry in a CMPIContext object by index.
Definition: cmpimacs.h:756
static CMPIObjectPath * CBCreateInstance(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *classPath, const CMPIInstance *newInst, CMPIStatus *rc)
Create an instance of a given class.
Definition: cmpimacs.h:3336
static CMPICount CMGetSubCondCountAndType(const CMPISelectCond *sc, int *type, CMPIStatus *rc)
Get the number and type of subconditions in a CMPISelectCond object.
Definition: cmpimacs.h:2134
static CMPIStatus CMAddArg(const CMPIArgs *args, const char *name, const CMPIValue *value, const CMPIType type)
Add or replace a method parameter in a CMPIArgs object.
Definition: cmpimacs.h:1828
static CMPIStatus CBAttachThread(const CMPIBroker *mb, const CMPIContext *ctx)
Inform the MB that the current thread will begin using MB functions.
Definition: cmpimacs.h:3173
CMPIStatus(* getData)(const CMPIPredicate *pr, CMPIType *type, CMPIPredOp *prop, CMPIString **lhs, CMPIString **rhs)
Get the predicate components of a CMPIPredicate object.
Definition: cmpift.h:7482
CMPIStatus(* openMessageFile)(const CMPIBroker *mb, const char *msgFile, CMPIMsgFileHandle *msgFileHandle)
Open a message file and return a handle to the file.
Definition: cmpift.h:2674
void(* freeString)(const CMPIBroker *mb, CMPIString *str)
Release a CMPIString object.
Definition: cmpift.h:3961
CMPIArray *(* getMessageArguments)(const CMPIError *er, CMPIStatus *rc)
Get the MessageArguments array attribute of a CMPIError object.
Definition: cmpift.h:8328
CMPIDateTime encapsulated data type object.
Definition: cmpift.h:6456
static CMPIBoolean CMIsArray(CMPIData data)
Test a CMPIData value for having an array type.
Definition: cmpimacs.h:580
static CMPIStatus CMMemRelease(const CMPIBroker *mb, const CMPIGcStat *gc)
Release all CMPI encapsulated data type objects created at the specified object lifecycle level...
Definition: cmpimacs.h:4798
CMPIString *(* getCIMStatusCodeDescription)(const CMPIError *er, CMPIStatus *rc)
Get the CIMStatusCodeDescription attribute of a CMPIError object.
Definition: cmpift.h:8284
CMPISubCond *(* getSubCondAt)(const CMPISelectCond *sc, CMPICount index, CMPIStatus *rc)
Get a subcondition in a CMPISelectCond object by index.
Definition: cmpift.h:7098
static CMPIEnumeration * CBEnumInstancesFiltered(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *classPath, const char **properties, const char *filterQueryLanguage, const char *filterQuery, CMPIStatus *rc)
Enumerate the instances of a given class (and its subclasses), returning only those that match the gi...
Definition: cmpimacs.h:3777
#define CMPI_keyValue
Definition: cmpidt.h:579
CMPIString *(* getOwningEntity)(const CMPIError *er, CMPIStatus *rc)
Get the OwningEntity attribute of a CMPIError object.
Definition: cmpift.h:7792
CMPIBroker structure.
Definition: cmpift.h:214
CMPIPredicate encapsulated data type object.
Definition: cmpift.h:7340
CMPIStatus(* returnInstance)(const CMPIResult *rslt, const CMPIInstance *inst)
Add an instance to a CMPIResult object.
Definition: cmpift.h:4466
static CMPIBoolean CMEvaluateSelExpUsingAccessor(const CMPISelectExp *se, const CMPIAccessor *accessor, void *parm, CMPIStatus *rc)
Test whether the properties returned by an accessor function match the select expression in a CMPISel...
Definition: cmpimacs.h:2101
static CMPIBoolean CMIsNullValue(CMPIData data)
Test a CMPIData value for NULL.
Definition: cmpimacs.h:534
CMPIContext encapsulated data type object.
Definition: cmpift.h:4098
CMPIStatus(* setOtherErrorSourceFormat)(const CMPIError *er, const char *oef)
Set the OtherErrorSourceFormat attribute of a CMPIError object.
Definition: cmpift.h:8585
static CMPICount CMGetContextEntryCount(const CMPIContext *ctx, CMPIStatus *rc)
Get the number of context entries in a CMPIContext object.
Definition: cmpimacs.h:779
CMPIValueState state
State of the data item.
Definition: cmpidt.h:616
CMPIDateTime *(* newDateTimeFromChars)(const CMPIBroker *mb, const char *datetime, CMPIStatus *rc)
Create a new CMPIDateTime object initialized to a specified value.
Definition: cmpift.h:2164
CMPIStatus(* returnDone)(const CMPIResult *rslt)
Indicate that no further items will be added to a CMPIResult object.
Definition: cmpift.h:4508
unsigned int CMPICount
An unsigned integer that specifies a number of elements or position in a sequential data type...
Definition: cmpidt.h:296
static CMPIStatus CMReturnObjectPath(const CMPIResult *rslt, const CMPIObjectPath *op)
Add an object path to a CMPIResult object.
Definition: cmpimacs.h:880
CMPIStatus(* setNameSpaceFromObjectPath)(const CMPIObjectPath *op, const CMPIObjectPath *src)
Set the namespace and class name components in a CMPIObjectPath object from another CMPIObjectPath ob...
Definition: cmpift.h:5959
CMPIStatus(* closeMessageFile)(const CMPIBroker *mb, const CMPIMsgFileHandle msgFileHandle)
Close a message file.
Definition: cmpift.h:2700
CMPIError encapsulated data type object.
Definition: cmpift.h:7559
CMPIInstance encapsulated data type object.
Definition: cmpift.h:5146
CMPIEnumeration *(* execQuery)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *classPath, const char *query, const char *lang, CMPIStatus *rc)
Execute a query on a given class and return the query result.
Definition: cmpift.h:854
CMPIErrorProbableCause
An enumeration type that defines possible values for the probable cause in a CMPIError object...
Definition: cmpidt.h:1335
CMPIData(* getElementAt)(const CMPIArray *ar, CMPICount index, CMPIStatus *rc)
Get the value of an array element in a CMPIArray object by index.
Definition: cmpift.h:4891
CMPIPredicate *(* getPredicateAt)(const CMPISubCond *sc, CMPICount index, CMPIStatus *rc)
Get a predicate in a CMPISubCond object by index.
Definition: cmpift.h:7280
const char * brokerName
Informal MB-specific name for this MB.
Definition: cmpift.h:294
CMPIData(* getNext)(const CMPIEnumeration *en, CMPIStatus *rc)
Get the next element in a CMPIEnumeration object.
Definition: cmpift.h:5071
CMPIPredicate *(* getPredicate)(const CMPISubCond *sc, const char *name, CMPIStatus *rc)
Get a predicate in a CMPISubCond object by name.
Definition: cmpift.h:7324
static CMPIStatus CBModifyInstance(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const CMPIInstance *modInst, const char **properties)
Modify property values of an existing instance.
Definition: cmpimacs.h:3365
CMPIBoolean(* classPathIsA)(const CMPIBroker *mb, const CMPIObjectPath *classPath, const char *className, CMPIStatus *rc)
Test whether a class path is of a specified class or any of its subclasses.
Definition: cmpift.h:2264
const CMPIErrorFT * ft
Pointer to the function table for this object.
Definition: cmpift.h:7569
static CMPIStatus CMSetRecommendedActions(const CMPIError *er, const CMPIArray *ra)
Set the RecommendedActions array attribute of a CMPIError object.
Definition: cmpimacs.h:2820
static CMPISelectCond * CMGetCod(const CMPISelectExp *se, CMPIStatus *rc)
Get the select expression in a CMPISelectExp object as a conjunction of disjunctions.
Definition: cmpimacs.h:2074
static CMPIStatus CMSetCIMStatusCodeDescription(const CMPIError *er, const char *scd)
Set the CIMStatusCodeDescription attribute of a CMPIError object.
Definition: cmpimacs.h:2927
CMPIDateTime *(* newDateTimeFromBinary)(const CMPIBroker *mb, CMPIUint64 binTime, CMPIBoolean interval, CMPIStatus *rc)
Create a new CMPIDateTime object initialized to a specific value.
Definition: cmpift.h:2129
static void CMFreeDateTime(const CMPIBroker *mb, CMPIDateTime *dt)
Release a CMPIDateTime object.
Definition: cmpimacs.h:5186
unsigned long long CMPIUint64
CIM data type uint64.
Definition: cmpidt.h:256
static CMPIStatus CMAddContextEntry(const CMPIContext *ctx, const char *name, const CMPIValue *value, const CMPIType type)
Add or replace a context entry in a CMPIContext object.
Definition: cmpimacs.h:805
static CMPIBoolean CMHasNext(const CMPIEnumeration *en, CMPIStatus *rc)
Test for any elements left in a CMPIEnumeration object.
Definition: cmpimacs.h:1182
CMPICount(* getSize)(const CMPIArray *ar, CMPIStatus *rc)
Get the number of array elements in a CMPIArray object.
Definition: cmpift.h:4836
CMPIString *(* getOtherErrorSourceFormat)(const CMPIError *er, CMPIStatus *rc)
Get the OtherErrorSourceFormat attribute of a CMPIError object.
Definition: cmpift.h:8194
static CMPIBoolean CMIsInterval(const CMPIDateTime *dt, CMPIStatus *rc)
Test whether a CMPIDateTime object contains an interval value.
Definition: cmpimacs.h:1977
CMPIrc rc
A return code.
Definition: cmpidt.h:981
CMPIEnumeration *(* referenceNames)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *resultClass, const char *role, CMPIStatus *rc)
Enumerate the instance paths of the association instances referencing a given source instance...
Definition: cmpift.h:1302
static CMPIString * CMGetErrorMessage(const CMPIError *er, CMPIStatus *rc)
Get the Message attribute of a CMPIError object.
Definition: cmpimacs.h:2441
static CMPIBoolean CMEvaluatePredicateUsingAccessor(const CMPIPredicate *pr, const CMPIAccessor *accessorFnc, void *parm, CMPIStatus *rc)
Test whether the properties returned by an accessor function match the predicate in a CMPIPredicate o...
Definition: cmpimacs.h:2297
static CMPIEnumeration * CBEnumInstances(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *classPath, const char **properties, CMPIStatus *rc)
Enumerate the instances of a given class (and its subclasses).
Definition: cmpimacs.h:3279
A union that can hold a value of any of the data types defined in CMPI.
Definition: cmpidt.h:335
CMPISelectCond *(* getCOD)(const CMPISelectExp *se, CMPIStatus *rc)
Get the select expression in a CMPISelectExp object as a conjunction of disjunctions.
Definition: cmpift.h:6865
CMPIString *(* getNameSpace)(const CMPIObjectPath *op, CMPIStatus *rc)
Get the namespace component from a CMPIObjectPath object.
Definition: cmpift.h:5680
static CMPIString * CMNewString(const CMPIBroker *mb, const char *data, CMPIStatus *rc)
Create a new CMPIString object initialized from a C-language string.
Definition: cmpimacs.h:4056
CMPIData(* getProperty)(const CMPIInstance *inst, const char *name, CMPIStatus *rc)
Get a property in a CMPIInstance object by name.
Definition: cmpift.h:5253
CMPIBoolean(* hasNext)(const CMPIEnumeration *en, CMPIStatus *rc)
Test for any elements left in a CMPIEnumeration object.
Definition: cmpift.h:5099
static CMPIStatus CMGetPredicateData(const CMPIPredicate *pr, CMPIType *type, CMPIPredOp *prop, CMPIString **lhs, CMPIString **rhs)
Get the predicate components of a CMPIPredicate object.
Definition: cmpimacs.h:2265
static void CMFreeString(const CMPIBroker *mb, CMPIString *str)
Release a CMPIString object.
Definition: cmpimacs.h:5121
const CMPIEnumerationFilterFT * ft
Pointer to the function table for this object.
Definition: cmpift.h:8875
static CMPIArray * CMNewArray(const CMPIBroker *mb, CMPICount size, CMPIType type, CMPIStatus *rc)
Create a new CMPIArray object of a given size and type of elements.
Definition: cmpimacs.h:4081
void(* freeArgs)(const CMPIBroker *mb, CMPIArgs *args)
Release a CMPIArgs object.
Definition: cmpift.h:3938
CMPIErrorSrcFormat(* getErrorSourceFormat)(const CMPIError *er, CMPIStatus *rc)
Get the ErrorSourceFormat attribute of a CMPIError object.
Definition: cmpift.h:8145
CMPIObjectPath *(* newObjectPath)(const CMPIBroker *mb, const char *ns, const char *cn, CMPIStatus *rc)
Create a new CMPIObjectPath initialized to a given namespace and class name.
Definition: cmpift.h:1960
CMPICount(* getCountAndType)(const CMPISelectCond *sc, int *type, CMPIStatus *rc)
Get the number and type of subconditions in a CMPISelectCond object.
Definition: cmpift.h:7056
CMPIStatus(* setHostAndNameSpaceFromObjectPath)(const CMPIObjectPath *op, const CMPIObjectPath *src)
Set the host name, namespace, and class name components in a CMPIObjectPath object from another CMPIO...
Definition: cmpift.h:5984
const CMPISelectExpFT * ft
Pointer to the function table for this object.
Definition: cmpift.h:6645
static CMPIStatus CMSetMessageArguments(const CMPIError *er, const CMPIArray *values)
Set the MessageArguments array attribute of a CMPIError object.
Definition: cmpimacs.h:2954
static void CMSetStatusWithChars(const CMPIBroker *mb, CMPIStatus *st, CMPIrc rc, const char *msg)
Initializes CMPIStatus struct with return code and message text message.
Definition: cmpimacs.h:308
static CMPIStatus CMSetPropertyFilter(const CMPIInstance *inst, const char **properties, const char **keyList)
Attach a property filter to a CMPIInstance object.
Definition: cmpimacs.h:1367
static CMPIErrorSeverity CMGetPerceivedSeverity(const CMPIError *er, CMPIStatus *rc)
Get the PerceivedSeverity attribute of a CMPIError object.
Definition: cmpimacs.h:2469
CMPIStatus(* setNameSpace)(const CMPIObjectPath *op, const char *ns)
Set the namespace component in a CMPIObjectPath object.
Definition: cmpift.h:5650
const CMPIBrokerEncFT * eft
Pointer to the function table for some MB services (factory and miscellaneous services).
Definition: cmpift.h:231
const CMPIDateTimeFT * ft
Pointer to the function table for this object.
Definition: cmpift.h:6466
CMPISelectExp *(* newSelectExp)(const CMPIBroker *mb, const char *query, const char *lang, CMPIArray **projection, CMPIStatus *rc)
Create a new CMPISelectExp object initialized from a select expression specified in a query language...
Definition: cmpift.h:2218
static CMPIStatus CMSetErrorSourceFormat(const CMPIError *er, const CMPIErrorSrcFormat esf)
Set the ErrorSourceFormat attribute of a CMPIError object.
Definition: cmpimacs.h:2873
CMPISelectExp encapsulated data type object.
Definition: cmpift.h:6635
static CMPIStatus CMSetPropertyWithOrigin(const CMPIInstance *inst, const char *name, const CMPIValue *value, CMPIType type, const char *origin)
Add or replace a property value and class origin in a CMPIInstance object by name.
Definition: cmpimacs.h:1419
CMPICount(* getArgCount)(const CMPIArgs *args, CMPIStatus *rc)
Get the number of method parameters in a CMPIArgs object.
Definition: cmpift.h:6438
char *(* newCharsCP)(const CMPIString *str, const CMPICodepageID cpid, CMPIStatus *rc)
Create a C-language string that has converted a CMPIString object into a specific codepage...
Definition: cmpift.h:4715
static void * CMStrDup(const CMPIBroker *mb, const char *str)
Allocate a memory block and initialize it with a string.
Definition: cmpimacs.h:4963
CMPIErrorType
An enumeration type that defines possible values for the error type in a CMPIError object...
Definition: cmpidt.h:1274
static CMPIrc CMGetCIMStatusCode(const CMPIError *er, CMPIStatus *rc)
Get the CIMStatusCode attribute of a CMPIError object.
Definition: cmpimacs.h:2659
static CMPIString * CMNewStringCP(const CMPIBroker *mb, const char *data, const CMPICodepageID cpid, CMPIStatus *rc)
Create a new CMPIString object from a C-language string in a specific codepage.
Definition: cmpimacs.h:4324
CMPIStatus(* addEntry)(const CMPIContext *ctx, const char *name, const CMPIValue *value, const CMPIType type)
Add or replace a context entry in a CMPIContext object.
Definition: cmpift.h:4320
CMPIStatus(* setElementAt)(const CMPIArray *ar, CMPICount index, const CMPIValue *value, CMPIType type)
Set the value of an existing array element in a CMPIArray object by index.
Definition: cmpift.h:4950
static CMPIString * CDGetType(const CMPIBroker *mb, const void *object, CMPIStatus *rc)
Get the type name of an ensapsulated data type object.
Definition: cmpimacs.h:4471
static CMPISelectCond * CMGetDoc(const CMPISelectExp *se, CMPIStatus *rc)
Get the select expression in a CMPISelectExp object as a disjunction of conjunctions.
Definition: cmpimacs.h:2052
static CMPIString * CMGetCIMStatusCodeDescription(const CMPIError *er, CMPIStatus *rc)
Get the CIMStatusCodeDescription attribute of a CMPIError object.
Definition: cmpimacs.h:2686
void(* freeArray)(const CMPIBroker *mb, CMPIArray *array)
Release a CMPIArray object.
Definition: cmpift.h:3983
static CMPIString * CMGetClassName(const CMPIObjectPath *op, CMPIStatus *rc)
Get the class name component from CMPIObjectPath.
Definition: cmpimacs.h:1556
A structure that indicates success or failure of MB and MI functions.
Definition: cmpidt.h:974
CMPICount(* getCount)(const CMPISubCond *sc, CMPIStatus *rc)
Get the number of predicates in a CMPISubCond object.
Definition: cmpift.h:7239
static CMPIString * CMGetMessageID(const CMPIError *er, CMPIStatus *rc)
Get the MessageID attribute of a CMPIError object.
Definition: cmpimacs.h:2414
static CMPIError * CMNewCMPIError(const CMPIBroker *mb, const char *owner, const char *msgID, const char *msg, const CMPIErrorSeverity sev, const CMPIErrorProbableCause pc, const CMPIrc cimStatusCode, CMPIStatus *rc)
Create a new CMPIError object initialized with certain core attributes.
Definition: cmpimacs.h:4258
static CMPIPredicate * CMGetPredicate(const CMPISubCond *sc, const char *name, CMPIStatus *rc)
Get a predicate in a CMPISubCond object by name.
Definition: cmpimacs.h:2233
static CMPIPropertyList * CMNewPropertyList(const CMPIBroker *mb, const char **properties, CMPIStatus *rc)
Create a new CMPIPropertyList object initialized to a list of property names.
Definition: cmpimacs.h:4292
static CMPIData CMGetPropertyQualifier(const CMPIObjectPath *op, const char *pName, const char *qName, CMPIStatus *rc)
Get a property qualifier.
Definition: cmpimacs.h:1743
static CMPICount CMGetKeyCount(const CMPIObjectPath *op, CMPIStatus *rc)
Get the number of key bindings in a CMPIObjectPath object.
Definition: cmpimacs.h:1653
CMPIInstance *(* getInstance)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char **properties, CMPIStatus *rc)
Get an existing instance.
Definition: cmpift.h:598
static CMPIEnumeration * CBReferences(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *resultClass, const char *role, const char **properties, CMPIStatus *rc)
Enumerate the association instances referencing a given source instance.
Definition: cmpimacs.h:3561
CMPIString * msg
An error message.
Definition: cmpidt.h:989
CMPISelectCond *(* getDOC)(const CMPISelectExp *se, CMPIStatus *rc)
Get the select expression in a CMPISelectExp object as a disjunction of conjunctions.
Definition: cmpift.h:6822
static CMPIString * CMGetHostname(const CMPIObjectPath *op, CMPIStatus *rc)
Get the host name component in a CMPIObjectPath object.
Definition: cmpimacs.h:1514
CMPIBoolean(* evaluateUsingAccessor)(const CMPISelectExp *se, CMPIAccessor *accessor, void *parm, CMPIStatus *rc)
Test whether the properties returned by an accessor function match the select expression in a CMPISel...
Definition: cmpift.h:6910
CMPIEnumeration *(* associatorNames)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *assocClass, const char *resultClass, const char *role, const char *resultRole, CMPIStatus *rc)
Enumerate the instance paths of the instances associated with a given source instance.
Definition: cmpift.h:1128
CMPIStatus(* trace)(const CMPIBroker *mb, CMPILevel level, const char *component, const char *text, const CMPIString *string)
Trace a diagnostic message with a specific trace level.
Definition: cmpift.h:2498
static CMPIData CMGetProperty(const CMPIInstance *inst, const char *name, CMPIStatus *rc)
Get a property in a CMPIInstance object by name.
Definition: cmpimacs.h:1242
CMPIEnumeration encapsulated data type object.
Definition: cmpift.h:4968
CMPIStatus(* setCIMStatusCodeDescription)(const CMPIError *er, const char *scd)
Set the CIMStatusCodeDescription attribute of a CMPIError object.
Definition: cmpift.h:8622
CMPIPropertyList *(* newPropertyList)(const CMPIBroker *mb, const char **properties, CMPIStatus *rc)
Create a new CMPIPropertyList object initialized to a list of property names.
Definition: cmpift.h:2819
static CMPIString * CMGetProbableCauseDescription(const CMPIError *er, CMPIStatus *rc)
Get the ProbableCauseDescription attribute of a CMPIError object.
Definition: cmpimacs.h:2524
const char *(* getCharPtr)(const CMPIString *str, CMPIStatus *rc)
Get a pointer to a C-language string representation of a CMPIString object.
Definition: cmpift.h:4677
static CMPIStatus CMSetOtherErrorType(const CMPIError *er, const char *ot)
Set the OtherErrorType attribute of a CMPIError object.
Definition: cmpimacs.h:2766
CMPIErrorSeverity
An enumeration type that defines possible values for the error severity in a CMPIError object...
Definition: cmpidt.h:1312
const CMPIEnumerationFT * ft
Pointer to the function table for this object.
Definition: cmpift.h:4978
static CMPIStatus CMLogMessage(const CMPIBroker *mb, CMPISeverity severity, const char *id, const char *text, const CMPIString *string)
Log a diagnostic message.
Definition: cmpimacs.h:4539
void(* freeChars)(const CMPIBroker *mb, char *chars)
Free the memory of a C-language string.
Definition: cmpift.h:4065
void *(* cmpiMalloc)(const CMPIBroker *mb, size_t size)
Allocate an uninitalized memory block of the specified size.
Definition: cmpift.h:3749
static CMPIEnumeration * CBReferencesFiltered(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *resultClass, const char *role, const char **properties, const char *filterQueryLanguage, const char *filterQuery, CMPIStatus *rc)
Enumerate the instances referencing a given source instance, returning only those that match the give...
Definition: cmpimacs.h:3892
static CMPIData CBInvokeMethod(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *objPath, const char *method, const CMPIArgs *in, CMPIArgs *out, CMPIStatus *rc)
Invoke a method on a target object.
Definition: cmpimacs.h:3668
CMPISelectCond encapsulated data type object.
Definition: cmpift.h:6926
static CMPIArray * CMToArray(const CMPIEnumeration *en, CMPIStatus *rc)
Convert a CMPIEnumeration object to a CMPIArray object.
Definition: cmpimacs.h:1204
CMPIData CMPIAccessor(const char *propertyName, void *parm)
A function type for accessing data during query processing.
Definition: cmpidt.h:645
CMPIContext *(* prepareAttachThread)(const CMPIBroker *mb, const CMPIContext *ctx)
Prepare the MB to accept a new thread that will be using MB functions.
Definition: cmpift.h:332
CMPIStatus(* setErrorType)(const CMPIError *er, const CMPIErrorType et)
Set the ErrorType attribute of a CMPIError object.
Definition: cmpift.h:8364
CMPIrc
An enumeration type that defines CMPI return code values.
Definition: cmpidt.h:883
static CMPISubCond * CMGetSubCondAt(const CMPISelectCond *sc, CMPICount index, CMPIStatus *rc)
Get a subcondition in a CMPISelectCond object by index.
Definition: cmpimacs.h:2158
const CMPIResultFT * ft
Pointer to the function table for this object.
Definition: cmpift.h:4350
static CMPIObjectPath * CMGetObjectPath(const CMPIInstance *inst, CMPIStatus *rc)
Get the instance path component of a CMPIInstance object.
Definition: cmpimacs.h:1343
void * CMPIMsgFileHandle
An opaque type representing a handle to an open message file.
Definition: cmpidt.h:703
CMPIStatus(* deliverIndication)(const CMPIBroker *mb, const CMPIContext *ctx, const char *ns, const CMPIInstance *ind)
Request delivery of an indication.
Definition: cmpift.h:449
CMPIData(* getKeyAt)(const CMPIObjectPath *op, CMPICount index, CMPIString **name, CMPIStatus *rc)
Get a key binding in a CMPIObjectPath object by index.
Definition: cmpift.h:5909
CMPIStatus(* setPropertyWithOrigin)(const CMPIInstance *inst, const char *name, const CMPIValue *value, const CMPIType type, const char *origin)
Add or replace a property value and class origin in a CMPIInstance object by name.
Definition: cmpift.h:5533
CMPILevel
An enumeration type that defines logging levels for trace functions.
Definition: cmpidt.h:1219
CMPIEnumeration *(* associators)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *assocClass, const char *resultClass, const char *role, const char *resultRole, const char **properties, CMPIStatus *rc)
Enumerate the instances associated with a given source instance.
Definition: cmpift.h:1034
static void CMFreeInstance(const CMPIBroker *mb, CMPIInstance *inst)
Release a CMPIInstance object.
Definition: cmpimacs.h:5025
CMPIBoolean(* isOfType)(const CMPIBroker *mb, const void *object, const char *type, CMPIStatus *rc)
Test whether a CMPI encapsulated data type object is of a specified CMPI type.
Definition: cmpift.h:2335
static void CMFreeChars(const CMPIBroker *mb, char *chars)
Free the memory of a C-language string.
Definition: cmpimacs.h:5250
static CMPIEnumeration * CBAssociators(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *assocClass, const char *resultClass, const char *role, const char *resultRole, const char **properties, CMPIStatus *rc)
Enumerate the instances associated with a given source instance.
Definition: cmpimacs.h:3467
CMPIErrorType(* getErrorType)(const CMPIError *er, CMPIStatus *rc)
Get the ErrorType attribute of a CMPIError object.
Definition: cmpift.h:7696
CMPIObjectPath *(* getObjectPath)(const CMPIInstance *inst, CMPIStatus *rc)
Get the instance path component of a CMPIInstance object.
Definition: cmpift.h:5391
static CMPIStatus CMReturnInstance(const CMPIResult *rslt, const CMPIInstance *inst)
Add an instance to a CMPIResult object.
Definition: cmpimacs.h:859
CMPIArray *(* toArray)(const CMPIEnumeration *en, CMPIStatus *rc)
Convert a CMPIEnumeration object to a CMPIArray object.
Definition: cmpift.h:5129
static CMPIStatus CMReturnData(const CMPIResult *rslt, const CMPIValue *value, const CMPIType type)
Add a value/type pair to a CMPIResult object.
Definition: cmpimacs.h:837
static CMPIString * CMGetOtherErrorType(const CMPIError *er, CMPIStatus *rc)
Get the OtherErrorType attribute of a CMPIError object.
Definition: cmpimacs.h:2360
CMPIBoolean(* evaluate)(const CMPISelectExp *se, const CMPIInstance *inst, CMPIStatus *rc)
Test whether an instance matches the select expression in a CMPISelectExp object. ...
Definition: cmpift.h:6748
CMPIType type
Type of the data item.
Definition: cmpidt.h:611
static CMPIData CMGetClassQualifier(const CMPIObjectPath *op, const char *qName, CMPIStatus *rc)
Get a class qualifier.
Definition: cmpimacs.h:1719
static CMPIStatus CMSetOtherErrorSourceFormat(const CMPIError *er, const char *oef)
Set the OtherErrorSourceFormat attribute of a CMPIError object.
Definition: cmpimacs.h:2900
static CMPIInstance * CBGetInstance(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char **properties, CMPIStatus *rc)
Get an existing instance.
Definition: cmpimacs.h:3309
static CMPIArray * CMGetRecommendedActions(const CMPIError *er, CMPIStatus *rc)
Get the RecommendedActions array attribute of a CMPIError object.
Definition: cmpimacs.h:2551
static CMPIStatus CMSetClassName(const CMPIObjectPath *op, const char *cn)
Set class name component in a CMPIObjectPath object.
Definition: cmpimacs.h:1535
CMPIVersion brokerVersion
CMPI version supported by this MB for this function table.
Definition: cmpift.h:287
const CMPIPredicateFT * ft
Pointer to the function table for this object.
Definition: cmpift.h:7350
CMPIString *(* newString)(const CMPIBroker *mb, const char *data, CMPIStatus *rc)
Create a new CMPIString object initialized from a C-language string.
Definition: cmpift.h:2019
const CMPIStringFT * ft
Pointer to the function table for this object.
Definition: cmpift.h:4581
static const char * CMGetCharsPtr(const CMPIString *str, CMPIStatus *rc)
Get a C-language string representation of a CMPIString object.
Definition: cmpimacs.h:993
CMPIStatus(* setObjectPath)(const CMPIInstance *inst, const CMPIObjectPath *op)
Set the instance path component of a CMPIInstance object.
Definition: cmpift.h:5478
CMPIObjectPath *(* createInstance)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *classPath, const CMPIInstance *newInst, CMPIStatus *rc)
Create an instance of a given class.
Definition: cmpift.h:673
CMPICount(* getKeyCount)(const CMPIObjectPath *op, CMPIStatus *rc)
Get the number of key bindings in a CMPIObjectPath object.
Definition: cmpift.h:5935
static void CMFreeArgs(const CMPIBroker *mb, CMPIArgs *args)
Release a CMPIArgs object.
Definition: cmpimacs.h:5089
static void CMFreeSelectExp(const CMPIBroker *mb, CMPISelectExp *se)
Release a CMPISelectExp object.
Definition: cmpimacs.h:5218
CMPIStatus(* addArg)(const CMPIArgs *args, const char *name, const CMPIValue *value, const CMPIType type)
Add or replace a method parameter in a CMPIArgs object.
Definition: cmpift.h:6348
static CMPIStatus CMSetErrorSource(const CMPIError *er, const char *es)
Set the ErrorSource attribute of a CMPIError object.
Definition: cmpimacs.h:2846
static CMPIData CMGetKeyAt(const CMPIObjectPath *op, CMPICount index, CMPIString **name, CMPIStatus *rc)
Get a key binding in a CMPIObjectPath object by index.
Definition: cmpimacs.h:1629
static const char * CBBrokerName(const CMPIBroker *mb)
Get the MB name.
Definition: cmpimacs.h:3114
static CMPIData CMGetParameterQualifier(const CMPIObjectPath *op, const char *mName, const char *pName, const char *qName, CMPIStatus *rc)
Get a parameter qualifier.
Definition: cmpimacs.h:1794
CMPIInstance *(* newInstance)(const CMPIBroker *mb, const CMPIObjectPath *instPath, CMPIStatus *rc)
Create a new CMPIInstance object initialized to a given instance path.
Definition: cmpift.h:1923
static CMPIDateTime * CMNewDateTimeFromBinary(const CMPIBroker *mb, CMPIUint64 binTime, CMPIBoolean interval, CMPIStatus *rc)
Create a new CMPIDateTime object initialized to a specific value.
Definition: cmpimacs.h:4134
void(* freeInstance)(const CMPIBroker *mb, CMPIInstance *inst)
Release a CMPIInstance object.
Definition: cmpift.h:3893
CMPIArgs encapsulated data type object.
Definition: cmpift.h:6240
CMPIEnumeration *(* references)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *resultClass, const char *role, const char **properties, CMPIStatus *rc)
Enumerate the association instances referencing a given source instance.
Definition: cmpift.h:1218
CMPIStatus(* returnData)(const CMPIResult *rslt, const CMPIValue *value, const CMPIType type)
Add a value/type pair to a CMPIResult object.
Definition: cmpift.h:4445
const CMPIPropertyListFT * ft
Pointer to the function table for this object.
Definition: cmpift.h:8696
static CMPIEnumeration * CBReferenceNames(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *resultClass, const char *role, CMPIStatus *rc)
Enumerate the instance paths of the association instances referencing a given source instance...
Definition: cmpimacs.h:3600
static CMPICount CMGetArrayCount(const CMPIArray *ar, CMPIStatus *rc)
Get the number of array elements in a CMPIArray object.
Definition: cmpimacs.h:1059
static CMPIBoolean CDIsOfType(const CMPIBroker *mb, const void *object, const char *type, CMPIStatus *rc)
Test whether an encapsulated data type object is of a specified CMPI type.
Definition: cmpimacs.h:4447
static void CMSetStatusWithString(CMPIStatus *st, CMPIrc rc, CMPIString *msg)
Initializes a CMPIStatus object with CMPIStatus and message.
Definition: cmpimacs.h:256
static CMPIEnumeration * CBAssociatorNames(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *assocClass, const char *resultClass, const char *role, const char *resultRole, CMPIStatus *rc)
Enumerate the instance paths of the instances associated with a given source instance.
Definition: cmpimacs.h:3517
CMPIPredOp
An enumeration type that defines predicate operators in parsed queries.
Definition: cmpidt.h:1169
CMPIData(* getEntry)(const CMPIContext *ctx, const char *name, CMPIStatus *rc)
Get a context entry in a CMPIContext object by name.
Definition: cmpift.h:4212
static CMPIObjectPath * CMNewObjectPath(const CMPIBroker *mb, const char *ns, const char *cn, CMPIStatus *rc)
Create a new CMPIObjectPath initialized to a given namespace and class name.
Definition: cmpimacs.h:3989
static CMPIDateTime * CMNewDateTime(const CMPIBroker *mb, CMPIStatus *rc)
Create a new CMPIDataTime object to the current date and time.
Definition: cmpimacs.h:4104
CMPIData(* getArg)(const CMPIArgs *args, const char *name, CMPIStatus *rc)
Get a method parameter in a CMPIArgs object by name.
Definition: cmpift.h:6374
CMPIType(* getSimpleType)(const CMPIArray *ar, CMPIStatus *rc)
Get the type of the array elements in a CMPIArray object.
Definition: cmpift.h:4863
CMPIData(* getClassQualifier)(const CMPIObjectPath *op, const char *qName, CMPIStatus *rc)
Get a class qualifier.
Definition: cmpift.h:6027
static CMPIVersion CBBrokerVersion(const CMPIBroker *mb)
Get the CMPI version supported by the MB.
Definition: cmpimacs.h:3093
CMPIErrorSeverity(* getPerceivedSeverity)(const CMPIError *er, CMPIStatus *rc)
Get the PerceivedSeverity attribute of a CMPIError object.
Definition: cmpift.h:7927
static CMPIString * CMGetStringFormat(const CMPIDateTime *dt, CMPIStatus *rc)
Get the value of a CMPIDateTime object in the string format defined for the CIM datetime type...
Definition: cmpimacs.h:1955
const CMPIContextFT * ft
Pointer to the function table for this object.
Definition: cmpift.h:4108
static CMPIContext * CBPrepareAttachThread(const CMPIBroker *mb, const CMPIContext *ctx)
Prepare the MB to accept a new thread that will be using MB functions.
Definition: cmpimacs.h:3151
CMPIBoolean(* match)(const CMPIEnumerationFilter *ef, const CMPIInstance *inst, CMPIStatus *rc)
Test whether an instance matches the filter represented by a CMPIEnumerationFilter object...
Definition: cmpift.h:8989
CMPIEnumeration *(* referencesFiltered)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *resultClass, const char *role, const char **properties, const char *filterQueryLanguage, const char *filterQuery, CMPIStatus *rc)
Enumerate the instances referencing a given source instance, returning only those that match the give...
Definition: cmpift.h:1832
CMPISeverity
An enumeration type that defines severity levels for logging functions.
Definition: cmpidt.h:1199
static CMPIEnumeration * CBAssociatorsFiltered(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *assocClass, const char *resultClass, const char *role, const char *resultRole, const char **properties, const char *filterQueryLanguage, const char *filterQuery, CMPIStatus *rc)
Enumerate the instances associated with a given source instance, returning only those that match the ...
Definition: cmpimacs.h:3837
CMPIData(* getArgAt)(const CMPIArgs *args, CMPICount index, CMPIString **name, CMPIStatus *rc)
Get a method parameter in a CMPIArgs object by index.
Definition: cmpift.h:6413
const CMPISelectCondFT * ft
Pointer to the function table for this object.
Definition: cmpift.h:6936
static CMPIStatus CMSetProperty(const CMPIInstance *inst, const char *name, const CMPIValue *value, const CMPIType type)
Add or replace a property value in a CMPIInstance object by name.
Definition: cmpimacs.h:1320
CMPIEnumeration *(* enumerateInstances)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *classPath, const char **properties, CMPIStatus *rc)
Enumerate the instances of a given class (and its subclasses).
Definition: cmpift.h:935
CMPIArray encapsulated data type object.
Definition: cmpift.h:4737
static CMPIString * CMGetErrorSource(const CMPIError *er, CMPIStatus *rc)
Get the ErrorSource attribute of a CMPIError object.
Definition: cmpimacs.h:2577
static CMPIStatus CMSetProbableCauseDescription(const CMPIError *er, const char *pcd)
Set the ProbableCauseDescription attribute of a CMPIError object.
Definition: cmpimacs.h:2793