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 kumpf 1.7 //
|
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_CIMAssociationProvider_h
31 #define Pegasus_CIMAssociationProvider_h
32
33 #include <Pegasus/Common/Config.h>
34 chip 1.1 #include <Pegasus/Provider/CIMBaseProvider.h>
35
36 #include <Pegasus/Common/Array.h>
37 #include <Pegasus/Common/String.h>
|
38 kumpf 1.11 #include <Pegasus/Common/CIMName.h>
|
39 kumpf 1.5 #include <Pegasus/Common/CIMPropertyList.h>
|
40 kumpf 1.6 #include <Pegasus/Common/CIMObjectPath.h>
|
41 chip 1.1 #include <Pegasus/Common/CIMInstance.h>
|
42 kumpf 1.10 #include <Pegasus/Provider/Linkage.h>
|
43 chip 1.1
44 PEGASUS_NAMESPACE_BEGIN
45
46 /**
47 This class defines the set of methods implemented by an association provider. A providers that derives
48 from this class must implement all methods. The minimal method implementation simply throw the
49 NotSupported exception.
50 */
51 class PEGASUS_PROVIDER_LINKAGE CIMAssociationProvider : public virtual CIMBaseProvider
52 {
53 public:
|
54 chip 1.4 CIMAssociationProvider(void);
55 virtual ~CIMAssociationProvider(void);
|
56 chip 1.1
|
57 chip 1.4 /**
58
|
59 kumpf 1.13 @param context contains security and locale information relevant for the lifetime
|
60 chip 1.4 of this operation.
61
62 @param objectName
63 @param associationClass
64 @param resultClass
65 @param role
66 @param resultRole
|
67 kumpf 1.13 @param includeQualifiers
68 @param includeClassOrigin
|
69 chip 1.4 @param propertyList
70
|
71 kumpf 1.13 @param handler asynchronously processes the results of this operation.
|
72 chip 1.4
73 @exception NotSupported
74 @exception InvalidParameter
75 */
76 virtual void associators(
77 const OperationContext & context,
|
78 kumpf 1.6 const CIMObjectPath & objectName,
|
79 kumpf 1.11 const CIMName & associationClass,
80 const CIMName & resultClass,
|
81 chip 1.4 const String & role,
82 const String & resultRole,
|
83 kumpf 1.13 const Boolean includeQualifiers,
84 const Boolean includeClassOrigin,
|
85 kumpf 1.5 const CIMPropertyList & propertyList,
|
86 kumpf 1.12 ObjectResponseHandler & handler) = 0;
|
87 chip 1.4
88 /**
|
89 kumpf 1.13 @param context contains security and locale information relevant for the lifetime
|
90 chip 1.4 of this operation.
91
92 @param objectName
93 @param associationClass
94 @param resultClass
95 @param role
96 @param resultRole
97
|
98 kumpf 1.13 @param handler asynchronously processes the results of this operation.
|
99 chip 1.4
100 @exception NotSupported
101 @exception InvalidParameter
102 */
103 virtual void associatorNames(
104 const OperationContext & context,
|
105 kumpf 1.6 const CIMObjectPath & objectName,
|
106 kumpf 1.11 const CIMName & associationClass,
107 const CIMName & resultClass,
|
108 chip 1.4 const String & role,
109 const String & resultRole,
|
110 kumpf 1.12 ObjectPathResponseHandler & handler) = 0;
|
111 chip 1.4
112 /**
|
113 kumpf 1.13 @param context contains security and locale information relevant for the lifetime
|
114 chip 1.4 of this operation.
115
116 @param objectName
117 @param resultClass
118 @param role
119 @param resultRole
|
120 kumpf 1.13 @param includeQualifiers
121 @param includeClassOrigin
|
122 chip 1.4 @param propertyList
123
|
124 kumpf 1.13 @param handler asynchronously processes the results of this operation.
|
125 chip 1.4
126 @exception NotSupported
127 @exception InvalidParameter
128 */
129 virtual void references(
130 const OperationContext & context,
|
131 kumpf 1.6 const CIMObjectPath & objectName,
|
132 kumpf 1.11 const CIMName & resultClass,
|
133 chip 1.4 const String & role,
|
134 kumpf 1.13 const Boolean includeQualifiers,
135 const Boolean includeClassOrigin,
|
136 kumpf 1.5 const CIMPropertyList & propertyList,
|
137 kumpf 1.12 ObjectResponseHandler & handler) = 0;
|
138 chip 1.4
139 /**
|
140 kumpf 1.13 @param context contains security and locale information relevant for the lifetime
|
141 chip 1.4 of this operation.
142
143 @param objectName
144 @param resultClass
145 @param role
146
|
147 kumpf 1.13 @param handler asynchronously processes the results of this operation.
|
148 chip 1.4
149 @exception NotSupported
150 @exception InvalidParameter
151 */
152 virtual void referenceNames(
153 const OperationContext & context,
|
154 kumpf 1.6 const CIMObjectPath & objectName,
|
155 kumpf 1.11 const CIMName & resultClass,
|
156 chip 1.4 const String & role,
|
157 kumpf 1.12 ObjectPathResponseHandler & handler) = 0;
|
158 chip 1.1 };
159
160 PEGASUS_NAMESPACE_END
161
162 #endif
|