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

  1 karl  1.8 //%2006////////////////////////////////////////////////////////////////////////
  2 tony  1.1 //
  3 karl  1.6 // 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 karl  1.3 // IBM Corp.; EMC Corporation, The Open Group.
  7 karl  1.6 // 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.7 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 10           // EMC Corporation; VERITAS Software Corporation; The Open Group.
 11 karl  1.8 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 12           // EMC Corporation; Symantec Corporation; The Open Group.
 13 tony  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           //%/////////////////////////////////////////////////////////////////////////////
 33 kumpf 1.9 
 34 tony  1.1 #ifndef Pegasus_CIMServerDiscovery_h
 35           #define Pegasus_CIMServerDiscovery_h
 36           
 37           #include <Pegasus/Common/Config.h>
 38           #include <Pegasus/Common/Array.h>
 39           #include <Pegasus/Common/String.h>
 40 david.dillard 1.5 #include <Pegasus/Common/Attribute.h>
 41                   #include <Pegasus/Common/CIMServerDescription.h>
 42 tony          1.1 #include <Pegasus/Client/Linkage.h>
 43                   
 44                   PEGASUS_NAMESPACE_BEGIN
 45                   
 46 karl          1.4 //*****************************************************************************
 47                   // SLPClientOptions
 48                   //*****************************************************************************
 49                   
 50                   /** Purpose: allow some flexibility in the nature of the SLP
 51 kumpf         1.9     srv requests, particularly to permit unicast da requests,
 52                       passing of scopes and spi parameters etc.
 53 karl          1.4 */
 54                   
 55 kumpf         1.9 struct PEGASUS_CLIENT_LINKAGE SLPClientOptions
 56                   {
 57                       char* target_address;
 58                       char* local_interface;
 59                       unsigned short target_port;
 60                       char* spi;
 61                       char* scopes;
 62                       char* service_type;
 63                       char* predicate;
 64                       bool use_directory_agent;
 65                       /**
 66                           Constructs an empty object. User must strdup the
 67                           string values during initialistation,
 68                           which are then freed automatically during
 69                           destruction.
 70                       */
 71                       SLPClientOptions();
 72                   
 73                       /**
 74                           Destroys object and contained string values
 75                       */
 76 kumpf         1.9     ~SLPClientOptions();
 77                   
 78                       /**
 79                           For debugging
 80                       */
 81                       void print() const;
 82                   
 83 karl          1.4 private:
 84 kumpf         1.9     SLPClientOptions(const SLPClientOptions& options);
 85                       SLPClientOptions& operator=(const SLPClientOptions& options);
 86 karl          1.4 };
 87                   
 88 tony          1.1 
 89 karl          1.2 //*****************************************************************************
 90 tony          1.1 // CIMServerDiscoveryRep
 91 karl          1.2 //*****************************************************************************
 92                   
 93                   
 94 tony          1.1 class CIMServerDiscoveryRep
 95                   {
 96                   public:
 97                   
 98                     CIMServerDiscoveryRep();
 99                     ~CIMServerDiscoveryRep();
100                   
101 kumpf         1.9   Array<CIMServerDescription> lookup(
102                         const Array<Attribute>& criteria,
103                         const SLPClientOptions* options = NULL);
104 tony          1.1 
105                   };
106                   
107                   /** This class provides the interface that a client uses to discover
108 karl          1.2     CIM Servers.
109                       ATTN: Add more descriptive material here KS 2 Oct 2003
110 tony          1.1 */
111                   class PEGASUS_CLIENT_LINKAGE CIMServerDiscovery
112                   {
113                   public:
114                   
115                     /** Constructor for a CIMServerDiscovery object.
116                     */
117                     CIMServerDiscovery();
118                   
119                     /** Destructor for a CIMServerDiscovery object
120                     */
121                     ~CIMServerDiscovery();
122                   
123                     /** Lookup all WBEM servers
124                         @return  the return value is an array of connection descriptions.
125                     */
126 karl          1.4   Array<CIMServerDescription> lookup(const SLPClientOptions* options = NULL);
127 tony          1.1 
128                     /** Lookup specific WBEM servers
129                         @param   criteria   Criteria for specifing which CIM Servers to lookup.
130                         @return  the return value is array of connection descriptions.
131                     */
132 kumpf         1.9   Array<CIMServerDescription> lookup(
133                         const Array<Attribute>& criteria,
134                         const SLPClientOptions* options = NULL);
135 tony          1.1 
136                   private:
137                   
138                     CIMServerDiscoveryRep* _rep;
139                   };
140                   
141                   PEGASUS_NAMESPACE_END
142                   
143                   #endif /* Pegasus_CIMServerDiscovery_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2