1 karl 1.5 //%2006////////////////////////////////////////////////////////////////////////
|
2 a.arora 1.1 //
3 // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
4 // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
5 // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
6 // IBM Corp.; EMC Corporation, The Open Group.
7 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
8 // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
|
9 karl 1.4 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
10 // EMC Corporation; VERITAS Software Corporation; The Open Group.
|
11 karl 1.5 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
12 // EMC Corporation; Symantec Corporation; The Open Group.
|
13 a.arora 1.1 //
14 // Permission is hereby granted, free of charge, to any person obtaining a copy
15 // of this software and associated documentation files (the "Software"), to
16 // deal in the Software without restriction, including without limitation the
17 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
18 // sell copies of the Software, and to permit persons to whom the Software is
19 // furnished to do so, subject to the following conditions:
20 //
21 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
22 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
23 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
24 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
25 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
26 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
27 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
28 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29 //
30 //==============================================================================
31 //
32 // Author: Amit K Arora, IBM (amitarora@in.ibm.com) - PEP 193
33 //
|
34 a.arora 1.3 // Modified By: Amit K Arora, IBM (amitarora@in.ibm.com) - Bug#2462,#2491
|
35 a.arora 1.1 //
36 //%/////////////////////////////////////////////////////////////////////////////
37
38 #ifndef Pegasus_CIMQueryCapabilitiesProvider_h
39 #define Pegasus_CIMQueryCapabilitiesProvider_h
40
41 #include <Pegasus/Common/Config.h>
42 #include <Pegasus/Common/Constants.h>
43 #include <Pegasus/Common/Exception.h>
44 #include <Pegasus/ControlProviders/QueryCapabilitiesProvider/Linkage.h>
45 #include <Pegasus/Provider/CIMInstanceProvider.h>
46 #include <iostream>
47
48 #define PROPERTY_NAME_ELEMENT_NAME "ElementName"
49 #define PROPERTY_NAME_DESCRIPTION "Description"
50 #define PROPERTY_NAME_CAPTION "Caption"
51 #define PROPERTY_NAME_INSTANCEID "InstanceID"
52 #define PROPERTY_NAME_CQLFEATURES "CQLFeatures"
53
54 #define INSTANCEID_VALUE "CIM:PegasusQueryCapabilities"
55 #define NUM_KEY_PROPERTIES 1
56 a.arora 1.1
57 PEGASUS_NAMESPACE_BEGIN
58
59 class PEGASUS_CIMQUERYCAPPROVIDER_LINKAGE CIMQueryCapabilitiesProvider :
60 public CIMInstanceProvider
61 {
62 public:
63 CIMQueryCapabilitiesProvider();
64 virtual ~CIMQueryCapabilitiesProvider();
65
|
66 kumpf 1.6 // CIMProvider interface
67 // Note: The initialize() and terminate() methods are not called for
68 // Control Providers.
69 virtual void initialize(CIMOMHandle& cimom) { }
70 virtual void terminate() { }
|
71 a.arora 1.1
72 // CIMQueryCapabilitiesProvider interface
73 virtual void getInstance(
74 const OperationContext & context,
75 const CIMObjectPath & ref,
76 const Boolean includeQualifiers,
77 const Boolean includeClassOrigin,
78 const CIMPropertyList & propertyList,
79 InstanceResponseHandler & handler);
80
81 virtual void enumerateInstances(
82 const OperationContext & context,
83 const CIMObjectPath & ref,
84 const Boolean includeQualifiers,
85 const Boolean includeClassOrigin,
86 const CIMPropertyList & propertyList,
87 InstanceResponseHandler & handler);
88
89 virtual void enumerateInstanceNames(
90 const OperationContext & context,
91 const CIMObjectPath & ref,
92 a.arora 1.1 ObjectPathResponseHandler & handler);
93
94 virtual void modifyInstance(
95 const OperationContext & context,
96 const CIMObjectPath & ref,
97 const CIMInstance & obj,
98 const Boolean includeQualifiers,
99 const CIMPropertyList & propertyList,
100 ResponseHandler & handler);
101
102 virtual void createInstance(
103 const OperationContext & context,
104 const CIMObjectPath & ref,
105 const CIMInstance & obj,
106 ObjectPathResponseHandler & handler);
107
108 virtual void deleteInstance(
109 const OperationContext & context,
110 const CIMObjectPath & ref,
111 ResponseHandler & handler);
112
113 a.arora 1.1 CIMInstance buildInstance(CIMObjectPath cimRef);
114
115 static const Uint16 FeatureSet[];
|
116 a.arora 1.2 static const int NUM_QUERY_CAPABILITIES;
|
117 a.arora 1.1
118 static void getFeatureSet(Array<Uint16>& features)
119 {
120 for(int i=0; i<NUM_QUERY_CAPABILITIES; i++)
121 {
122 features[i] = FeatureSet[i];
123 }
124 }
125
126
127 protected:
128 CIMOMHandle _cimom;
129
130 };
131
132
133 PEGASUS_NAMESPACE_END
134
135 #endif
|