3(2005-06-09)

πŸ“¦
version 2.2.9~rc1 Β· 2 versions
, in centos-stream 10, centos-stream 9, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0

πŸ’– NAME πŸ’–

CMPIObjectPath β€” the CMPIObjectPath class implementation, bestie. It's giving object path royalty. πŸ‘‘


✨ SYNOPSIS ✨

🌸 Public Attributes 🌸

  • int void * hdl β€” an opaque pointer to the class instance data. iykyk, you don't peek inside, you just hold it. πŸ™ˆ
  • CMPIObjectPathFT * ft β€” a pointer to the Args Function Table. This is the plug you pull every single method through, no cap. πŸ”Œ

πŸ¦‹ METHODS πŸ¦‹

Okay so every one of these lives on the function table, so you call them like op->ft->whatever(...). Let's go, one by one, nothing skipped:

  • CMPIStatus(* release )(CMPIObjectPath *op) β€” tells the world you're done with this ObjectPath object forever, and the CMPI run time system is free to yeet it. Bye babe 🫢
  • CMPIObjectPath *(* clone )(CMPIObjectPath *op, CMPIStatus *rc) β€” makes a fully independent copy of this ObjectPath object. Not a situationship copy, a real independent one. ✨
  • CMPIStatus(* setNameSpace )(CMPIObjectPath *op, const char *ns) β€” sets or replaces the namespace component. glow-up for ns. πŸ’…
  • CMPIString *(* getNameSpace )(CMPIObjectPath *op, CMPIStatus *rc) β€” hands you the namespace component back.
  • CMPIStatus(* setHostname )(CMPIObjectPath *op, const char *hn) β€” sets or replaces the hostname component. hi hn πŸ‘‹
  • CMPIString *(* getHostname )(CMPIObjectPath *op, CMPIStatus *rc) β€” gets the hostname component.
  • CMPIStatus(* setClassName )(CMPIObjectPath *op, const char *cn) β€” sets or replaces the classname component. main character behavior tbh. πŸ‘‘
  • CMPIString *(* getClassName )(CMPIObjectPath *op, CMPIStatus *rc) β€” gets the classname component.
  • CMPIStatus(* addKey )(CMPIObjectPath *op, const char *name, CMPIValue *value, CMPIType type) β€” adds or replaces a named key property. new key dropped, slay πŸ”‘
  • CMPIData(* getKey )(CMPIObjectPath *op, const char *name, CMPIStatus *rc) β€” gets the value of a named key property.
  • CMPIData(* getKeyAt )(CMPIObjectPath *op, unsigned int index, CMPIString **name, CMPIStatus *rc) β€” gets a key property value by its index, like pulling a card out of the deck. πŸƒ
  • unsigned int(* getKeyCount )(CMPIObjectPath *op, CMPIStatus *rc) β€” tells you how many key properties this ObjectPath is carrying. headcount, fr fr πŸ”’
  • CMPIStatus(* setNameSpaceFromObjectPath )(CMPIObjectPath *op, CMPIObjectPath *src) β€” sets or replaces the namespace and classname components, taking them from src. 🧚
  • CMPIStatus(* setHostAndNameSpaceFromObjectPath )(CMPIObjectPath *op, CMPIObjectPath *src) β€” sets or replaces the hostname, namespace and classname components, all from src. the full package. πŸŽ€
  • CMPIData(* getClassQualifier )(CMPIObjectPath *op, const char *qName, CMPIStatus *rc) β€” gets a class qualifier value.
  • CMPIData(* getPropertyQualifier )(CMPIObjectPath *op, const char *pName, const char *qName, CMPIStatus *rc) β€” gets a property qualifier value.
  • CMPIData(* getMethodQualifier )(CMPIObjectPath *op, const char *methodName, const char *qName, CMPIStatus *rc) β€” gets a method qualifier value.
  • CMPIData(* getParameterQualifier )(CMPIObjectPath *op, const char *mName, const char *pName, const char *qName, CMPIStatus *rc) β€” gets a method parameter quailifier value. (yes, the original says quailifier, we love her, typo and all πŸ₯Ή)
  • CMPIString *(* toString )(CMPIObjectPath *op, CMPIStatus *rc) β€” generates a well formed string representation of this ObjectPath. your fave in string form, iconic. 🌈

πŸ‘‘ DESCRIPTION πŸ‘‘

Native CMPIObjectPath implementation. periodt.

This is the native CMPIObjectPath implementation, the one used for remote providers. It reflects the well-defined interface of a regular CMPIObjectPath, but plot twist: it works independently from the management broker. πŸ’…

It is part of a native broker implementation that simulates CMPI data types rather than interacting with the entities in a full-grown CIMOM. like, it's cosplaying the data types instead of actually talking to the whole big system. πŸ¦‹


πŸ“ Examples πŸ“

here's the vibe in code, bestie β€” copy it exactly, no notes:

CMPIString * namespace = objpath->ft->getNameSpace(objectpath, NULL);
CMPIString * classname = objpath->ft->getClassName(objectpath, NULL);
int numkeys = objectpath->ft->getKeyCount(objectpath, NULL);

see how the NULL is just chilling in the rc slot? that's the energy. ✨


🌟 SEE ALSO 🌟

  • Common Manageability Programming Interface (CMPI) - OpenGroup

that's the whole page, babe πŸ’œ this one came from the SFCBroker Client Library, version sfcc, manual section 3, dated 2005-06-09. ancient. iconic. we stan a legacy page. 🫢✨