1 tony 1.1 //%/////////////////////////////////////////////////////////////////////////////
2 //
3 // Copyright (c) 2003 BMC Software, Hewlett-Packard Company, IBM,
4 // The Open Group, Tivoli Systems
5 //
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 //
13 // 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 tony 1.1 //==============================================================================
23 //
24 // Author: Tony Fiorentino (fiorentino_tony@emc.com)
25 //
26 // Modified By:
27 //
28 //%/////////////////////////////////////////////////////////////////////////////
29 #ifndef Pegasus_CIMServerDiscovery_h
30 #define Pegasus_CIMServerDiscovery_h
31
32 #include <Pegasus/Common/Config.h>
33 #include <Pegasus/Common/Array.h>
34 #include <Pegasus/Common/String.h>
35 #include <Pegasus/Client/Attribute.h>
36 #include <Pegasus/Client/CIMServerDescription.h>
37 #include <Pegasus/Client/Linkage.h>
38
39 PEGASUS_NAMESPACE_BEGIN
40
41
42 ///////////////////////////////////////////////////////////////////////////////
43 tony 1.1 // CIMServerDiscoveryRep
44 ///////////////////////////////////////////////////////////////////////////////
45 class CIMServerDiscoveryRep
46 {
47 public:
48
49 CIMServerDiscoveryRep();
50 ~CIMServerDiscoveryRep();
51
52 Array<CIMServerDescription> lookup(const Array<Attribute> & criteria);
53
54 };
55
56 /** This class provides the interface that a client uses to discover
57 CIM Servers
58 */
59 class PEGASUS_CLIENT_LINKAGE CIMServerDiscovery
60 {
61 public:
62
63 /** Constructor for a CIMServerDiscovery object.
64 tony 1.1 */
65 CIMServerDiscovery();
66
67 /** Destructor for a CIMServerDiscovery object
68 */
69 ~CIMServerDiscovery();
70
71 /** Lookup all WBEM servers
72 @return the return value is an array of connection descriptions.
73 */
74 Array<CIMServerDescription> lookup();
75
76 /** Lookup specific WBEM servers
77 @param criteria Criteria for specifing which CIM Servers to lookup.
78 @return the return value is array of connection descriptions.
79 */
80 Array<CIMServerDescription> lookup(const Array<Attribute> & criteria);
81
82 private:
83
84 CIMServerDiscoveryRep* _rep;
85 tony 1.1 };
86
87 PEGASUS_NAMESPACE_END
88
89 #endif /* Pegasus_CIMServerDiscovery_h */
90
91
92
|