34 karl 1.1 The <TT>createClass</TT> method creates a single CIM Class in
35 the target Namespace. The Class MUST NOT already exist. The NewClass input
36 parameter defines the new Class. The proposed definition MUST be a correct
37 Class definition according to the CIM specification.
38
39 In processing the creation of the new Class, the following rules MUST be
40 conformed to by the CIM Server:
41
42 Any CLASSORIGIN and PROPAGATED attributes in the NewClass MUST be ignored by
43 the Server. If the new Class has no Superclass, the NewClass parameter
44 defines a new base Class. The Server MUST ensure that all Properties and
45 Methods of the new Class have a CLASSORIGIN attribute whose value is the
46 name of the new Class. If the new Class has a Superclass, the NewClass
47 parameter defines a new Subclass of that Superclass. The Superclass MUST
48 exist. The Server MUST ensure that:
49
50 <UL>
51 <LI>Any Properties, Methods or Qualifiers in the Subclass not defined in
52 the Superclass are created as new elements of the Subclass. In
53 particular the Server MUST set the CLASSORIGIN attribute on the new
54 Properties and Methods to the name of the Subclass, and ensure that all
55 karl 1.1 other Properties and Methods preserve their CLASSORIGIN attribute value
56 from that defined in the Superclass
57
58 If a Property is defined in the Superclass and in the Subclass, the
59 value assigned to that property in the Subclass (including NULL) becomes
60 the default value of the property for the Subclass. If a Property or
61 Method of the Superclass is not specified in the Subclass, then that
62 Property or Method is inherited without modification by the Subclass
63
64 <LI>Any Qualifiers defined in the Superclass with a TOSUBCLASS attribute
65 value of true MUST appear in the resulting Subclass. Qualifiers in the
66 Superclass with a TOSUBCLASS attribute value of false MUST NOT be
67 propagated to the Subclass . Any Qualifier propagated from the
68 Superclass cannot be modified in the Subclass if the OVERRIDABLE
69 attribute of that Qualifier was set to false in the Superclass. It is a
70 Client error to specify such a Qualifier in the NewClass with a
71 different definition to that in the Superclass (where definition
72 encompasses the name, type and flavor attribute settings of the
73 <QUALIFIER> element, and the value of the Qualifier).
74 </LI>
75 </UL>
76 karl 1.1
77 @param NameSpace The NameSpace parameter is a string that defines the target
78 namespace \Ref{NAMESPACE}
79
80 @parm NewClass The NewClass input parameter defines the new Class.
81
82 @return If successful, the specified Class MUST have been created by the CIM
83 Server.
84
85 If unsuccessful, one of the following status codes MUST be returned by this
86 method, where the first applicable error in the list (starting with the
87 first element of the list, and working down) is the error returned. Any
88 additional method-specific interpretation of the error in is given in
89 parentheses.
90 <UL>
91 <LI>CIM_ERR_ACCESS_DENIED
92 <LI>CIM_ERR_NOT_SUPPORTED
93 <LI>CIM_ERR_INVALID_NAMESPACE
94 <LI>CIM_ERR_INVALID_PARAMETER (including missing, duplicate,
95 unrecognized or otherwise incorrect parameters)
96 <LI>CIM_ERR_ALREADY_EXISTS (the CIM Class already exists)
97 karl 1.1 <LI>CIM_ERR_INVALID_SUPERCLASS (the putative CIM Class declares a
98 non-existent superclass)
99 <LI>CIM_ERR_FAILED (some other unspecified error occurred)</LI>
100 </UL>
101 <PRE>
102 virtual void createClass(
103
|