(file) Return to CIMAssociationProvider.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Provider

  1 martin 1.27 //%LICENSE////////////////////////////////////////////////////////////////
  2 martin 1.28 //
  3 martin 1.27 // Licensed to The Open Group (TOG) under one or more contributor license
  4             // agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
  5             // this work for additional information regarding copyright ownership.
  6             // Each contributor licenses this file to you under the OpenPegasus Open
  7             // Source License; you may not use this file except in compliance with the
  8             // License.
  9 martin 1.28 //
 10 martin 1.27 // Permission is hereby granted, free of charge, to any person obtaining a
 11             // copy of this software and associated documentation files (the "Software"),
 12             // to deal in the Software without restriction, including without limitation
 13             // the rights to use, copy, modify, merge, publish, distribute, sublicense,
 14             // and/or sell copies of the Software, and to permit persons to whom the
 15             // Software is furnished to do so, subject to the following conditions:
 16 martin 1.28 //
 17 martin 1.27 // The above copyright notice and this permission notice shall be included
 18             // in all copies or substantial portions of the Software.
 19 martin 1.28 //
 20 martin 1.27 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 21 martin 1.28 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 22 martin 1.27 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 23             // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 24             // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 25             // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 26             // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 27 martin 1.28 //
 28 martin 1.27 //////////////////////////////////////////////////////////////////////////
 29 chip   1.1  //
 30             //%/////////////////////////////////////////////////////////////////////////////
 31             
 32             #ifndef Pegasus_CIMAssociationProvider_h
 33             #define Pegasus_CIMAssociationProvider_h
 34             
 35             #include <Pegasus/Common/Config.h>
 36 kumpf  1.14 #include <Pegasus/Provider/CIMProvider.h>
 37 chip   1.1  
 38             #include <Pegasus/Common/Array.h>
 39             #include <Pegasus/Common/String.h>
 40 kumpf  1.11 #include <Pegasus/Common/CIMName.h>
 41 kumpf  1.5  #include <Pegasus/Common/CIMPropertyList.h>
 42 kumpf  1.6  #include <Pegasus/Common/CIMObjectPath.h>
 43 chip   1.1  #include <Pegasus/Common/CIMInstance.h>
 44 kumpf  1.10 #include <Pegasus/Provider/Linkage.h>
 45 chip   1.1  
 46             PEGASUS_NAMESPACE_BEGIN
 47             
 48             /**
 49 kumpf  1.23     This class defines the set of methods implemented by an association
 50                 provider.  A providers that derives from this class must implement all of
 51 kumpf  1.26     the methods.  A minimal method implementation simply throws a
 52                 CIMNotSupportedException. The methods match the association operations
 53                 defined for the client:
 54 kumpf  1.23         <UL>
 55                     <LI> referenceNames
 56                     <LI> references
 57                     <LI> associatorNames
 58                     <LI> associators
 59                     </UL>
 60 kumpf  1.26     Provider instrumentation differs semantically from a client request in
 61                 that a provider implementation is specific to one association class while
 62                 a client request may span many association classes.  Also, an assocation
 63                 provider deals only with instance data, while a client may also issue
 64                 class level association requests.
 65 chip   1.1  */
 66 kumpf  1.23 class PEGASUS_PROVIDER_LINKAGE CIMAssociationProvider :
 67                 public virtual CIMProvider
 68 chip   1.1  {
 69             public:
 70 kumpf  1.26     /**
 71                     Constructs a default CIMAssociationProvider object.
 72                 */
 73 kumpf  1.23     CIMAssociationProvider();
 74 kumpf  1.26 
 75                 /**
 76                     Destructs a CIMAssociationProvider object.
 77                 */
 78 kumpf  1.23     virtual ~CIMAssociationProvider();
 79 chip   1.1  
 80 kumpf  1.26     /**
 81                     Enumerates CIM instances that are associated to a specified instance
 82                         via a specified association class.
 83             
 84                     @param context An OperationContext object containing the context for
 85                         the processing of the operation.  The context includes the name of
 86                         the requesting user, language information, and other data.
 87             
 88                     @param objectName A fully qualified CIMObjectPath specifying the
 89                         "source" instance for which to enumerate associated instances.
 90             
 91                     @param associationClass The name of the association class through
 92                         which the returned instances are associated with the source
 93                         instance.  Instances associated through another class must not be
 94                         returned.
 95             
 96                     @param resultClass The name of the class to which the returned
 97                         instances must belong.  Instances of this class and its subclasses
 98                         may be returned, but not instances of another class.  If null,
 99                         the set of returned instances is not constrained by their class.
100             
101 kumpf  1.26         @param role The role of the source instance in the association
102                         instance.  If the role is not an empty string, the returned
103                         instances must be associated with the source instance such that
104                         the name of the assocation property referring to the source
105                         instance matches the role value.
106             
107                     @param resultRole The role of the returned instances in the association
108                         instance.  If the role is not an empty string, the returned
109                         instances must be associated with the source instance such that
110                         the name of the assocation property referring to the returned
111                         instances matches the role value.
112             
113                     @param includeQualifiers A Boolean indicating whether the returned
114                         instances must include the qualifiers for the instance and its
115                         properties.  Qualifiers may be included even if this flag is false.
116             
117                     @param includeClassOrigin A Boolean indicating whether the returned
118                         instances must include the class origin for each of the instance
119                         elements.
120             
121                     @param propertyList A CIMPropertyList specifying the minimum set of
122 anusha.kandepu 1.29             properties required in the returned instance.  Support for this
123                                 parameter is optional.This parameter can be used by the provider
124                                 to optimize their code and not fill properties which are not
125                                 requested.The cimserver will filter all properties using an
126                                 efficient algorithm hence the returned instance may contain
127                                 properties not specified in the list.A null propertyList
128 kumpf          1.26             indicates that all properties must be included.  A non-null,
129                                 but empty, propertyList indicates that no properites are required.
130                     
131                             @param handler ResponseHandler object for delivery of results.
132                                 Note: The delivered instances are expected to contain the
133                                 instance path.  If the host and namespace are not included in the
134                                 path, they are added by the CIM Server.
135                     
136                             @exception CIMNotSupportedException
137                             @exception CIMInvalidParameterException
138                             @exception CIMAccessDeniedException
139                             @exception CIMOperationFailedException
140 chip           1.4      */
141                         virtual void associators(
142 kumpf          1.23         const OperationContext & context,
143                             const CIMObjectPath & objectName,
144                             const CIMName & associationClass,
145                             const CIMName & resultClass,
146                             const String & role,
147                             const String & resultRole,
148                             const Boolean includeQualifiers,
149                             const Boolean includeClassOrigin,
150                             const CIMPropertyList & propertyList,
151                             ObjectResponseHandler & handler) = 0;
152 chip           1.4  
153 kumpf          1.26     /**
154                             Enumerates CIM instance names that are associated to a specified
155                             instance via a specified association class.
156                     
157                             @param context An OperationContext object containing the context for
158                                 the processing of the operation.  The context includes the name of
159                                 the requesting user, language information, and other data.
160                     
161                             @param objectName A fully qualified CIMObjectPath specifying the
162                                 "source" instance for which to enumerate associated instance names.
163                     
164                             @param associationClass The name of the association class through
165                                 which the returned instance names are associated with the source
166                                 instance.  Names of instances associated through another class
167                                 must not be returned.
168                     
169                             @param resultClass The name of the class to which the returned
170                                 instance names must belong.  Names of instances of this class and
171                                 its subclasses may be returned, but not instances of another class.
172                                 If null, the set of returned instance names is not constrained by
173                                 their class.
174 kumpf          1.26 
175                             @param role The role of the source instance in the association
176                                 instance.  If the role is not an empty string, the returned
177                                 instance names must be associated with the source instance such
178                                 that the name of the assocation property referring to the source
179                                 instance matches the role value.
180                     
181                             @param resultRole The role of the returned instance names in the
182                                 association instance.  If the role is not an empty string, the
183                                 returned instance names must be associated with the source
184                                 instance such that the name of the assocation property referring
185                                 to the returned instance names matches the role value.
186                     
187                             @param handler ResponseHandler object for delivery of results.
188                                 Note: The delivered instance names are expected to contain host
189                                 and namespace information.  If not included, they are added by
190                                 the CIM Server.
191                     
192                             @exception CIMNotSupportedException
193                             @exception CIMInvalidParameterException
194                             @exception CIMAccessDeniedException
195 kumpf          1.26         @exception CIMOperationFailedException
196 chip           1.4      */
197                         virtual void associatorNames(
198 kumpf          1.23         const OperationContext & context,
199                             const CIMObjectPath & objectName,
200                             const CIMName & associationClass,
201                             const CIMName & resultClass,
202                             const String & role,
203                             const String & resultRole,
204                             ObjectPathResponseHandler & handler) = 0;
205 chip           1.4  
206 kumpf          1.26     /**
207                             Enumerates CIM association instances that refer to a specified
208                             instance.
209                     
210                             @param context An OperationContext object containing the context for
211                                 the processing of the operation.  The context includes the name of
212                                 the requesting user, language information, and other data.
213                     
214                             @param objectName A fully qualified CIMObjectPath specifying the
215                                 "source" instance for which to enumerate referring instances.
216                     
217                             @param resultClass The class name of the association instances to be
218                                 returned.  Instances of other classes must not be returned.
219                     
220                             @param role The role of the source instance in the association
221                                 instance.  If the role is not an empty string, the returned
222                                 association instances must refer to the source instance via a
223                                 property whose name matches the role value.
224                     
225                             @param includeQualifiers A Boolean indicating whether the returned
226                                 instances must include the qualifiers for the instance and its
227 kumpf          1.26             properties.  Qualifiers may be included even if this flag is false.
228                     
229                             @param includeClassOrigin A Boolean indicating whether the returned
230                                 instances must include the class origin for each of the instance
231                                 elements.
232                     
233                             @param propertyList A CIMPropertyList specifying the minimum set of
234 anusha.kandepu 1.29             properties required in the returned instance.  Support for this
235                                 parameter is optional.This parameter can be used by the provider
236                                 to optimize their code and not fill properties which are not
237                                 requested.The cimserver will filter all properties using an
238                                 efficient algorithm hence the returned instance may contain
239                                 properties not specified in the list.A null propertyList
240 kumpf          1.26             indicates that all properties must be included.  A non-null,
241                                 but empty, propertyList indicates that no properites are required.
242                     
243                             @param handler ResponseHandler object for delivery of results.
244                                 Note: The delivered instances are expected to contain the
245                                 instance path.  If the host and namespace are not included in the
246                                 path, they are added by the CIM Server.
247                     
248                             @exception CIMNotSupportedException
249                             @exception CIMInvalidParameterException
250                             @exception CIMAccessDeniedException
251                             @exception CIMOperationFailedException
252 chip           1.4      */
253                         virtual void references(
254 kumpf          1.23         const OperationContext & context,
255                             const CIMObjectPath & objectName,
256                             const CIMName & resultClass,
257                             const String & role,
258                             const Boolean includeQualifiers,
259                             const Boolean includeClassOrigin,
260                             const CIMPropertyList & propertyList,
261                             ObjectResponseHandler & handler) = 0;
262                     
263 kumpf          1.26     /**
264                             Enumerates the names of CIM association instances that refer to a
265                             specified instance.
266                     
267                             @param context An OperationContext object containing the context for
268                                 the processing of the operation.  The context includes the name of
269                                 the requesting user, language information, and other data.
270                     
271                             @param objectName A fully qualified CIMObjectPath specifying the
272                                 "source" instance for which to enumerate referring instance names.
273                     
274                             @param resultClass The class name of the association instance names to
275                                 be returned.  Names of instances of other classes must not be
276                                 returned.
277                     
278                             @param role The role of the source instance in the association
279                                 instance.  If the role is not an empty string, the returned
280                                 association instance names must refer to the source instance via a
281                                 property whose name matches the role value.
282                     
283                             @param handler ResponseHandler object for delivery of results.
284 kumpf          1.26             Note: The delivered instance names are expected to contain host
285                                 and namespace information.  If not included, they are added by
286                                 the CIM Server.
287                     
288                             @exception CIMNotSupportedException
289                             @exception CIMInvalidParameterException
290                             @exception CIMAccessDeniedException
291                             @exception CIMOperationFailedException
292 chip           1.4      */
293                         virtual void referenceNames(
294 kumpf          1.23         const OperationContext & context,
295                             const CIMObjectPath & objectName,
296                             const CIMName & resultClass,
297                             const String & role,
298                             ObjectPathResponseHandler & handler) = 0;
299 chip           1.1  };
300                     
301                     PEGASUS_NAMESPACE_END
302                     
303                     #endif

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2