1 chip 1.1 //%/////////////////////////////////////////////////////////////////////////////
2 //
|
3 kumpf 1.7 // Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Company, IBM,
4 // The Open Group, Tivoli Systems
|
5 chip 1.1 //
6 // Permission is hereby granted, free of charge, to any person obtaining a copy
7 // of this software and associated documentation files (the "Software"), to
8 // deal in the Software without restriction, including without limitation the
9 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10 // sell copies of the Software, and to permit persons to whom the Software is
11 // furnished to do so, subject to the following conditions:
|
12 chip 1.8 //
|
13 chip 1.1 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
14 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
15 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
16 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
17 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
18 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 //
22 //==============================================================================
23 //
24 // Author: Chip Vincent (cvincent@us.ibm.com)
25 //
26 // Modified By:
27 //
28 //%/////////////////////////////////////////////////////////////////////////////
29
30 #ifndef Pegasus_CIMClassProvider_h
31 #define Pegasus_CIMClassProvider_h
32
33 #include <Pegasus/Common/Config.h>
|
34 kumpf 1.16 #include <Pegasus/Provider/CIMProvider.h>
|
35 chip 1.1
36 #include <Pegasus/Common/Array.h>
|
37 kumpf 1.5 #include <Pegasus/Common/CIMPropertyList.h>
|
38 kumpf 1.6 #include <Pegasus/Common/CIMObjectPath.h>
|
39 chip 1.1 #include <Pegasus/Common/CIMClass.h>
|
40 kumpf 1.11 #include <Pegasus/Provider/Linkage.h>
|
41 chip 1.1
42 PEGASUS_NAMESPACE_BEGIN
43
44 /**
45 This class defines the set of methods implemented by an class provider. A providers that derives
46 from this class must implement all methods. The minimal method implementation simply throw the
47 NotSupported exception.
48 */
|
49 kumpf 1.16 class PEGASUS_PROVIDER_LINKAGE CIMClassProvider : public virtual CIMProvider
|
50 chip 1.1 {
51 public:
|
52 chip 1.4 CIMClassProvider(void);
53 virtual ~CIMClassProvider(void);
|
54 chip 1.1
|
55 chip 1.4 /**
56
57 @param contex contains security and locale information relevant for the lifetime
58 of this operation.
59
60 @param classReference
|
61 kumpf 1.15 @param localOnly
62 @param includeQualifiers
63 @param includeClassOrigin
|
64 chip 1.4 @param propertyList
65
66 @param handler asynchronusly processes the results of this operation.
67
68 @exception NotSupported
69 @exception InvalidParameter
70 */
71 virtual void getClass(
|
72 chip 1.8 const OperationContext & context,
73 const CIMObjectPath & classReference,
|
74 kumpf 1.15 const Boolean localOnly,
75 const Boolean includeQualifiers,
76 const Boolean includeClassOrigin,
|
77 chip 1.8 const CIMPropertyList & propertyList,
|
78 kumpf 1.14 ClassResponseHandler & handler) = 0;
|
79 chip 1.4
80 /**
81 @param contex contains security and locale information relevant for the lifetime
82 of this operation.
83
84 @param classReference
|
85 kumpf 1.15 @param deepInheritance
86 @param localOnly
87 @param includeQualifiers
88 @param includeClassOrigin
|
89 chip 1.4
90 @param handler asynchronusly processes the results of this operation.
91
92 @exception NotSupported
93 @exception InvalidParameter
94 */
95 virtual void enumerateClasses(
|
96 chip 1.8 const OperationContext & context,
97 const CIMObjectPath & classReference,
|
98 kumpf 1.15 const Boolean deepInheritance,
99 const Boolean localOnly,
100 const Boolean includeQualifiers,
101 const Boolean includeClassOrigin,
|
102 kumpf 1.14 ClassResponseHandler & handler) = 0;
|
103 chip 1.4
104 /**
105 @param contex contains security and locale information relevant for the lifetime
106 of this operation.
107
108 @param classReference
|
109 kumpf 1.15 @param deepInheritance
|
110 chip 1.4
111 @param handler asynchronusly processes the results of this operation.
112
113 @exception NotSupported
114 @exception InvalidParameter
115 */
116 virtual void enumerateClassNames(
|
117 chip 1.8 const OperationContext & context,
118 const CIMObjectPath & classReference,
|
119 kumpf 1.15 const Boolean deepInheritance,
|
120 kumpf 1.14 ObjectPathResponseHandler & handler) = 0;
|
121 chip 1.4
122 /**
123 @param contex contains security and locale information relevant for the lifetime
124 of this operation.
125
126 @param classReference
127 @param classObject
128
129 @param handler asynchronusly processes the results of this operation.
130
131 @exception NotSupported
132 @exception InvalidParameter
133 */
134 virtual void modifyClass(
|
135 chip 1.8 const OperationContext & context,
136 const CIMObjectPath & classReference,
137 const CIMClass & classObject,
|
138 kumpf 1.14 ResponseHandler & handler) = 0;
|
139 chip 1.4
140 /**
141 @param contex contains security and locale information relevant for the lifetime
142 of this operation.
143
144 @param classReference
145 @param classObject
146
147 @param handler asynchronusly processes the results of this operation.
148
149 @exception NotSupported
150 @exception InvalidParameter
151 */
152 virtual void createClass(
|
153 chip 1.8 const OperationContext & context,
154 const CIMObjectPath & classReference,
155 const CIMClass & classObject,
|
156 kumpf 1.14 ResponseHandler & handler) = 0;
|
157 chip 1.4
158 /**
159 @param contex contains security and locale information relevant for the lifetime
160 of this operation.
161
162 @param classReference
163 @param handler
164
|
165 kumpf 1.13 @exception NotSupported
166 @exception InvalidParameter
|
167 chip 1.4 */
168 virtual void deleteClass(
|
169 chip 1.8 const OperationContext & context,
170 const CIMObjectPath & classReference,
|
171 kumpf 1.14 ResponseHandler & handler) = 0;
|
172 chip 1.1 };
173
174 PEGASUS_NAMESPACE_END
175
176 #endif
|
177 chip 1.8
|