1 karl 1.1 <html>
2 <body bgcolor="#CCCCCC">
3 <table width="100%">
4 <tr>
5 <td width="50%" align="bottom"><h1>CreateClass CIM Operation</h1><td>
6 <td width="50%" align="right">
7 <img border=1 src="/pegasus/icons/OpenGroupLogo.gif">
8 </td>
9 </tr>
10 </table>
11 <hr>
12 <form METHOD=GET ACTION="/pegasus/cgi-bin/CGIClient">
13 <INPUT TYPE="hidden" NAME="Operation" VALUE="GetClass">
14
15 The <TT>createClass</TT> method creates a single CIM Class in
16 the target Namespace. The Class MUST NOT already exist. The NewClass input
17 parameter defines the new Class. The proposed definition MUST be a correct
18 Class definition according to the CIM specification.
19
20 In processing the creation of the new Class, the following rules MUST be
21 conformed to by the CIM Server:
22 karl 1.1
23 Any CLASSORIGIN and PROPAGATED attributes in the NewClass MUST be ignored by
24 the Server. If the new Class has no Superclass, the NewClass parameter
25 defines a new base Class. The Server MUST ensure that all Properties and
26 Methods of the new Class have a CLASSORIGIN attribute whose value is the
27 name of the new Class. If the new Class has a Superclass, the NewClass
28 parameter defines a new Subclass of that Superclass. The Superclass MUST
29 exist. The Server MUST ensure that:
30
31 <UL>
32 <LI>Any Properties, Methods or Qualifiers in the Subclass not defined in
33 the Superclass are created as new elements of the Subclass. In
34 particular the Server MUST set the CLASSORIGIN attribute on the new
35 Properties and Methods to the name of the Subclass, and ensure that all
36 other Properties and Methods preserve their CLASSORIGIN attribute value
37 from that defined in the Superclass
38
39 If a Property is defined in the Superclass and in the Subclass, the
40 value assigned to that property in the Subclass (including NULL) becomes
41 the default value of the property for the Subclass. If a Property or
42 Method of the Superclass is not specified in the Subclass, then that
43 karl 1.1 Property or Method is inherited without modification by the Subclass
44
45 <LI>Any Qualifiers defined in the Superclass with a TOSUBCLASS attribute
46 value of true MUST appear in the resulting Subclass. Qualifiers in the
47 Superclass with a TOSUBCLASS attribute value of false MUST NOT be
48 propagated to the Subclass . Any Qualifier propagated from the
49 Superclass cannot be modified in the Subclass if the OVERRIDABLE
50 attribute of that Qualifier was set to false in the Superclass. It is a
51 Client error to specify such a Qualifier in the NewClass with a
52 different definition to that in the Superclass (where definition
53 encompasses the name, type and flavor attribute settings of the
54 <QUALIFIER> element, and the value of the Qualifier).
55 </LI>
56 </UL>
57
58 @param NameSpace The NameSpace parameter is a string that defines the target
59 namespace \Ref{NAMESPACE}
60
61 @parm NewClass The NewClass input parameter defines the new Class.
62
63 @return If successful, the specified Class MUST have been created by the CIM
64 karl 1.1 Server.
65
66 If unsuccessful, one of the following status codes MUST be returned by this
67 method, where the first applicable error in the list (starting with the
68 first element of the list, and working down) is the error returned. Any
69 additional method-specific interpretation of the error in is given in
70 parentheses.
71 <UL>
72 <LI>CIM_ERR_ACCESS_DENIED
73 <LI>CIM_ERR_NOT_SUPPORTED
74 <LI>CIM_ERR_INVALID_NAMESPACE
75 <LI>CIM_ERR_INVALID_PARAMETER (including missing, duplicate,
76 unrecognized or otherwise incorrect parameters)
77 <LI>CIM_ERR_ALREADY_EXISTS (the CIM Class already exists)
78 <LI>CIM_ERR_INVALID_SUPERCLASS (the putative CIM Class declares a
79 non-existent superclass)
80 <LI>CIM_ERR_FAILED (some other unspecified error occurred)</LI>
81 </UL>
82 <PRE>
83 virtual void createClass(
84
85 karl 1.1 const String& nameSpace,
86 ClassDecl& newClass) = 0;
87
88 </PRE>
89 </form>
90
91 </body>
92 </html>
93
|