version 1.40, 2003/11/20 14:50:46
|
version 1.53, 2007/05/29 17:21:06
|
|
|
//%2003//////////////////////////////////////////////////////////////////////// |
//%2006//////////////////////////////////////////////////////////////////////// |
// | // |
// Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Development |
// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development |
// Company, L. P., IBM Corp., The Open Group, Tivoli Systems. |
// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. |
// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.; | // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.; |
// IBM Corp.; EMC Corporation, The Open Group. | // IBM Corp.; EMC Corporation, The Open Group. |
|
// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.; |
|
// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. |
|
// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; |
|
// EMC Corporation; VERITAS Software Corporation; The Open Group. |
|
// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.; |
|
// EMC Corporation; Symantec Corporation; The Open Group. |
// | // |
// Permission is hereby granted, free of charge, to any person obtaining a copy | // Permission is hereby granted, free of charge, to any person obtaining a copy |
// of this software and associated documentation files (the "Software"), to | // of this software and associated documentation files (the "Software"), to |
|
|
// | // |
//============================================================================== | //============================================================================== |
// | // |
// Author: Mike Brasher (mbrasher@bmc.com) |
|
// |
|
// Modified By: Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com) |
|
// Carol Ann Krug Graves, Hewlett-Packard Company |
|
// (carolann_graves@hp.com) |
|
// |
|
//%///////////////////////////////////////////////////////////////////////////// | //%///////////////////////////////////////////////////////////////////////////// |
| |
#ifndef Pegasus_Method_h | #ifndef Pegasus_Method_h |
|
|
class CIMConstMethod; | class CIMConstMethod; |
class CIMMethodRep; | class CIMMethodRep; |
| |
/** The CIMMethod class is used to represent CIM methods in Pegasus. A CIMMethod |
/** |
consists of the following entities: |
The CIMMethod class represents the DMTF standard CIM method definition. |
|
A CIMMethod is generally defined in the context of a CIMClass. |
|
A CIMMethod consists of: |
<ul> | <ul> |
<li>Name of the method, a CIMName. Functions are provided to manipulate the name. |
<li>A CIMName containing the name of the method |
The name must be a legal name for a CIMProperty or Method \Ref{CIMName}. |
<li>A CIMType defining the method return type |
<li>CIM type of the return value of the method, a \Ref{CIMType}. This is any |
<li>Zero or more CIMQualifier objects |
of the predefined CIM types (for example: Boolean); |
<li>Zero or more CIMParameter objects defining the method parameters |
<li>Optional qualifiers (see \Ref{CIMQualifier}) for the method. A method |
|
can contain zero or more CIMQualifiers and functions are provided to |
|
manipulate the list of CIMQualifiers. |
|
<li>Optional parameters (see \Ref{CIMParameter} for the method which are |
|
the parameters to be placed on a CIM Method operation. A CIMMethod can |
|
contain zero or more CIMParameters and functions are provided in CIMMethod |
|
to manipulate the list of CIMParameters. |
|
</ul> | </ul> |
In addition, internally, there are the following additional attributes |
In addition, a CIMMethod has these internal attributes: |
that are part of a CIMMethod including: |
|
<ul> | <ul> |
<li><b>propagated</b> - An attribute defining whether this CIMMethod is |
<li><b>propagated</b> - An attribute defining whether this CIMMethod |
propagated from a superclass. Note that this is normally set as part of |
is propagated from a superclass. Note that this is normally set |
completing the definition of objects (resolving) when they are placed in a |
as part of completing the definition of objects (resolving) when |
repository and is NOT automatically set when creating a local object. It |
they are created as part of a CIM schema and is NOT automatically |
is part of the context of the object within the repository. It can only |
set when creating a method object. It can only be logically set |
logically be set in context of the superclass of which this CIMMethod is |
in context of the schema in which the CIMMethod is defined. |
defined. |
<li><b>classOrigin</b> - An attribute defining the class in which |
<li><b>ClassOrigin</b> - An attribute defining the superclass in which this |
this CIMMethod was originally defined. This is normally set |
CIMMethod was originally defined. This is normally set as part of |
within the context of the schema in which the CIMMethod is |
resolving Class and instances in the context of other objects (for example, a |
defined. This attribute is available from objects retrieved |
repository). This attribute is available from objects retrieved from the |
from the CIM Server, for example, and provides information on |
repository, for example and indicates the Class/Instance in the hiearchy |
the defintion of this method in the class hierarchy. The |
(this object or a superclass or instance of a superclass)was originally |
propagated and ClassOrigin attributes can be used together to |
defined. Together the propagated and ClassOrigin attributes can be used |
determine if methods originated with this object or were |
to determine if methods originated with the current object or were |
inherited from higher levels of the hiearchy. |
inherited from higher levels in the hiearchy. |
|
</ul> | </ul> |
Normally CIMMethods are defined in the context of CIMClasses. A CIMClass can include |
|
zero or more CIMMethods |
<p>The CIMMethod class uses a shared representation model, such that |
CIMMethod is a shared class so that assignment and copy operators do not |
multiple CIMMethod objects may refer to the same data copy. Assignment |
create new copies of the data representing a CIMMethod object but point |
and copy operators create new references to the same data, not distinct |
back to the original object and the lifecycle of the original object is |
copies. An update to a CIMMethod object affects all the CIMMethod |
controlled by the accumulative lifecycle of any copies and assigned |
objects that refer to the same data copy. The data remains valid until |
objects. |
all the CIMMethod objects that refer to it are destructed. A separate |
{@link Shared Classes} |
copy of the data may be created using the clone method. |
@see CIMConstMethod |
|
@see CIMParameters |
|
@see CIMQualifiers |
|
@see CIMType |
|
*/ | */ |
class PEGASUS_COMMON_LINKAGE CIMMethod | class PEGASUS_COMMON_LINKAGE CIMMethod |
{ | { |
public: | public: |
| |
/** Creates a new default CIMMethod object. The object created is |
/** |
empty. The only thing that can be done with this constructor |
Constructs an uninitialized CIMMethod object. A method |
is to copy another object into it. Other methods such as setName, etc. |
invocation on an uninitialized object will result in the throwing |
will fail. The object has the state unitialized which can be tested with |
of an UninitializedObjectException. An uninitialized object may |
the Unitialized method. |
be converted into an initialized object only by using the assignment |
@exception throws UninitializedObjectException() if any method except the copy |
operator with an initialized object. |
function is executed against. |
|
@see CIMConstMethod() |
|
@see Unitialized() |
|
*/ | */ |
CIMMethod(); | CIMMethod(); |
| |
/** Creates a new CIMMethod object from another CIMmethod instance. This method |
/** |
assigns the new object to the representation in the parameter and increments the |
Constructs a CIMMethod object from the value of a specified |
representation count. It does NOT create a new independent object but creates |
CIMMethod object, so that both objects refer to the same data copy. |
a reference from the assigned object to the representation of the object being |
|
assigned. |
<p><b>Example:</b> |
@param x CIMMethod object from which to create CIMMethod object. |
|
<pre> | <pre> |
CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); | CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); |
const CIMMethod cm1(m1); | const CIMMethod cm1(m1); |
</pre> | </pre> |
|
|
|
@param x The CIMMethod object from which to construct a new |
|
CIMMethod object. |
*/ | */ |
CIMMethod(const CIMMethod& x); | CIMMethod(const CIMMethod& x); |
| |
/** Creates a CIMMethod object with the specified name and other input parameters. |
/** |
@param name CIMName defining the name for the method. |
Constructs a CIMMethod object with the specified attributes. |
|
|
@param type CIMType defining data type of the method to be created. |
|
|
|
@param classOrigin (optional) CIMName representing the class origin. Note |
|
that this should normally not be used. If not provided set to |
|
CIMName() (Null name). |
|
@param propagated Optional flag indicating whether the definition of the |
|
CIM Method is local to the CIM Class (respectively, Instance) in which |
|
it appears, or was propagated without modification from the a |
|
Superclass. Default is false. |
|
<p><b>Example:</b> | <p><b>Example:</b> |
<pre> | <pre> |
CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); | CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); |
</pre> | </pre> |
|
|
|
@param name A CIMName specifying the name of the method. |
|
@param type A CIMType defining the method return type. |
|
@param classOrigin A CIMName indicating the class in which the |
|
method is locally defined (optional). |
|
@param propagated A Boolean indicating whether the method definition |
|
is local to the CIMClass in which it appears or was propagated |
|
(without modification) from a superclass. |
|
@exception UninitializedObjectException If the method name is null. |
*/ | */ |
CIMMethod( | CIMMethod( |
const CIMName& name, | const CIMName& name, |
|
|
const CIMName& classOrigin = CIMName(), | const CIMName& classOrigin = CIMName(), |
Boolean propagated = false); | Boolean propagated = false); |
| |
/** Destructor for the CIMMethod. Since this is a shared class, the destructor |
/** |
only releases when there are no more objects pointing to the representation |
Destructs the CIMMethod object. |
of this object. |
|
*/ | */ |
~CIMMethod(); | ~CIMMethod(); |
| |
/** The assignment operator assigns one CIM method to another. This method performs |
/** |
the assignment by incrementing the reference count for the representation of |
Assigns the value of the specified CIMMethod object to this object, |
the CIMMethod, not by creating a deep copy of the object. |
so that both objects refer to the same data copy. |
|
|
<p><b>Example:</b> | <p><b>Example:</b> |
<pre> | <pre> |
CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); | CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); |
CIMMethod m2 = m1; |
CIMMethod m2; |
|
m2 = m1; |
</pre> | </pre> |
|
|
|
@param x The CIMMethod object from which to assign this CIMMethod |
|
object. |
|
@return A reference to this CIMMethod object. |
*/ | */ |
CIMMethod& operator=(const CIMMethod& x); | CIMMethod& operator=(const CIMMethod& x); |
| |
/** Gets the name of the method. |
/** |
@return CIMName with the name of the method. |
Gets the name of the method. |
<p><b>Example:</b> | <p><b>Example:</b> |
<pre> | <pre> |
CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); | CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); |
assert(m1.getName() == CIMName ("getHostName")); | assert(m1.getName() == CIMName ("getHostName")); |
</pre> | </pre> |
|
@return A CIMName containing the name of the method. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
const CIMName& getName() const; | const CIMName& getName() const; |
| |
/** Sets the method name. |
/** |
@param name - CIMName for the method name. Replaces any |
Sets the method name. |
previously defined name for this method object. |
|
<p><b>Example:</b> | <p><b>Example:</b> |
<pre> | <pre> |
CIMMethod m2(CIMName ("test"), CIMTYPE_STRING); | CIMMethod m2(CIMName ("test"), CIMTYPE_STRING); |
m2.setName(CIMName ("getVersion")); | m2.setName(CIMName ("getVersion")); |
</pre> | </pre> |
|
@return A CIMName containing the new name of the method. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
void setName(const CIMName& name); | void setName(const CIMName& name); |
| |
/** Gets the method type. |
/** |
@return The CIMType containing the method type for this method. |
Gets the method return type. |
This is the type returned as the return value of a method operation. |
|
<p><b>Example:</b> | <p><b>Example:</b> |
<pre> | <pre> |
CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); | CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); |
assert(m1.getType() == CIMTYPE_STRING); | assert(m1.getType() == CIMTYPE_STRING); |
</pre> | </pre> |
|
@return A CIMType containing the method return type. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
CIMType getType() const; | CIMType getType() const; |
| |
/** Sets the method type to the specified CIM method type |
/** |
as defined in CIMType. This is the type of the CIMValue |
Sets the method return type to the specified CIMType. |
that is returned on a CIMMethod operation |
This is the type of the CIMValue |
@param type CIMType to be set into the method object. |
that is returned on a CIM method invocation. |
<p><b>Example:</b> | <p><b>Example:</b> |
<pre> | <pre> |
CIMMethod m1(); |
CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); |
m1.setName(CIMName ("getVersion")); | m1.setName(CIMName ("getVersion")); |
assert(m1.setType(CIMTYPE_STRING)); |
assert(m1.getName() == CIMName ("getVersion")); |
</pre> | </pre> |
|
@param type CIMType to be set into the CIMMethod object. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
void setType(CIMType type); | void setType(CIMType type); |
| |
/** Gets the class in which this method was defined. This information |
/** |
is available after the class containing the method has been |
Gets the class in which this method is locally defined. This |
resolved and is part of the class repository. |
information is normally available with methods that are part of |
@return CIMName containing the classOrigin field. |
schema returned from a CIM Server. |
|
@return CIMName containing the classOrigin attribute. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
const CIMName& getClassOrigin() const; | const CIMName& getClassOrigin() const; |
| |
/** Sets the ClassOrigin attribute with the classname defined on |
/** |
the input parameter. Normally this function is used internally |
Sets the classOrigin attribute with the specified class name. |
as part of the use objects containing methods (classes |
Normally this method is used internally by a CIM Server when |
and instances) in a context such as a repository. |
defining methods in the context of a schema. |
@param classOrigin - CIMName parameter defining the name |
@param classOrigin A CIMName specifying the name of the class of |
of the class origin. |
origin for the method. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
void setClassOrigin(const CIMName& classOrigin); | void setClassOrigin(const CIMName& classOrigin); |
| |
/** Tests the propagated qualifier. The propagated attribute |
/** |
indicates if this method was propagated from a higher level |
Tests the propagated attribute of the object. The propagated |
class. Normally this attribute is set as part of putting |
attribute indicates whether this method was propagated from a |
classes into the repository (resolving the class). It is |
higher-level class. Normally this attribute is set as part of |
available on methods in classes read from the repository and |
defining a method in the context of a schema. It is set in |
on instances that are read from the instance repository. |
methods retrieved from a CIM Server. |
@return True if method is propagated; otherwise,false. | @return True if method is propagated; otherwise,false. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
Boolean getPropagated() const; | Boolean getPropagated() const; |
| |
/** Sets the Propagaged Qualifier. Normally this is used by the functions |
/** |
that resolve classes and instances as part of the installation into |
Sets the propagated attribute. Normally this is used by a CIM Server |
a repository. |
when defining a method in the context of a schema. |
@param propagated Flag indicating method is propagated from superclass propagation. |
@param propagated A Boolean indicating whether the method is |
True means that the method was propagated from superclass. |
propagated from a superclass. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
void setPropagated(Boolean propagated); | void setPropagated(Boolean propagated); |
| |
/** Adds the specified qualifier to the method and increments the |
/** |
qualifier count. |
Adds a qualifier to the method. |
@param x CIMQualifier object representing the qualifier |
|
to be added. |
|
@return the CIMMethod object after adding the specified qualifier. |
|
@exception AlreadyExistsException if the qualifier already exists. |
|
<p><b>Example:</b> | <p><b>Example:</b> |
<pre> | <pre> |
CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); | CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); |
m1.addQualifier(CIMQualifier(CIMName ("stuff"), true)); | m1.addQualifier(CIMQualifier(CIMName ("stuff"), true)); |
</pre> | </pre> |
|
@param x The CIMQualifier to be added. |
|
@return A reference to this CIMMethod object. |
|
@exception AlreadyExistsException If a qualifier with the |
|
same name already exists in the CIMMethod. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
CIMMethod& addQualifier(const CIMQualifier& x); | CIMMethod& addQualifier(const CIMQualifier& x); |
| |
/** Searches for a qualifier with the specified input name. |
/** |
@param name CIMName of the qualifier to be found. |
Finds a qualifier by name. |
@return Index of the qualifier found or PEG_NOT_FOUND |
|
if not found. |
|
<p><b>Example:</b> | <p><b>Example:</b> |
<pre> | <pre> |
CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); | CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); |
m1.addQualifier(CIMQualifier(CIMName ("stuff"), true)); | m1.addQualifier(CIMQualifier(CIMName ("stuff"), true)); |
assert(m1.findQualifier(CIMName ("stuff")) != PEG_NOT_FOUND); | assert(m1.findQualifier(CIMName ("stuff")) != PEG_NOT_FOUND); |
</pre> | </pre> |
|
@param name A CIMName specifying the name of the qualifier to be found. |
|
@return Index of the qualifier if found or PEG_NOT_FOUND if not found. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
Uint32 findQualifier(const CIMName& name) const; | Uint32 findQualifier(const CIMName& name) const; |
| |
/** Gets the CIMQualifier defined by the input parameter. |
/** |
@param index Index of the qualifier requested. |
Gets the qualifier at the specified index. |
@return CIMQualifier object representing the qualifier found. |
|
@exception IndexOutOfBoundsException exception if the index is |
|
outside the range of parameters available from the CIMMethod. |
|
<p><b>Example:</b> | <p><b>Example:</b> |
<pre> | <pre> |
CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); | CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); |
m1.addQualifier(CIMQualifier(CIMName ("stuff"), true)); | m1.addQualifier(CIMQualifier(CIMName ("stuff"), true)); |
Uint32 posQualifier; |
Uint32 posQualifier = m1.findQualifier(CIMName ("stuff")); |
posQualifier = m1.findQualifier(CIMName ("stuff")); |
if (posQualifier != PEG_NOT_FOUND) |
|
{ |
CIMQualifier q = m1.getQualifier(posQualifier); | CIMQualifier q = m1.getQualifier(posQualifier); |
|
} |
</pre> | </pre> |
|
@param index The index of the qualifier to be retrieved. |
|
@return The CIMQualifier object at the specified index. |
|
@exception IndexOutOfBoundsException If the index is |
|
outside the range of qualifiers available for the CIMMethod. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
CIMQualifier getQualifier(Uint32 index); | CIMQualifier getQualifier(Uint32 index); |
| |
/** Gets the CIMQualifier defined by the input parameter. |
/** |
@param index Index of the qualifier requested. |
Gets the qualifier at the specified index. |
@return CIMConstQualifier object representing the qualifier found. |
|
@exception IndexOutOfBoundsException exception if the index is |
|
outside the range of parameters available from the CIMMethod. |
|
<p><b>Example:</b> | <p><b>Example:</b> |
<pre> | <pre> |
CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); | CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); |
m1.addQualifier(CIMQualifier(CIMName ("stuff"), true)); | m1.addQualifier(CIMQualifier(CIMName ("stuff"), true)); |
|
const CIMMethod m2 = m1; |
Uint32 posQualifier; |
Uint32 posQualifier = m2.findQualifier(CIMName ("stuff")); |
posQualifier = m1.findQualifier(CIMName ("stuff")); |
if (posQualifier != PEG_NOT_FOUND) |
CIMQualifier q = m1.getQualifier(posQualifier); |
{ |
|
CIMConstQualifier q = m2.getQualifier(posQualifier); |
|
} |
</pre> | </pre> |
|
@param index The index of the qualifier to be retrieved. |
|
@return The CIMConstQualifier object at the specified index. |
|
@exception IndexOutOfBoundsException If the index is |
|
outside the range of qualifiers available for the CIMMethod. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
CIMConstQualifier getQualifier(Uint32 index) const; | CIMConstQualifier getQualifier(Uint32 index) const; |
| |
/** Removes the specified CIMQualifier from this method. |
/** |
@param index Index of the qualifier to remove. |
Removes a qualifier from the method. |
@exception IndexOutOfBoundsException exception if the index is |
<p><b>Example:</b> |
outside the range of parameters available from the CIMMethod. |
<pre> |
|
// remove all qualifiers from a class |
|
Uint32 count = 0; |
|
while ((count = cimClass.getQualifierCount()) > 0) |
|
cimClass.removeQualifier(count - 1); |
|
</pre> |
|
@param index The index of the qualifier to remove. |
|
@exception IndexOutOfBoundsException If the index is |
|
outside the range of qualifiers available for the CIMMethod. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
void removeQualifier(Uint32 index); | void removeQualifier(Uint32 index); |
| |
/** Returns the number of Qualifiers attached to this CIMMethod object. |
/** |
@return the number of qualifiers in the CIM Method. |
Gets the number of qualifiers in the method. |
<p><b>Example:</b> | <p><b>Example:</b> |
<pre> | <pre> |
CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); | CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); |
|
|
m1.addQualifier(CIMQualifier(CIMName ("stuff2"), true)); | m1.addQualifier(CIMQualifier(CIMName ("stuff2"), true)); |
assert(m1.getQualifierCount() == 2); | assert(m1.getQualifierCount() == 2); |
</pre> | </pre> |
|
@return An integer count of the qualifiers in the CIMMethod. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
Uint32 getQualifierCount() const; | Uint32 getQualifierCount() const; |
| |
/** Adds the parameter defined by the input to the CIMMethod. |
/** |
@param x CIMParameter to be added to the CIM Method. |
Adds a parameter to the method. |
@return CIMMethod object after the specified parameter is added. |
|
<p><b>Example:</b> | <p><b>Example:</b> |
<pre> | <pre> |
CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); | CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); |
m1.addParameter(CIMParameter(CIMName ("ipaddress"), CIMTYPE_STRING)); | m1.addParameter(CIMParameter(CIMName ("ipaddress"), CIMTYPE_STRING)); |
</pre> | </pre> |
|
@param x The CIMParameter to be added. |
|
@return A reference to this CIMMethod object. |
|
@exception AlreadyExistsException If a parameter with the |
|
same name already exists in the CIMMethod. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
CIMMethod& addParameter(const CIMParameter& x); | CIMMethod& addParameter(const CIMParameter& x); |
| |
/** Finds the parameter with the specified name. |
/** |
@param name CIMName of parameter to be found. |
Finds a parameter by name. |
@return Index of the parameter object found or PEG_NOT_FOUND |
|
if the property is not found. |
|
<p><b>Example:</b> | <p><b>Example:</b> |
<pre> | <pre> |
Uint32 posParameter; | Uint32 posParameter; |
|
|
if (posParameter != PEG_NOT_FOUND) | if (posParameter != PEG_NOT_FOUND) |
... | ... |
</pre> | </pre> |
|
@param name A CIMName specifying the name of the parameter to be found. |
|
@return Index of the parameter if found or PEG_NOT_FOUND if not found. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
Uint32 findParameter(const CIMName& name) const; | Uint32 findParameter(const CIMName& name) const; |
| |
/** Gets the parameter defined by the specified index. |
/** |
@param index Index for the parameter to be returned. |
Gets the parameter at the specified index. |
@return CIMParameter object requested. |
|
@exception IndexOutOfBoundsException if the index is outside |
|
the range of available parameters. |
|
<p><b>Example:</b> | <p><b>Example:</b> |
<pre> | <pre> |
CIMParameter cp = m1.getParameter(m1.findParameter(CIMName ("ipaddress"))); |
CIMParameter cp; |
|
Uint32 parameterIndex = m1.findParameter(CIMName ("ipaddress")); |
|
if (parameterIndex != PEG_NOT_FOUND) |
|
{ |
|
cp = m1.getParameter(parameterIndex); |
|
} |
</pre> | </pre> |
|
@param index The index of the parameter to be retrieved. |
|
@return The CIMParameter at the specified index. |
|
@exception IndexOutOfBoundsException If the index is outside |
|
the range of parameters available for the CIMMethod. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
CIMParameter getParameter(Uint32 index); | CIMParameter getParameter(Uint32 index); |
| |
/** Gets the parameter defined for the specified index. |
/** |
@param index Index for the parameter to be returned. |
Gets the parameter at the specified index. |
@return CIMConstParameter object requested. |
<p><b>Example:</b> |
@exception IndexOutOfBoundsException if the index is outside |
<pre> |
the range of available parameters |
CIMConstParameter cp; |
|
Uint32 parameterIndex = m1.findParameter(CIMName ("ipaddress")); |
|
if (parameterIndex != PEG_NOT_FOUND) |
|
{ |
|
cp = m1.getParameter(parameterIndex); |
|
} |
|
</pre> |
|
@param index The index of the parameter to be retrieved. |
|
@return The CIMConstParameter at the specified index. |
|
@exception IndexOutOfBoundsException If the index is outside |
|
the range of parameters available for the CIMMethod. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
CIMConstParameter getParameter(Uint32 index) const; | CIMConstParameter getParameter(Uint32 index) const; |
| |
/** Removes the CIMParameter defined by the specified index. |
/** |
|
Removes a parameter from the method. |
@param index Index of the parameter to be removed. | @param index Index of the parameter to be removed. |
@exception IndexOutOfBoundsException if the index is outside the |
@exception IndexOutOfBoundsException If the index is outside the |
range of parameters available from the CIMMethod. | range of parameters available from the CIMMethod. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
void removeParameter (Uint32 index); | void removeParameter (Uint32 index); |
| |
/** Gets the count of Parameters defined in the CIMMethod. |
/** |
@return Count of the number of parameters attached to the CIMMethod. |
Gets the number of parameters in the method. |
|
@return An integer count of the CIMParameters in the CIMMethod. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
Uint32 getParameterCount() const; | Uint32 getParameterCount() const; |
| |
/** Determines if the object has not been initialized. |
/** |
@return True if the object has not been initialized, |
Determines whether the object has been initialized. |
false otherwise false. |
<p><b>Example:</b> |
|
<pre> |
|
CIMMethod m1; |
|
assert(m1.isUninitialized()); |
|
</pre> |
|
@return True if the object has not been initialized, false otherwise. |
*/ | */ |
Boolean isUninitialized() const; | Boolean isUninitialized() const; |
| |
/** Compares with another CIMConstMethod. |
/** |
@param x CIMConstMethod object for the method to be compared. |
Compares the method with another method. |
@return true if this method is identical to the one specified. |
|
<p><b>Example:</b> | <p><b>Example:</b> |
<pre> | <pre> |
CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); | CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); |
CIMMethod m2(CIMName ("test"), CIMTYPE_STRING); |
CIMConstMethod m2(CIMName ("test"), CIMTYPE_STRING); |
assert(!m1.identical(m2)); | assert(!m1.identical(m2)); |
</pre> | </pre> |
|
@param x The CIMConstMethod to be compared. |
|
@return True if this method is identical to the one specified, |
|
false otherwise. |
|
@exception UninitializedObjectException If either of the objects |
|
is not initialized. |
*/ | */ |
Boolean identical(const CIMConstMethod& x) const; | Boolean identical(const CIMConstMethod& x) const; |
| |
/** Makes a clone (deep copy) of this method. This creates |
/** |
a new copy of all of the components of the method including |
Makes a deep copy of the method. This creates a new copy |
parameters and qualifiers. |
of all the method attributes including parameters and qualifiers. |
@return copy of the CIMMethod object. |
@return A new copy of the CIMMethod object. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
CIMMethod clone() const; | CIMMethod clone() const; |
| |
|
|
| |
CIMMethod(CIMMethodRep* rep); | CIMMethod(CIMMethodRep* rep); |
| |
PEGASUS_EXPLICIT CIMMethod(const CIMConstMethod& x); |
/** |
|
This method is not implemented. It is defined to explicitly disallow |
|
construction of a CIMMethod from a CIMConstMethod. Because the |
|
CIMMethod class uses a shared representation model, allowing this |
|
construction would effectively allow modification of CIMConstMethod |
|
objects. |
|
*/ |
|
explicit CIMMethod(const CIMConstMethod& x); |
| |
void _checkRep() const; | void _checkRep() const; |
| |
|
|
friend class Resolver; | friend class Resolver; |
friend class XmlWriter; | friend class XmlWriter; |
friend class MofWriter; | friend class MofWriter; |
|
friend class BinaryStreamer; |
}; | }; |
| |
/** The CIMConstMethod class is used to represent CIM methods in the |
/** |
same manner as the CIMMethod class except that the const attribute |
The CIMConstMethod class provides a const interface to a CIMMethod |
is applied to the objects created. This class includes equivalents |
object. This class is needed because the shared representation model |
to the methods from CIMMethod that are usable in a const object including |
used by CIMMethod does not prevent modification to a const CIMMethod |
constructors, (for example: getter methods) and the destructor. |
object. Note that the value of a CIMConstMethod object could still be |
|
modified by a CIMMethod object that refers to the same data copy. |
REVIEWERS: ATTN: Complete the explanation of why. |
|
*/ | */ |
class PEGASUS_COMMON_LINKAGE CIMConstMethod | class PEGASUS_COMMON_LINKAGE CIMConstMethod |
{ | { |
public: | public: |
| |
/** Creates a new default CIMConstMethod object. |
/** |
@see CIMMethod() |
Constructs an uninitialized CIMConstMethod object. A method |
|
invocation on an uninitialized object will result in the throwing |
|
of an UninitializedObjectException. An uninitialized object may |
|
be converted into an initialized object only by using the assignment |
|
operator with an initialized object. |
*/ | */ |
CIMConstMethod(); | CIMConstMethod(); |
| |
/// @see CIMMethod() |
/** |
|
Constructs a CIMConstMethod object from the value of a specified |
|
CIMConstMethod object, so that both objects refer to the same data |
|
copy. |
|
|
|
<p><b>Example:</b> |
|
<pre> |
|
CIMConstMethod cm1(CIMName ("getHostName"), CIMTYPE_STRING); |
|
CIMConstMethod cm2(m1); |
|
</pre> |
|
|
|
@param x The CIMConstMethod object from which to construct a new |
|
CIMConstMethod object. |
|
*/ |
CIMConstMethod(const CIMConstMethod& x); | CIMConstMethod(const CIMConstMethod& x); |
| |
/** Creates a new CIMConstMethod object from an |
/** |
existing CIMMethod object. Creates a pointer |
Constructs a CIMConstMethod object from the value of a specified |
to the existing representation. |
CIMMethod object, so that both objects refer to the same data |
@return CIMConstMethod object reference. |
copy. |
@see CIMMethod() |
|
|
<p><b>Example:</b> |
|
<pre> |
|
CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); |
|
CIMConstMethod cm1(m1); |
|
</pre> |
|
|
|
@param x The CIMMethod object from which to construct a new |
|
CIMConstMethod object. |
*/ | */ |
CIMConstMethod(const CIMMethod& x); | CIMConstMethod(const CIMMethod& x); |
| |
/// |
/** |
|
Constructs a CIMConstMethod object with the specified attributes. |
|
<p><b>Example:</b> |
|
<pre> |
|
CIMConstMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); |
|
</pre> |
|
|
|
@param name CIMName defining the name for the method. |
|
@param type CIMType defining the method return type. |
|
@param classOrigin (optional) CIMName representing the class origin. |
|
Note that this should normally not be used. If not provided set to |
|
CIMName() (Null name). |
|
@param propagated Optional flag indicating whether the definition of |
|
the CIM Method is local to the CIM Class (respectively, Instance) |
|
in which it appears, or was propagated without modification from |
|
a superclass. Default is false. Note that this attribute is |
|
normally not set by CIM Clients but is used internally within the |
|
CIM Server. |
|
@exception UninitializedObjectException If the method name is null. |
|
*/ |
CIMConstMethod( | CIMConstMethod( |
const CIMName& name, | const CIMName& name, |
CIMType type, | CIMType type, |
const CIMName& classOrigin = CIMName(), | const CIMName& classOrigin = CIMName(), |
Boolean propagated = false); | Boolean propagated = false); |
| |
/// destructor. CIMMethod objects are destroyed when |
/** |
|
Destructs the CIMConstMethod object. |
|
*/ |
~CIMConstMethod(); | ~CIMConstMethod(); |
| |
/** assigns one CIMMethod object to another. Because this |
/** |
is a shared class, an assignment does not create a copy to |
Assigns the value of the specified CIMConstMethod object to this |
the assigned object but sets a refernce in the assigned object |
object, so that both objects refer to the same data copy. |
to the same object as the CIMMethod object that was assigned. |
|
Note that the return is really CIMConstMethod, not CIMMethod to |
|
prevent unplanned modification of the object |
|
@param x CIMMethod object that is to be assigned to another |
|
CIMMethod object. |
|
<p><b>Example:</b> | <p><b>Example:</b> |
<pre> | <pre> |
CIMMethod cm1("putthing"); |
CIMConstMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); |
|
CIMConstMethod m2; |
|
m2 = m1; |
</pre> | </pre> |
|
|
|
@param x The CIMConstMethod object from which to assign this |
|
CIMConstMethod object. |
|
@return A reference to this CIMConstMethod object. |
*/ | */ |
CIMConstMethod& operator=(const CIMConstMethod& x); | CIMConstMethod& operator=(const CIMConstMethod& x); |
| |
/// assignment operator. |
/** |
|
Assigns the value of the specified CIMMethod object to this |
|
object, so that both objects refer to the same data copy. |
|
|
|
<p><b>Example:</b> |
|
<pre> |
|
CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); |
|
CIMConstMethod m2; |
|
m2 = m1; |
|
</pre> |
|
|
|
@param x The CIMMethod object from which to assign this |
|
CIMConstMethod object. |
|
@return A reference to this CIMConstMethod object. |
|
*/ |
CIMConstMethod& operator=(const CIMMethod& x); | CIMConstMethod& operator=(const CIMMethod& x); |
| |
/** gets CIMMethod name. Operation is the same as |
/** |
CIMMethod getName(). |
Gets the name of the method. |
@see CIMMethod |
<p><b>Example:</b> |
|
<pre> |
|
CIMConstMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); |
|
assert(m1.getName() == CIMName ("getHostName")); |
|
</pre> |
|
@return CIMName with the name of the method. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
const CIMName& getName() const; | const CIMName& getName() const; |
| |
/** gets CIMMethod CIMType. Functions the same as |
/** |
CIMMethod getType(); |
Gets the method return type. |
@see CIMMethod |
<p><b>Example:</b> |
|
<pre> |
|
CIMConstMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); |
|
assert(m1.getType() == CIMTYPE_STRING); |
|
</pre> |
|
@return A CIMType containing the method return type. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
CIMType getType() const; | CIMType getType() const; |
| |
/** gets ClassOrigin attribute. Functions the same |
/** |
as CIMMethod getClassOrigin() |
Gets the class in which this method was defined. This information |
@see CIMMethod |
is normally available with methods that are part of a schema |
|
returned from a CIM Server. |
|
@return CIMName containing the classOrigin attribute. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
const CIMName& getClassOrigin() const; | const CIMName& getClassOrigin() const; |
| |
/** gets Propagated attribute. Functions the same |
/** |
as CIMMethod getPropagated() |
Tests the propagated attribute of the object. The propagated |
@see CIMMethod |
attribute indicates whether this method was propagated from a |
|
higher-level class. Normally this attribute is set as part of |
|
defining a method in the context of a schema. It is set in |
|
methods retrieved from a CIM Server. |
|
@return True if method is propagated; otherwise, false. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
Boolean getPropagated() const; | Boolean getPropagated() const; |
| |
/** finds qualifier based on name. Functions the |
/** |
same as the CIMMethod findQualifier() method. |
Finds a qualifier by name. |
|
<p><b>Example:</b> |
@see CIMMethod |
<pre> |
|
CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); |
|
m1.addQualifier(CIMQualifier(CIMName ("stuff"), true)); |
|
CIMConstMethod m2(m1); |
|
assert(m2.findQualifier(CIMName ("stuff")) != PEG_NOT_FOUND); |
|
</pre> |
|
@param name A CIMName specifying the name of the qualifier to be found. |
|
@return Index of the qualifier if found or PEG_NOT_FOUND if not found. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
Uint32 findQualifier(const CIMName& name) const; | Uint32 findQualifier(const CIMName& name) const; |
| |
/** gets qualifier based on index. Functions the |
/** |
same as the CIMMethod getQualifier() method. |
Gets the qualifier at the specified index. |
@see CIMMethod |
<p><b>Example:</b> |
|
<pre> |
|
CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); |
|
m1.addQualifier(CIMQualifier(CIMName ("stuff"), true)); |
|
CIMConstMethod m2(m1); |
|
Uint32 posQualifier = m2.findQualifier(CIMName ("stuff")); |
|
if (posQualifier != PEG_NOT_FOUND) |
|
{ |
|
CIMQualifier q = m2.getQualifier(posQualifier); |
|
} |
|
</pre> |
|
@param index The index of the qualifier to be retrieved. |
|
@return The CIMConstQualifier at the specified index. |
|
@exception IndexOutOfBoundsException If the index is |
|
outside the range of qualifiers available for the CIMMethod. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
CIMConstQualifier getQualifier(Uint32 index) const; | CIMConstQualifier getQualifier(Uint32 index) const; |
| |
/** gets qualifier count based on name. Functions the |
/** |
same as the CIMMethod getQualifierCount() method. |
Gets the number of qualifiers in the method. |
@see CIMMethod |
<p><b>Example:</b> |
|
<pre> |
|
CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); |
|
m1.addQualifier(CIMQualifier(CIMName ("stuff"), true)); |
|
m1.addQualifier(CIMQualifier(CIMName ("stuff2"), true)); |
|
CIMConstMethod m2(m1); |
|
assert(m2.getQualifierCount() == 2); |
|
</pre> |
|
@return An integer count of the CIMQualifiers in the CIMMethod. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
Uint32 getQualifierCount() const; | Uint32 getQualifierCount() const; |
| |
/** finds method parameter based on name. Functions the |
/** |
same as the CIMMethod findParameter() method. |
Finds a parameter by name. |
@see CIMMethod |
<p><b>Example:</b> |
|
<pre> |
|
Uint32 posParameter; |
|
posParameter = m1.findParameter(CIMName ("ipaddress")); |
|
if (posParameter != PEG_NOT_FOUND) |
|
... |
|
</pre> |
|
@param name A CIMName specifying the name of the parameter to be found. |
|
@return Index of the parameter if found or PEG_NOT_FOUND if not found. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
Uint32 findParameter(const CIMName& name) const; | Uint32 findParameter(const CIMName& name) const; |
| |
/** gets method parameter based on index. Functions the |
/** |
same as the CIMMethod getParameter() method. |
Gets the parameter at the specified index. |
@see CIMMethod |
<p><b>Example:</b> |
|
<pre> |
|
CIMConstParameter cp; |
|
Uint32 parameterIndex = m1.findParameter(CIMName ("ipaddress")); |
|
if (parameterIndex != PEG_NOT_FOUND) |
|
{ |
|
cp = m1.getParameter(parameterIndex); |
|
} |
|
</pre> |
|
@param index The index of the parameter to be retrieved. |
|
@return The CIMConstParameter at the specified index. |
|
@exception IndexOutOfBoundsException If the index is |
|
outside the range of parameters available for the CIMMethod. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
CIMConstParameter getParameter(Uint32 index) const; | CIMConstParameter getParameter(Uint32 index) const; |
| |
/** finds method parameter count based on name. Functions the |
/** |
same as the CIMMethod getParameterCount() method. |
Gets the number of parameters in the method. |
@see CIMMethod |
@return An integer count of the CIMParameters in the CIMMethod. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
Uint32 getParameterCount() const; | Uint32 getParameterCount() const; |
| |
/** Determines if CIMMethod is unitinitialized. Functions the |
/** |
same as corresponding funtion in CIMMethod class. |
Determines whether the object has been initialized. |
@see CIMMethod |
<p><b>Example:</b> |
|
<pre> |
|
CIMConstMethod m1; |
|
assert(m1.isUninitialized()); |
|
</pre> |
|
@return True if the object has not been initialized, false otherwise. |
*/ | */ |
Boolean isUninitialized() const; | Boolean isUninitialized() const; |
| |
/** Determines if CIMMethod is identical to object define in parameter. |
/** |
Functions the same as corresponding funtion in CIMMethod class. |
Compares the method with another method. |
@see CIMMethod |
<p><b>Example:</b> |
|
<pre> |
|
CIMConstMethod m1(CIMName ("getHostName"), CIMTYPE_STRING); |
|
CIMConstMethod m2(CIMName ("test"), CIMTYPE_STRING); |
|
assert(!m1.identical(m2)); |
|
</pre> |
|
@param x The CIMConstMethod to be compared. |
|
@return True if this method is identical to the one specified, |
|
false otherwise. |
|
@exception UninitializedObjectException If either of the objects |
|
is not initialized. |
*/ | */ |
Boolean identical(const CIMConstMethod& x) const; | Boolean identical(const CIMConstMethod& x) const; |
| |
/** clones a CIMMethod object by making a deep copy. Functions the |
/** |
same as corresponding funtion in CIMMethod class. |
Makes a deep copy of the method. This creates a new copy |
@see CIMMethod |
of all the method attributes including parameters and qualifiers. |
|
@return A CIMMethod object with a separate copy of the |
|
CIMConstMethod object. |
|
@exception UninitializedObjectException If the object is not |
|
initialized. |
*/ | */ |
CIMMethod clone() const; | CIMMethod clone() const; |
| |