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

  1 karl  1.16 //%2003////////////////////////////////////////////////////////////////////////
  2 mike  1.2  //
  3 karl  1.16 // 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 mike  1.2  //
  8            // Permission is hereby granted, free of charge, to any person obtaining a copy
  9            // of this software and associated documentation files (the "Software"), to
 10            // deal in the Software without restriction, including without limitation the
 11            // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 12            // sell copies of the Software, and to permit persons to whom the Software is
 13            // furnished to do so, subject to the following conditions:
 14 kumpf 1.8  // 
 15 mike  1.2  // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 16            // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 17            // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 18            // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 19            // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 20            // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 21            // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 22            // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 23            //
 24            //==============================================================================
 25            //
 26            // Author: Nag Boranna, Hewlett-Packard Company (nagaraja_boranna@hp.com)
 27            //
 28 kumpf 1.4  // Modified By: Sushma Fernandes, Hewlett-Packard Company
 29            //                                (sushma_fernandes@hp.com)
 30 kumpf 1.7  //              Bapu Patil, Hewlett-Packard Company (bapu_patil@hp.com)
 31 kumpf 1.9  //              Yi Zhou, Hewlett-Packard Company (yi_zhou@hp.com)
 32 h.sterling 1.16.4.1 //              Heather Sterling, IBM (hsterl@us.ibm.com)
 33 mike       1.2      //
 34                     //%/////////////////////////////////////////////////////////////////////////////
 35                     
 36                     
 37                     //////////////////////////////////////////////////////////////////////////////
 38                     // 
 39                     // This file defines the security property owner class.
 40                     //
 41                     //////////////////////////////////////////////////////////////////////////////
 42                     
 43                     #ifndef Pegasus_SecurityPropertyOwner_h
 44                     #define Pegasus_SecurityPropertyOwner_h
 45                     
 46                     #include <Pegasus/Config/ConfigPropertyOwner.h>
 47                     
 48                     
 49                     PEGASUS_NAMESPACE_BEGIN
 50                     
 51                     ///////////////////////////////////////////////////////////////////
 52                     //  SecurityPropertyOwner Class
 53                     ///////////////////////////////////////////////////////////////////
 54 mike       1.2      
 55                     /** 
 56                         This is Log property owner class that extends ConfigPropertyOwner
 57                         class and provide implementation.
 58                     */
 59                     class PEGASUS_CONFIG_LINKAGE SecurityPropertyOwner : public ConfigPropertyOwner
 60                     {
 61                     public:
 62                     
 63                         /** Constructors  */
 64                         SecurityPropertyOwner();
 65                     
 66                     
 67                         /** Destructor  */
 68                         ~SecurityPropertyOwner();
 69                     
 70                         /**
 71                         Initialize the config properties.
 72                     
 73                         This method is expected to be called only once at the start of the
 74                         CIMOM. It initializes the properties with the default values.
 75 mike       1.2          */
 76                         void initialize();
 77                     
 78                     
 79                         /** 
 80                         Get information about the specified property.
 81                     
 82                         @param propertyName   The name of the property.
 83                         @param propertyInfo   List to store the property info.
 84                         @exception UnrecognizedConfigProperty  if the property is not defined.
 85                         */
 86                         void getPropertyInfo(const String& name, Array<String>& propertyInfo);
 87                             //throw (UnrecognizedConfigProperty);
 88                     
 89                     
 90                         /** 
 91                         Get default value of the specified property.
 92                     
 93                         @param  name         The name of the property.
 94                         @return string containing the default value of the property specified.
 95                         @exception UnrecognizedConfigProperty  if the property is not defined.
 96 mike       1.2          */
 97                         const String getDefaultValue(const String& name);
 98                             //throw (UnrecognizedConfigProperty);
 99                     
100                     
101                         /** 
102                         Get current value of the specified property.
103                     
104                         @param  name         The name of the property.
105                         @return string containing the currnet value of the property specified.
106                         @exception UnrecognizedConfigProperty  if the property is not defined.
107                         */
108                         const String getCurrentValue(const String& name);
109                             //throw (UnrecognizedConfigProperty);
110                     
111                     
112                         /** 
113                         Get planned value of the specified property.
114                     
115                         @param  name         The name of the property.
116                         @return string containing the planned value of the property specified.
117 mike       1.2          @exception UnrecognizedConfigProperty  if the property is not defined.
118                         */
119                         const String getPlannedValue(const String& name);
120                             //throw (UnrecognizedConfigProperty);
121                     
122                     
123                         /** 
124                         Init current value of the specified property to the specified value.
125                         This method is expected to be called only once at the start of the
126                         CIMOM. The property value will be initialized irrespective of whether
127                         the property is dynamic or not.
128                     
129                         @param  name         The name of the property.
130                         @param  value        The current value of the property. 
131                         @exception     UnrecognizedConfigProperty  if the property is not defined.
132                         @exception     InvalidPropertyValue  if the property value is not valid.
133                         */
134                         void initCurrentValue(const String& name, const String& value);
135                             //throw (UnrecognizedConfigProperty, InvalidPropertyValue);
136                     
137                     
138 mike       1.2          /** 
139                         Init planned value of the specified property to the specified value.
140                         This method is expected to be called only once at the start of the
141                         CIMOM. The property value will be initialized irrespective of whether
142                         the property is dynamic or not.
143                     
144                         @param  name         The name of the property.
145                         @param  value        The planned value of the property. 
146                         @exception     UnrecognizedConfigProperty  if the property is not defined.
147                         @exception     InvalidPropertyValue  if the property value is not valid.
148                         */
149                         void initPlannedValue(const String& name, const String& value); 
150                             //throw (UnrecognizedConfigProperty, InvalidPropertyValue);
151                     
152                     
153                         /** 
154                         Update current value of the specified property to the specified value.
155                         The property value will be updated only if the property is dynamically
156                         updatable.
157                     
158                         @param  name         The name of the property.
159 mike       1.2          @param  value        The current value of the property. 
160                         @exception     NonDynamicConfigProperty  if the property is not dynamic.
161                         @exception     InvalidPropertyValue  if the property value is not valid.
162                         @exception     UnrecognizedConfigProperty  if the property is not defined.
163                         */
164                         void updateCurrentValue(const String& name, const String& value);
165                             //throw (NonDynamicConfigProperty, InvalidPropertyValue,
166                             //    UnrecognizedConfigProperty);
167                     
168                     
169                         /** 
170                         Update planned value of the specified property to the specified value.
171                     
172                         @param  name         The name of the property.
173                         @param  value        The planned value of the property. 
174                         @exception     InvalidPropertyValue  if the property value is not valid.
175                         @exception     UnrecognizedConfigProperty  if the property is not defined.
176                         */
177                         void updatePlannedValue(const String& name, const String& value);
178                             //throw (InvalidPropertyValue, UnrecognizedConfigProperty);
179                     
180 mike       1.2      
181                         /** 
182                         Checks to see if the given value is valid or not.
183                     
184                         @param  name         The name of the property.
185                         @param  value        The value of the property to be validated. 
186                         @return Boolean      True if the specified value for the property is valid.
187                         @exception UnrecognizedConfigProperty  if the property is not defined.
188                         */
189                         Boolean isValid(const String& name, const String& value);
190                             //throw (UnrecognizedConfigProperty);
191                     
192                     
193                         /** 
194                         Checks to see if the specified property is dynamic or not.
195                     
196                         @param  name         The name of the property.
197                         @return Boolean      True if the specified property is dynamic.
198                         @exception UnrecognizedConfigProperty  if the property is not defined.
199                         */
200                         Boolean isDynamic(const String& name);
201 mike       1.2              //throw (UnrecognizedConfigProperty);
202                     
203                     
204                     private:
205                     
206 kumpf      1.5          struct ConfigProperty* _lookupConfigProperty(const String& name);
207                     
208 mike       1.2          /**
209                         The security properties owned by this class
210                         */
211 kumpf      1.6          struct ConfigProperty*      _enableAuthentication;
212 kumpf      1.9      
213 kumpf      1.6          struct ConfigProperty*      _enableNamespaceAuthorization;
214 mike       1.2      
215                         struct ConfigProperty*      _httpAuthType;
216                     
217 kumpf      1.3          struct ConfigProperty*      _passwordFilePath;
218 kumpf      1.4      
219                         struct ConfigProperty*      _enableRemotePrivilegedUserAccess;
220 kumpf      1.7      
221                         struct ConfigProperty*      _certificateFilePath;
222 kumpf      1.12     
223                         struct ConfigProperty*      _keyFilePath;
224 kumpf      1.13     
225                         struct ConfigProperty*      _trustFilePath;
226 h.sterling 1.16.4.1 
227                         struct ConfigProperty*      _enableSSLClientVerification;
228 gerarda    1.14     
229 kumpf      1.15         struct ConfigProperty*      _enableSubscriptionsForNonprivilegedUsers;
230                     
231 gerarda    1.14     #ifdef PEGASUS_KERBEROS_AUTHENTICATION
232                         struct ConfigProperty*      _kerberosServiceName;
233                     #endif
234 mike       1.2      };
235                     
236                     PEGASUS_NAMESPACE_END
237                     
238                     #endif /* Pegasus_SecurityPropertyOwner_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2