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

  1 martin 1.10 //%LICENSE////////////////////////////////////////////////////////////////
  2 martin 1.11 //
  3 martin 1.10 // 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.11 //
 10 martin 1.10 // 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.11 //
 17 martin 1.10 // The above copyright notice and this permission notice shall be included
 18             // in all copies or substantial portions of the Software.
 19 martin 1.11 //
 20 martin 1.10 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 21 martin 1.11 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 22 martin 1.10 // 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.11 //
 28 martin 1.10 //////////////////////////////////////////////////////////////////////////
 29 tony   1.1  //
 30             //%/////////////////////////////////////////////////////////////////////////////
 31 kumpf  1.9  
 32 tony   1.1  #ifndef Pegasus_CIMServerDiscovery_h
 33             #define Pegasus_CIMServerDiscovery_h
 34             
 35             #include <Pegasus/Common/Config.h>
 36             #include <Pegasus/Common/Array.h>
 37             #include <Pegasus/Common/String.h>
 38 david.dillard 1.5  #include <Pegasus/Common/Attribute.h>
 39                    #include <Pegasus/Common/CIMServerDescription.h>
 40 tony          1.1  #include <Pegasus/Client/Linkage.h>
 41                    
 42                    PEGASUS_NAMESPACE_BEGIN
 43                    
 44 karl          1.4  //*****************************************************************************
 45                    // SLPClientOptions
 46                    //*****************************************************************************
 47                    
 48                    /** Purpose: allow some flexibility in the nature of the SLP
 49 kumpf         1.9      srv requests, particularly to permit unicast da requests,
 50                        passing of scopes and spi parameters etc.
 51 karl          1.4  */
 52                    
 53 kumpf         1.9  struct PEGASUS_CLIENT_LINKAGE SLPClientOptions
 54                    {
 55                        char* target_address;
 56                        char* local_interface;
 57                        unsigned short target_port;
 58                        char* spi;
 59                        char* scopes;
 60                        char* service_type;
 61                        char* predicate;
 62                        bool use_directory_agent;
 63                        /**
 64                            Constructs an empty object. User must strdup the
 65                            string values during initialistation,
 66                            which are then freed automatically during
 67                            destruction.
 68                        */
 69                        SLPClientOptions();
 70                    
 71                        /**
 72                            Destroys object and contained string values
 73                        */
 74 kumpf         1.9      ~SLPClientOptions();
 75                    
 76                        /**
 77                            For debugging
 78                        */
 79                        void print() const;
 80                    
 81 karl          1.4  private:
 82 kumpf         1.9      SLPClientOptions(const SLPClientOptions& options);
 83                        SLPClientOptions& operator=(const SLPClientOptions& options);
 84 karl          1.4  };
 85                    
 86 tony          1.1  
 87 karl          1.2  //*****************************************************************************
 88 tony          1.1  // CIMServerDiscoveryRep
 89 karl          1.2  //*****************************************************************************
 90                    
 91                    
 92 tony          1.1  class CIMServerDiscoveryRep
 93                    {
 94                    public:
 95                    
 96                      CIMServerDiscoveryRep();
 97                      ~CIMServerDiscoveryRep();
 98                    
 99 kumpf         1.9    Array<CIMServerDescription> lookup(
100                          const Array<Attribute>& criteria,
101                          const SLPClientOptions* options = NULL);
102 tony          1.1  
103                    };
104                    
105                    /** This class provides the interface that a client uses to discover
106 karl          1.2      CIM Servers.
107                        ATTN: Add more descriptive material here KS 2 Oct 2003
108 tony          1.1  */
109                    class PEGASUS_CLIENT_LINKAGE CIMServerDiscovery
110                    {
111                    public:
112                    
113                      /** Constructor for a CIMServerDiscovery object.
114                      */
115                      CIMServerDiscovery();
116                    
117                      /** Destructor for a CIMServerDiscovery object
118                      */
119                      ~CIMServerDiscovery();
120                    
121                      /** Lookup all WBEM servers
122                          @return  the return value is an array of connection descriptions.
123                      */
124 karl          1.4    Array<CIMServerDescription> lookup(const SLPClientOptions* options = NULL);
125 tony          1.1  
126                      /** Lookup specific WBEM servers
127                          @param   criteria   Criteria for specifing which CIM Servers to lookup.
128                          @return  the return value is array of connection descriptions.
129                      */
130 kumpf         1.9    Array<CIMServerDescription> lookup(
131                          const Array<Attribute>& criteria,
132                          const SLPClientOptions* options = NULL);
133 tony          1.1  
134                    private:
135                    
136                      CIMServerDiscoveryRep* _rep;
137                    };
138                    
139                    PEGASUS_NAMESPACE_END
140                    
141                    #endif /* Pegasus_CIMServerDiscovery_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2