class Cmpi::CMPIObjectPath
Represents the access path to a class or an instance
Attributes
typemap[RW]
Public Instance Methods
add_key(p1, p2, p3)
click to toggle source
Adds/replaces a named key property.
name: Key property name. value: Address of value structure. type: Value type.
void add_key(
const char *name,
const CMPIValue* value,
const CMPIType type)
{
RAISE_IF(CMAddKey($self, name, value, type));
}
%rename("key") get_key(const char *name);
%alias get_key "[]";
/* Gets a named key property value.
* name: Key property name.
*/
VALUE get_key(VALUE property)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
const char *name;
name = target_charptr(property);
result = CMGetKey($self, name, &st);
/* key not found is ok, will return NULL */
if (st.rc != CMPI_RC_ERR_NOT_FOUND) {
RAISE_IF(st);
}
return data_value(&result);
}
%newobject get_key_at;
#if defined (SWIGRUBY)
%rename("key_at") get_key_at(int index);
VALUE
#endif
#if defined (SWIGPYTHON)
PyObject*
#endif
#if defined (SWIGPERL)
SV*
#endif
/* Gets a key property [value,name] defined by its index.
* name: [out] Key property name
*/
__type get_key_at(int index) {
Target_Type tdata;
CMPIString *s = NULL;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData data = CMGetKeyAt($self, index, &s, &st);
Target_Type result;
if (st.rc)
{
RAISE_IF(st);
result = Target_Null;
Target_INCREF(result);
return result;
}
TARGET_THREAD_BEGIN_BLOCK;
tdata = data_data(&data);
#if defined (SWIGPYTHON)
result = PyTuple_New(2);
PyTuple_SetItem(result, 0, tdata);
PyTuple_SetItem(result, 1, PyString_FromString(CMGetCharPtr(s)));
#else
result = Target_SizedArray(2);
Target_Append(result, tdata);
Target_Append(result, Target_String(CMGetCharPtr(s)));
#endif
TARGET_THREAD_END_BLOCK;
CMRelease(s);
return result;
}
/* Gets the number of key properties contained in this ObjectPath. */
int key_count()
{
CMPIStatus st = { CMPI_RC_OK, NULL };
int result;
result = CMGetKeyCount($self, &st);
RAISE_IF(st);
return result;
}
/* iterate over keys as [<value>,<name>] pairs */
void each()
{
int i;
int count = CMGetKeyCount($self, NULL);
CMPIString *name;
for (i = 0; i < count; ++i )
{
VALUE yield = rb_ary_new2(2);
name = NULL;
CMPIData data = CMGetKeyAt($self, i, &name, NULL);
VALUE rbdata = data_data(&data);
rb_ary_push(yield, rbdata);
rb_ary_push(yield, rb_str_new2(CMGetCharPtr(name)));
CMRelease(name);
rb_yield(yield);
}
}
/* Set/replace namespace and classname components from +src+. */
void replace_from(const CMPIObjectPath * src)
{
RAISE_IF(CMSetNameSpaceFromObjectPath($self, src));
}
/* Set/replace hostname, namespace and classname components from +src+.
*/
void replace_all_from(const CMPIObjectPath * src)
{
RAISE_IF(CMSetHostAndNameSpaceFromObjectPath($self, src));
}
/* Get class qualifier value.
* +qName+: Qualifier name.
*/
CMPIData qualifier(const char *qname)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetClassQualifier($self, qname, &st);
RAISE_IF(st);
return result;
}
/* Get property qualifier value.
* +pName+: Property name.
* +qName+: Qualifier name.
*/
CMPIData property_qualifier(const char *pName, const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetPropertyQualifier($self, pName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get method qualifier value.
* mName: Method name.
* qName: Qualifier name.
*/
CMPIData method_qualifier(const char *methodName, const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetMethodQualifier($self, methodName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get method parameter qualifier value.
* mName: Method name.
* pName: Parameter name.
* qName: Qualifier name.
*/
CMPIData parameter_qualifier(
const char *mName,
const char *pName,
const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetParameterQualifier($self, mName, pName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get the namespace component. */
%newobject namespace;
const char *namespace()
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetNameSpace($self, &st);
const char* result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the namespace component. */
%rename("namespace=") set_namespace(const char *nm);
void set_namespace(const char *nm)
{
RAISE_IF(CMSetNameSpace($self, nm));
}
/* Set/replace the hostname component. */
%rename("hostname=") set_hostname(const char *hostname);
void set_hostname(const char *hostname)
{
RAISE_IF(CMSetHostname($self, hostname));
}
/* Get the hostname component. */
%newobject hostname;
const char *hostname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetHostname($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the classname component. */
%rename("classname=") set_classname(const char *classname);
void set_classname(const char *classname)
{
RAISE_IF(CMSetClassName($self, classname));
}
/* Get the classname component. */
%newobject classname;
const char *classname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetClassName($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
}
classname()
click to toggle source
const char *classname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetClassName($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
}
classname=(p1)
click to toggle source
void set_classname(const char *classname)
{
RAISE_IF(CMSetClassName($self, classname));
}
/* Get the classname component. */
%newobject classname;
const char *classname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetClassName($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
}
clone()
click to toggle source
if clone()
each()
click to toggle source
iterate over keys as [<value>,<name>] pairs
void each()
{
int i;
int count = CMGetKeyCount($self, NULL);
CMPIString *name;
for (i = 0; i < count; ++i )
{
VALUE yield = rb_ary_new2(2);
name = NULL;
CMPIData data = CMGetKeyAt($self, i, &name, NULL);
VALUE rbdata = data_data(&data);
rb_ary_push(yield, rbdata);
rb_ary_push(yield, rb_str_new2(CMGetCharPtr(name)));
CMRelease(name);
rb_yield(yield);
}
}
/* Set/replace namespace and classname components from +src+. */
void replace_from(const CMPIObjectPath * src)
{
RAISE_IF(CMSetNameSpaceFromObjectPath($self, src));
}
/* Set/replace hostname, namespace and classname components from +src+.
*/
void replace_all_from(const CMPIObjectPath * src)
{
RAISE_IF(CMSetHostAndNameSpaceFromObjectPath($self, src));
}
/* Get class qualifier value.
* +qName+: Qualifier name.
*/
CMPIData qualifier(const char *qname)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetClassQualifier($self, qname, &st);
RAISE_IF(st);
return result;
}
/* Get property qualifier value.
* +pName+: Property name.
* +qName+: Qualifier name.
*/
CMPIData property_qualifier(const char *pName, const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetPropertyQualifier($self, pName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get method qualifier value.
* mName: Method name.
* qName: Qualifier name.
*/
CMPIData method_qualifier(const char *methodName, const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetMethodQualifier($self, methodName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get method parameter qualifier value.
* mName: Method name.
* pName: Parameter name.
* qName: Qualifier name.
*/
CMPIData parameter_qualifier(
const char *mName,
const char *pName,
const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetParameterQualifier($self, mName, pName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get the namespace component. */
%newobject namespace;
const char *namespace()
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetNameSpace($self, &st);
const char* result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the namespace component. */
%rename("namespace=") set_namespace(const char *nm);
void set_namespace(const char *nm)
{
RAISE_IF(CMSetNameSpace($self, nm));
}
/* Set/replace the hostname component. */
%rename("hostname=") set_hostname(const char *hostname);
void set_hostname(const char *hostname)
{
RAISE_IF(CMSetHostname($self, hostname));
}
/* Get the hostname component. */
%newobject hostname;
const char *hostname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetHostname($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the classname component. */
%rename("classname=") set_classname(const char *classname);
void set_classname(const char *classname)
{
RAISE_IF(CMSetClassName($self, classname));
}
/* Get the classname component. */
%newobject classname;
const char *classname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetClassName($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
}
hostname()
click to toggle source
const char *hostname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetHostname($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the classname component. */
%rename("classname=") set_classname(const char *classname);
void set_classname(const char *classname)
{
RAISE_IF(CMSetClassName($self, classname));
}
/* Get the classname component. */
%newobject classname;
const char *classname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetClassName($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
}
hostname=(p1)
click to toggle source
void set_hostname(const char *hostname)
{
RAISE_IF(CMSetHostname($self, hostname));
}
/* Get the hostname component. */
%newobject hostname;
const char *hostname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetHostname($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the classname component. */
%rename("classname=") set_classname(const char *classname);
void set_classname(const char *classname)
{
RAISE_IF(CMSetClassName($self, classname));
}
/* Get the classname component. */
%newobject classname;
const char *classname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetClassName($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
}
key(p1)
click to toggle source
Gets a named key property value.
name: Key property name.
VALUE get_key(VALUE property)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
const char *name;
name = target_charptr(property);
result = CMGetKey($self, name, &st);
/* key not found is ok, will return NULL */
if (st.rc != CMPI_RC_ERR_NOT_FOUND) {
RAISE_IF(st);
}
return data_value(&result);
}
%newobject get_key_at;
#if defined (SWIGRUBY)
%rename("key_at") get_key_at(int index);
VALUE
#endif
#if defined (SWIGPYTHON)
PyObject*
#endif
#if defined (SWIGPERL)
SV*
#endif
/* Gets a key property [value,name] defined by its index.
* name: [out] Key property name
*/
__type get_key_at(int index) {
Target_Type tdata;
CMPIString *s = NULL;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData data = CMGetKeyAt($self, index, &s, &st);
Target_Type result;
if (st.rc)
{
RAISE_IF(st);
result = Target_Null;
Target_INCREF(result);
return result;
}
TARGET_THREAD_BEGIN_BLOCK;
tdata = data_data(&data);
#if defined (SWIGPYTHON)
result = PyTuple_New(2);
PyTuple_SetItem(result, 0, tdata);
PyTuple_SetItem(result, 1, PyString_FromString(CMGetCharPtr(s)));
#else
result = Target_SizedArray(2);
Target_Append(result, tdata);
Target_Append(result, Target_String(CMGetCharPtr(s)));
#endif
TARGET_THREAD_END_BLOCK;
CMRelease(s);
return result;
}
/* Gets the number of key properties contained in this ObjectPath. */
int key_count()
{
CMPIStatus st = { CMPI_RC_OK, NULL };
int result;
result = CMGetKeyCount($self, &st);
RAISE_IF(st);
return result;
}
/* iterate over keys as [<value>,<name>] pairs */
void each()
{
int i;
int count = CMGetKeyCount($self, NULL);
CMPIString *name;
for (i = 0; i < count; ++i )
{
VALUE yield = rb_ary_new2(2);
name = NULL;
CMPIData data = CMGetKeyAt($self, i, &name, NULL);
VALUE rbdata = data_data(&data);
rb_ary_push(yield, rbdata);
rb_ary_push(yield, rb_str_new2(CMGetCharPtr(name)));
CMRelease(name);
rb_yield(yield);
}
}
/* Set/replace namespace and classname components from +src+. */
void replace_from(const CMPIObjectPath * src)
{
RAISE_IF(CMSetNameSpaceFromObjectPath($self, src));
}
/* Set/replace hostname, namespace and classname components from +src+.
*/
void replace_all_from(const CMPIObjectPath * src)
{
RAISE_IF(CMSetHostAndNameSpaceFromObjectPath($self, src));
}
/* Get class qualifier value.
* +qName+: Qualifier name.
*/
CMPIData qualifier(const char *qname)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetClassQualifier($self, qname, &st);
RAISE_IF(st);
return result;
}
/* Get property qualifier value.
* +pName+: Property name.
* +qName+: Qualifier name.
*/
CMPIData property_qualifier(const char *pName, const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetPropertyQualifier($self, pName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get method qualifier value.
* mName: Method name.
* qName: Qualifier name.
*/
CMPIData method_qualifier(const char *methodName, const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetMethodQualifier($self, methodName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get method parameter qualifier value.
* mName: Method name.
* pName: Parameter name.
* qName: Qualifier name.
*/
CMPIData parameter_qualifier(
const char *mName,
const char *pName,
const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetParameterQualifier($self, mName, pName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get the namespace component. */
%newobject namespace;
const char *namespace()
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetNameSpace($self, &st);
const char* result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the namespace component. */
%rename("namespace=") set_namespace(const char *nm);
void set_namespace(const char *nm)
{
RAISE_IF(CMSetNameSpace($self, nm));
}
/* Set/replace the hostname component. */
%rename("hostname=") set_hostname(const char *hostname);
void set_hostname(const char *hostname)
{
RAISE_IF(CMSetHostname($self, hostname));
}
/* Get the hostname component. */
%newobject hostname;
const char *hostname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetHostname($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the classname component. */
%rename("classname=") set_classname(const char *classname);
void set_classname(const char *classname)
{
RAISE_IF(CMSetClassName($self, classname));
}
/* Get the classname component. */
%newobject classname;
const char *classname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetClassName($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
}
key_at(p1)
click to toggle source
Gets a key property [value,name] defined by its index.
name: [out] Key property name
__type get_key_at(int index) {
Target_Type tdata;
CMPIString *s = NULL;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData data = CMGetKeyAt($self, index, &s, &st);
Target_Type result;
if (st.rc)
{
RAISE_IF(st);
result = Target_Null;
Target_INCREF(result);
return result;
}
TARGET_THREAD_BEGIN_BLOCK;
tdata = data_data(&data);
#if defined (SWIGPYTHON)
result = PyTuple_New(2);
PyTuple_SetItem(result, 0, tdata);
PyTuple_SetItem(result, 1, PyString_FromString(CMGetCharPtr(s)));
#else
result = Target_SizedArray(2);
Target_Append(result, tdata);
Target_Append(result, Target_String(CMGetCharPtr(s)));
#endif
TARGET_THREAD_END_BLOCK;
CMRelease(s);
return result;
}
/* Gets the number of key properties contained in this ObjectPath. */
int key_count()
{
CMPIStatus st = { CMPI_RC_OK, NULL };
int result;
result = CMGetKeyCount($self, &st);
RAISE_IF(st);
return result;
}
/* iterate over keys as [<value>,<name>] pairs */
void each()
{
int i;
int count = CMGetKeyCount($self, NULL);
CMPIString *name;
for (i = 0; i < count; ++i )
{
VALUE yield = rb_ary_new2(2);
name = NULL;
CMPIData data = CMGetKeyAt($self, i, &name, NULL);
VALUE rbdata = data_data(&data);
rb_ary_push(yield, rbdata);
rb_ary_push(yield, rb_str_new2(CMGetCharPtr(name)));
CMRelease(name);
rb_yield(yield);
}
}
/* Set/replace namespace and classname components from +src+. */
void replace_from(const CMPIObjectPath * src)
{
RAISE_IF(CMSetNameSpaceFromObjectPath($self, src));
}
/* Set/replace hostname, namespace and classname components from +src+.
*/
void replace_all_from(const CMPIObjectPath * src)
{
RAISE_IF(CMSetHostAndNameSpaceFromObjectPath($self, src));
}
/* Get class qualifier value.
* +qName+: Qualifier name.
*/
CMPIData qualifier(const char *qname)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetClassQualifier($self, qname, &st);
RAISE_IF(st);
return result;
}
/* Get property qualifier value.
* +pName+: Property name.
* +qName+: Qualifier name.
*/
CMPIData property_qualifier(const char *pName, const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetPropertyQualifier($self, pName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get method qualifier value.
* mName: Method name.
* qName: Qualifier name.
*/
CMPIData method_qualifier(const char *methodName, const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetMethodQualifier($self, methodName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get method parameter qualifier value.
* mName: Method name.
* pName: Parameter name.
* qName: Qualifier name.
*/
CMPIData parameter_qualifier(
const char *mName,
const char *pName,
const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetParameterQualifier($self, mName, pName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get the namespace component. */
%newobject namespace;
const char *namespace()
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetNameSpace($self, &st);
const char* result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the namespace component. */
%rename("namespace=") set_namespace(const char *nm);
void set_namespace(const char *nm)
{
RAISE_IF(CMSetNameSpace($self, nm));
}
/* Set/replace the hostname component. */
%rename("hostname=") set_hostname(const char *hostname);
void set_hostname(const char *hostname)
{
RAISE_IF(CMSetHostname($self, hostname));
}
/* Get the hostname component. */
%newobject hostname;
const char *hostname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetHostname($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the classname component. */
%rename("classname=") set_classname(const char *classname);
void set_classname(const char *classname)
{
RAISE_IF(CMSetClassName($self, classname));
}
/* Get the classname component. */
%newobject classname;
const char *classname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetClassName($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
}
key_count()
click to toggle source
Gets the number of key properties contained in this ObjectPath.
int key_count()
{
CMPIStatus st = { CMPI_RC_OK, NULL };
int result;
result = CMGetKeyCount($self, &st);
RAISE_IF(st);
return result;
}
/* iterate over keys as [<value>,<name>] pairs */
void each()
{
int i;
int count = CMGetKeyCount($self, NULL);
CMPIString *name;
for (i = 0; i < count; ++i )
{
VALUE yield = rb_ary_new2(2);
name = NULL;
CMPIData data = CMGetKeyAt($self, i, &name, NULL);
VALUE rbdata = data_data(&data);
rb_ary_push(yield, rbdata);
rb_ary_push(yield, rb_str_new2(CMGetCharPtr(name)));
CMRelease(name);
rb_yield(yield);
}
}
/* Set/replace namespace and classname components from +src+. */
void replace_from(const CMPIObjectPath * src)
{
RAISE_IF(CMSetNameSpaceFromObjectPath($self, src));
}
/* Set/replace hostname, namespace and classname components from +src+.
*/
void replace_all_from(const CMPIObjectPath * src)
{
RAISE_IF(CMSetHostAndNameSpaceFromObjectPath($self, src));
}
/* Get class qualifier value.
* +qName+: Qualifier name.
*/
CMPIData qualifier(const char *qname)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetClassQualifier($self, qname, &st);
RAISE_IF(st);
return result;
}
/* Get property qualifier value.
* +pName+: Property name.
* +qName+: Qualifier name.
*/
CMPIData property_qualifier(const char *pName, const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetPropertyQualifier($self, pName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get method qualifier value.
* mName: Method name.
* qName: Qualifier name.
*/
CMPIData method_qualifier(const char *methodName, const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetMethodQualifier($self, methodName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get method parameter qualifier value.
* mName: Method name.
* pName: Parameter name.
* qName: Qualifier name.
*/
CMPIData parameter_qualifier(
const char *mName,
const char *pName,
const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetParameterQualifier($self, mName, pName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get the namespace component. */
%newobject namespace;
const char *namespace()
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetNameSpace($self, &st);
const char* result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the namespace component. */
%rename("namespace=") set_namespace(const char *nm);
void set_namespace(const char *nm)
{
RAISE_IF(CMSetNameSpace($self, nm));
}
/* Set/replace the hostname component. */
%rename("hostname=") set_hostname(const char *hostname);
void set_hostname(const char *hostname)
{
RAISE_IF(CMSetHostname($self, hostname));
}
/* Get the hostname component. */
%newobject hostname;
const char *hostname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetHostname($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the classname component. */
%rename("classname=") set_classname(const char *classname);
void set_classname(const char *classname)
{
RAISE_IF(CMSetClassName($self, classname));
}
/* Get the classname component. */
%newobject classname;
const char *classname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetClassName($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
}
method_missing(name, *args)
click to toggle source
Allow Ref.Property and Ref.Property=
# File cmpi.rb, line 483 def method_missing name, *args s = name.to_s if s =~ /=$/ v = args[0] n = s.chop # -> http://blog.sidu.in/2008/02/loading-classes-from-strings-in-ruby.html unless @typemap begin @typemap = Cmpi.const_get(self.classname).typemap rescue NameError raise RCErrInvalidClass.new(CMPI_RC_ERR_INVALID_CLASS, "Cmpi::#{self.classname}.typemap not defined") end end t = @typemap[n] raise RCErrNotFound.new(CMPI_RC_ERR_NOT_FOUND, "Property '#{n}' of Cmpi::#{self.classname}.typemap not defined") unless t # STDERR.printf "ObjectPath.%s = %s[%s]:%04x\n" % [n, v, v.class, t] self[n,v] = t else # STDERR.puts "CMPIObjectPath.#{name} -> #{self[s].inspect}" self[s] end end
method_qualifier(p1, p2)
click to toggle source
Get method qualifier value.
mName: Method name. qName: Qualifier name.
CMPIData method_qualifier(const char *methodName, const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetMethodQualifier($self, methodName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get method parameter qualifier value.
* mName: Method name.
* pName: Parameter name.
* qName: Qualifier name.
*/
CMPIData parameter_qualifier(
const char *mName,
const char *pName,
const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetParameterQualifier($self, mName, pName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get the namespace component. */
%newobject namespace;
const char *namespace()
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetNameSpace($self, &st);
const char* result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the namespace component. */
%rename("namespace=") set_namespace(const char *nm);
void set_namespace(const char *nm)
{
RAISE_IF(CMSetNameSpace($self, nm));
}
/* Set/replace the hostname component. */
%rename("hostname=") set_hostname(const char *hostname);
void set_hostname(const char *hostname)
{
RAISE_IF(CMSetHostname($self, hostname));
}
/* Get the hostname component. */
%newobject hostname;
const char *hostname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetHostname($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the classname component. */
%rename("classname=") set_classname(const char *classname);
void set_classname(const char *classname)
{
RAISE_IF(CMSetClassName($self, classname));
}
/* Get the classname component. */
%newobject classname;
const char *classname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetClassName($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
}
namespace()
click to toggle source
const char *namespace()
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetNameSpace($self, &st);
const char* result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the namespace component. */
%rename("namespace=") set_namespace(const char *nm);
void set_namespace(const char *nm)
{
RAISE_IF(CMSetNameSpace($self, nm));
}
/* Set/replace the hostname component. */
%rename("hostname=") set_hostname(const char *hostname);
void set_hostname(const char *hostname)
{
RAISE_IF(CMSetHostname($self, hostname));
}
/* Get the hostname component. */
%newobject hostname;
const char *hostname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetHostname($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the classname component. */
%rename("classname=") set_classname(const char *classname);
void set_classname(const char *classname)
{
RAISE_IF(CMSetClassName($self, classname));
}
/* Get the classname component. */
%newobject classname;
const char *classname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetClassName($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
}
namespace=(p1)
click to toggle source
void set_namespace(const char *nm)
{
RAISE_IF(CMSetNameSpace($self, nm));
}
/* Set/replace the hostname component. */
%rename("hostname=") set_hostname(const char *hostname);
void set_hostname(const char *hostname)
{
RAISE_IF(CMSetHostname($self, hostname));
}
/* Get the hostname component. */
%newobject hostname;
const char *hostname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetHostname($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the classname component. */
%rename("classname=") set_classname(const char *classname);
void set_classname(const char *classname)
{
RAISE_IF(CMSetClassName($self, classname));
}
/* Get the classname component. */
%newobject classname;
const char *classname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetClassName($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
}
parameter_qualifier(p1, p2, p3)
click to toggle source
Get method parameter qualifier value.
mName: Method name. pName: Parameter name. qName: Qualifier name.
CMPIData parameter_qualifier(
const char *mName,
const char *pName,
const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetParameterQualifier($self, mName, pName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get the namespace component. */
%newobject namespace;
const char *namespace()
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetNameSpace($self, &st);
const char* result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the namespace component. */
%rename("namespace=") set_namespace(const char *nm);
void set_namespace(const char *nm)
{
RAISE_IF(CMSetNameSpace($self, nm));
}
/* Set/replace the hostname component. */
%rename("hostname=") set_hostname(const char *hostname);
void set_hostname(const char *hostname)
{
RAISE_IF(CMSetHostname($self, hostname));
}
/* Get the hostname component. */
%newobject hostname;
const char *hostname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetHostname($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the classname component. */
%rename("classname=") set_classname(const char *classname);
void set_classname(const char *classname)
{
RAISE_IF(CMSetClassName($self, classname));
}
/* Get the classname component. */
%newobject classname;
const char *classname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetClassName($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
}
property_qualifier(p1, p2)
click to toggle source
Get property qualifier value.
+pName+: Property name. +qName+: Qualifier name.
CMPIData property_qualifier(const char *pName, const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetPropertyQualifier($self, pName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get method qualifier value.
* mName: Method name.
* qName: Qualifier name.
*/
CMPIData method_qualifier(const char *methodName, const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetMethodQualifier($self, methodName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get method parameter qualifier value.
* mName: Method name.
* pName: Parameter name.
* qName: Qualifier name.
*/
CMPIData parameter_qualifier(
const char *mName,
const char *pName,
const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetParameterQualifier($self, mName, pName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get the namespace component. */
%newobject namespace;
const char *namespace()
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetNameSpace($self, &st);
const char* result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the namespace component. */
%rename("namespace=") set_namespace(const char *nm);
void set_namespace(const char *nm)
{
RAISE_IF(CMSetNameSpace($self, nm));
}
/* Set/replace the hostname component. */
%rename("hostname=") set_hostname(const char *hostname);
void set_hostname(const char *hostname)
{
RAISE_IF(CMSetHostname($self, hostname));
}
/* Get the hostname component. */
%newobject hostname;
const char *hostname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetHostname($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the classname component. */
%rename("classname=") set_classname(const char *classname);
void set_classname(const char *classname)
{
RAISE_IF(CMSetClassName($self, classname));
}
/* Get the classname component. */
%newobject classname;
const char *classname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetClassName($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
}
qualifier(p1)
click to toggle source
Get class qualifier value.
+qName+: Qualifier name.
CMPIData qualifier(const char *qname)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetClassQualifier($self, qname, &st);
RAISE_IF(st);
return result;
}
/* Get property qualifier value.
* +pName+: Property name.
* +qName+: Qualifier name.
*/
CMPIData property_qualifier(const char *pName, const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetPropertyQualifier($self, pName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get method qualifier value.
* mName: Method name.
* qName: Qualifier name.
*/
CMPIData method_qualifier(const char *methodName, const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetMethodQualifier($self, methodName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get method parameter qualifier value.
* mName: Method name.
* pName: Parameter name.
* qName: Qualifier name.
*/
CMPIData parameter_qualifier(
const char *mName,
const char *pName,
const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetParameterQualifier($self, mName, pName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get the namespace component. */
%newobject namespace;
const char *namespace()
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetNameSpace($self, &st);
const char* result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the namespace component. */
%rename("namespace=") set_namespace(const char *nm);
void set_namespace(const char *nm)
{
RAISE_IF(CMSetNameSpace($self, nm));
}
/* Set/replace the hostname component. */
%rename("hostname=") set_hostname(const char *hostname);
void set_hostname(const char *hostname)
{
RAISE_IF(CMSetHostname($self, hostname));
}
/* Get the hostname component. */
%newobject hostname;
const char *hostname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetHostname($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the classname component. */
%rename("classname=") set_classname(const char *classname);
void set_classname(const char *classname)
{
RAISE_IF(CMSetClassName($self, classname));
}
/* Get the classname component. */
%newobject classname;
const char *classname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetClassName($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
}
replace_all_from(p1)
click to toggle source
Set/replace hostname, namespace and classname components from
src.
void replace_all_from(const CMPIObjectPath * src)
{
RAISE_IF(CMSetHostAndNameSpaceFromObjectPath($self, src));
}
/* Get class qualifier value.
* +qName+: Qualifier name.
*/
CMPIData qualifier(const char *qname)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetClassQualifier($self, qname, &st);
RAISE_IF(st);
return result;
}
/* Get property qualifier value.
* +pName+: Property name.
* +qName+: Qualifier name.
*/
CMPIData property_qualifier(const char *pName, const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetPropertyQualifier($self, pName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get method qualifier value.
* mName: Method name.
* qName: Qualifier name.
*/
CMPIData method_qualifier(const char *methodName, const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetMethodQualifier($self, methodName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get method parameter qualifier value.
* mName: Method name.
* pName: Parameter name.
* qName: Qualifier name.
*/
CMPIData parameter_qualifier(
const char *mName,
const char *pName,
const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetParameterQualifier($self, mName, pName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get the namespace component. */
%newobject namespace;
const char *namespace()
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetNameSpace($self, &st);
const char* result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the namespace component. */
%rename("namespace=") set_namespace(const char *nm);
void set_namespace(const char *nm)
{
RAISE_IF(CMSetNameSpace($self, nm));
}
/* Set/replace the hostname component. */
%rename("hostname=") set_hostname(const char *hostname);
void set_hostname(const char *hostname)
{
RAISE_IF(CMSetHostname($self, hostname));
}
/* Get the hostname component. */
%newobject hostname;
const char *hostname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetHostname($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the classname component. */
%rename("classname=") set_classname(const char *classname);
void set_classname(const char *classname)
{
RAISE_IF(CMSetClassName($self, classname));
}
/* Get the classname component. */
%newobject classname;
const char *classname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetClassName($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
}
replace_from(p1)
click to toggle source
Set/replace namespace and classname components from src.
void replace_from(const CMPIObjectPath * src)
{
RAISE_IF(CMSetNameSpaceFromObjectPath($self, src));
}
/* Set/replace hostname, namespace and classname components from +src+.
*/
void replace_all_from(const CMPIObjectPath * src)
{
RAISE_IF(CMSetHostAndNameSpaceFromObjectPath($self, src));
}
/* Get class qualifier value.
* +qName+: Qualifier name.
*/
CMPIData qualifier(const char *qname)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetClassQualifier($self, qname, &st);
RAISE_IF(st);
return result;
}
/* Get property qualifier value.
* +pName+: Property name.
* +qName+: Qualifier name.
*/
CMPIData property_qualifier(const char *pName, const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetPropertyQualifier($self, pName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get method qualifier value.
* mName: Method name.
* qName: Qualifier name.
*/
CMPIData method_qualifier(const char *methodName, const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetMethodQualifier($self, methodName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get method parameter qualifier value.
* mName: Method name.
* pName: Parameter name.
* qName: Qualifier name.
*/
CMPIData parameter_qualifier(
const char *mName,
const char *pName,
const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetParameterQualifier($self, mName, pName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get the namespace component. */
%newobject namespace;
const char *namespace()
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetNameSpace($self, &st);
const char* result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the namespace component. */
%rename("namespace=") set_namespace(const char *nm);
void set_namespace(const char *nm)
{
RAISE_IF(CMSetNameSpace($self, nm));
}
/* Set/replace the hostname component. */
%rename("hostname=") set_hostname(const char *hostname);
void set_hostname(const char *hostname)
{
RAISE_IF(CMSetHostname($self, hostname));
}
/* Get the hostname component. */
%newobject hostname;
const char *hostname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetHostname($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the classname component. */
%rename("classname=") set_classname(const char *classname);
void set_classname(const char *classname)
{
RAISE_IF(CMSetClassName($self, classname));
}
/* Get the classname component. */
%newobject classname;
const char *classname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetClassName($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
}
to_s()
click to toggle source
const char *string()
{
CMPIString *s = $self->ft->toString($self, NULL);
const char *result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
%alias set "[]=";
/*
* Property setting in Ruby
* Set property of ObjectPath by name and type
* type is optional for string and boolean
* reference[:propname] = data # set by name (symbol)
* reference[:propname, CMPI::uint16] = data # set by name (symbol)
* reference["propname"] = data # set by name (string)
*/
CMPIStatus set(VALUE property, VALUE data, VALUE expected_type = Qnil)
{
const char *name;
CMPIValue value;
CMPIType actual_type;
CMPIType type;
CMPIStatus status;
if (NIL_P(expected_type)) {
type = CMPI_null;
}
else if (FIXNUM_P(expected_type)) {
type = FIX2LONG(expected_type);
}
else {
SWIG_exception(SWIG_ValueError, "bad expected_type");
}
name = target_charptr(property);
if (NIL_P(data)) {
actual_type = type; /* prevent type error */
value.chars = NULL;
}
else {
actual_type = target_to_value(data, &value, type);
}
/* fprintf(stderr, "CMPIObjectPath.%s <expected %04x, actual %04x>\n",name, type, actual_type); */
status = CMAddKey($self, name, &value, actual_type);
RAISE_IF(status);
return status;
}
/* Adds/replaces a named key property.
* name: Key property name.
* value: Address of value structure.
* type: Value type.
*/
void add_key(
const char *name,
const CMPIValue* value,
const CMPIType type)
{
RAISE_IF(CMAddKey($self, name, value, type));
}
%rename("key") get_key(const char *name);
%alias get_key "[]";
/* Gets a named key property value.
* name: Key property name.
*/
VALUE get_key(VALUE property)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
const char *name;
name = target_charptr(property);
result = CMGetKey($self, name, &st);
/* key not found is ok, will return NULL */
if (st.rc != CMPI_RC_ERR_NOT_FOUND) {
RAISE_IF(st);
}
return data_value(&result);
}
%newobject get_key_at;
#if defined (SWIGRUBY)
%rename("key_at") get_key_at(int index);
VALUE
#endif
#if defined (SWIGPYTHON)
PyObject*
#endif
#if defined (SWIGPERL)
SV*
#endif
/* Gets a key property [value,name] defined by its index.
* name: [out] Key property name
*/
__type get_key_at(int index) {
Target_Type tdata;
CMPIString *s = NULL;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData data = CMGetKeyAt($self, index, &s, &st);
Target_Type result;
if (st.rc)
{
RAISE_IF(st);
result = Target_Null;
Target_INCREF(result);
return result;
}
TARGET_THREAD_BEGIN_BLOCK;
tdata = data_data(&data);
#if defined (SWIGPYTHON)
result = PyTuple_New(2);
PyTuple_SetItem(result, 0, tdata);
PyTuple_SetItem(result, 1, PyString_FromString(CMGetCharPtr(s)));
#else
result = Target_SizedArray(2);
Target_Append(result, tdata);
Target_Append(result, Target_String(CMGetCharPtr(s)));
#endif
TARGET_THREAD_END_BLOCK;
CMRelease(s);
return result;
}
/* Gets the number of key properties contained in this ObjectPath. */
int key_count()
{
CMPIStatus st = { CMPI_RC_OK, NULL };
int result;
result = CMGetKeyCount($self, &st);
RAISE_IF(st);
return result;
}
/* iterate over keys as [<value>,<name>] pairs */
void each()
{
int i;
int count = CMGetKeyCount($self, NULL);
CMPIString *name;
for (i = 0; i < count; ++i )
{
VALUE yield = rb_ary_new2(2);
name = NULL;
CMPIData data = CMGetKeyAt($self, i, &name, NULL);
VALUE rbdata = data_data(&data);
rb_ary_push(yield, rbdata);
rb_ary_push(yield, rb_str_new2(CMGetCharPtr(name)));
CMRelease(name);
rb_yield(yield);
}
}
/* Set/replace namespace and classname components from +src+. */
void replace_from(const CMPIObjectPath * src)
{
RAISE_IF(CMSetNameSpaceFromObjectPath($self, src));
}
/* Set/replace hostname, namespace and classname components from +src+.
*/
void replace_all_from(const CMPIObjectPath * src)
{
RAISE_IF(CMSetHostAndNameSpaceFromObjectPath($self, src));
}
/* Get class qualifier value.
* +qName+: Qualifier name.
*/
CMPIData qualifier(const char *qname)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetClassQualifier($self, qname, &st);
RAISE_IF(st);
return result;
}
/* Get property qualifier value.
* +pName+: Property name.
* +qName+: Qualifier name.
*/
CMPIData property_qualifier(const char *pName, const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetPropertyQualifier($self, pName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get method qualifier value.
* mName: Method name.
* qName: Qualifier name.
*/
CMPIData method_qualifier(const char *methodName, const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetMethodQualifier($self, methodName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get method parameter qualifier value.
* mName: Method name.
* pName: Parameter name.
* qName: Qualifier name.
*/
CMPIData parameter_qualifier(
const char *mName,
const char *pName,
const char *qName)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIData result;
result = CMGetParameterQualifier($self, mName, pName, qName, &st);
RAISE_IF(st);
return result;
}
/* Get the namespace component. */
%newobject namespace;
const char *namespace()
{
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetNameSpace($self, &st);
const char* result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the namespace component. */
%rename("namespace=") set_namespace(const char *nm);
void set_namespace(const char *nm)
{
RAISE_IF(CMSetNameSpace($self, nm));
}
/* Set/replace the hostname component. */
%rename("hostname=") set_hostname(const char *hostname);
void set_hostname(const char *hostname)
{
RAISE_IF(CMSetHostname($self, hostname));
}
/* Get the hostname component. */
%newobject hostname;
const char *hostname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetHostname($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
/* Set/replace the classname component. */
%rename("classname=") set_classname(const char *classname);
void set_classname(const char *classname)
{
RAISE_IF(CMSetClassName($self, classname));
}
/* Get the classname component. */
%newobject classname;
const char *classname()
{
const char* result;
CMPIStatus st = { CMPI_RC_OK, NULL };
CMPIString *s = CMGetClassName($self, &st);
RAISE_IF(st);
result = strdup(CMGetCharPtr(s));
CMRelease(s);
return result;
}
}