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

  1 karl  1.30 //%2006////////////////////////////////////////////////////////////////////////
  2 mike  1.2  //
  3 karl  1.23 // 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.16 // IBM Corp.; EMC Corporation, The Open Group.
  7 karl  1.23 // 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.25 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 10            // EMC Corporation; VERITAS Software Corporation; The Open Group.
 11 karl  1.30 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 12            // EMC Corporation; Symantec Corporation; The Open Group.
 13 mike  1.2  //
 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 karl  1.30 // 
 21 mike  1.2  // 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: Nag Boranna, Hewlett-Packard Company (nagaraja_boranna@hp.com)
 33            //
 34 kumpf 1.4  // Modified By: Sushma Fernandes, Hewlett-Packard Company
 35            //                                (sushma_fernandes@hp.com)
 36 kumpf 1.7  //              Bapu Patil, Hewlett-Packard Company (bapu_patil@hp.com)
 37 kumpf 1.9  //              Yi Zhou, Hewlett-Packard Company (yi_zhou@hp.com)
 38 h.sterling 1.18 //              Heather Sterling, IBM (hsterl@us.ibm.com)
 39 aruran.ms  1.26 //              Aruran, IBM (ashanmug@in.ibm.com) for Bug# 3614
 40 david.dillard 1.27 //              David Dillard, VERITAS Software Corp.
 41                    //                  (david.dillard@veritas.com)
 42 vijay.eli     1.28 //              Vijay Eli, IBM, (vijayeli@in.ibm.com) for Bug# 3613
 43 aruran.ms     1.29 //              Aruran, IBM (ashanmug@in.ibm.com) for Bug# 3613
 44 mike          1.2  //
 45                    //%/////////////////////////////////////////////////////////////////////////////
 46                    
 47                    
 48                    //////////////////////////////////////////////////////////////////////////////
 49 david.dillard 1.27 //
 50 mike          1.2  // This file defines the security property owner class.
 51                    //
 52                    //////////////////////////////////////////////////////////////////////////////
 53                    
 54                    #ifndef Pegasus_SecurityPropertyOwner_h
 55                    #define Pegasus_SecurityPropertyOwner_h
 56                    
 57                    #include <Pegasus/Config/ConfigPropertyOwner.h>
 58 a.arora       1.21 #include <Pegasus/Common/AutoPtr.h>
 59 mike          1.2  
 60                    
 61                    PEGASUS_NAMESPACE_BEGIN
 62                    
 63                    ///////////////////////////////////////////////////////////////////
 64                    //  SecurityPropertyOwner Class
 65                    ///////////////////////////////////////////////////////////////////
 66                    
 67 david.dillard 1.27 /**
 68 mike          1.2      This is Log property owner class that extends ConfigPropertyOwner
 69                        class and provide implementation.
 70                    */
 71                    class PEGASUS_CONFIG_LINKAGE SecurityPropertyOwner : public ConfigPropertyOwner
 72                    {
 73                    public:
 74                    
 75                        /** Constructors  */
 76                        SecurityPropertyOwner();
 77                    
 78                        /**
 79                        Initialize the config properties.
 80                    
 81                        This method is expected to be called only once at the start of the
 82                        CIMOM. It initializes the properties with the default values.
 83                        */
 84                        void initialize();
 85                    
 86                    
 87 david.dillard 1.27     /**
 88 mike          1.2      Get information about the specified property.
 89                    
 90                        @param propertyName   The name of the property.
 91                        @param propertyInfo   List to store the property info.
 92                        @exception UnrecognizedConfigProperty  if the property is not defined.
 93                        */
 94 vijay.eli     1.28     void getPropertyInfo(const String& name, 
 95                                         Array<String>& propertyInfo)const;
 96 mike          1.2  
 97                    
 98 david.dillard 1.27     /**
 99 mike          1.2      Get default value of the specified property.
100                    
101                        @param  name         The name of the property.
102                        @return string containing the default value of the property specified.
103                        @exception UnrecognizedConfigProperty  if the property is not defined.
104                        */
105 vijay.eli     1.28     String getDefaultValue(const String& name)const;
106 mike          1.2  
107                    
108 david.dillard 1.27     /**
109 mike          1.2      Get current value of the specified property.
110                    
111                        @param  name         The name of the property.
112                        @return string containing the currnet value of the property specified.
113                        @exception UnrecognizedConfigProperty  if the property is not defined.
114                        */
115 vijay.eli     1.28     String getCurrentValue(const String& name)const;
116 mike          1.2  
117                    
118 david.dillard 1.27     /**
119 mike          1.2      Get planned value of the specified property.
120                    
121                        @param  name         The name of the property.
122                        @return string containing the planned value of the property specified.
123                        @exception UnrecognizedConfigProperty  if the property is not defined.
124                        */
125 vijay.eli     1.28     String getPlannedValue(const String& name)const;
126 mike          1.2  
127                    
128 david.dillard 1.27     /**
129 mike          1.2      Init current value of the specified property to the specified value.
130                        This method is expected to be called only once at the start of the
131                        CIMOM. The property value will be initialized irrespective of whether
132                        the property is dynamic or not.
133                    
134                        @param  name         The name of the property.
135 david.dillard 1.27     @param  value        The current value of the property.
136 mike          1.2      @exception     UnrecognizedConfigProperty  if the property is not defined.
137                        @exception     InvalidPropertyValue  if the property value is not valid.
138                        */
139                        void initCurrentValue(const String& name, const String& value);
140                    
141                    
142 david.dillard 1.27     /**
143 mike          1.2      Init planned value of the specified property to the specified value.
144                        This method is expected to be called only once at the start of the
145                        CIMOM. The property value will be initialized irrespective of whether
146                        the property is dynamic or not.
147                    
148                        @param  name         The name of the property.
149 david.dillard 1.27     @param  value        The planned value of the property.
150 mike          1.2      @exception     UnrecognizedConfigProperty  if the property is not defined.
151                        @exception     InvalidPropertyValue  if the property value is not valid.
152                        */
153 david.dillard 1.27     void initPlannedValue(const String& name, const String& value);
154 mike          1.2  
155                    
156 david.dillard 1.27     /**
157 mike          1.2      Update current value of the specified property to the specified value.
158                        The property value will be updated only if the property is dynamically
159                        updatable.
160                    
161                        @param  name         The name of the property.
162 david.dillard 1.27     @param  value        The current value of the property.
163 mike          1.2      @exception     NonDynamicConfigProperty  if the property is not dynamic.
164                        @exception     InvalidPropertyValue  if the property value is not valid.
165                        @exception     UnrecognizedConfigProperty  if the property is not defined.
166                        */
167                        void updateCurrentValue(const String& name, const String& value);
168                            //throw (NonDynamicConfigProperty, InvalidPropertyValue,
169                            //    UnrecognizedConfigProperty);
170                    
171                    
172 david.dillard 1.27     /**
173 mike          1.2      Update planned value of the specified property to the specified value.
174                    
175                        @param  name         The name of the property.
176 david.dillard 1.27     @param  value        The planned value of the property.
177                        @exception     UnrecognizedConfigProperty  if the property is not defined.
178 mike          1.2      @exception     InvalidPropertyValue  if the property value is not valid.
179                        */
180                        void updatePlannedValue(const String& name, const String& value);
181                    
182                    
183 david.dillard 1.27     /**
184 mike          1.2      Checks to see if the given value is valid or not.
185                    
186                        @param  name         The name of the property.
187 david.dillard 1.27     @param  value        The value of the property to be validated.
188 mike          1.2      @return Boolean      True if the specified value for the property is valid.
189                        @exception UnrecognizedConfigProperty  if the property is not defined.
190                        */
191 vijay.eli     1.28     Boolean isValid(const String& name, const String& value)const;
192 mike          1.2  
193                    
194 david.dillard 1.27     /**
195 mike          1.2      Checks to see if the specified property is dynamic or not.
196                    
197                        @param  name         The name of the property.
198                        @return Boolean      True if the specified property is dynamic.
199                        @exception UnrecognizedConfigProperty  if the property is not defined.
200                        */
201 vijay.eli     1.28     Boolean isDynamic(const String& name)const;
202 mike          1.2  
203                    
204                    private:
205                    
206 aruran.ms     1.29     struct ConfigProperty* _lookupConfigProperty(const String& name) const;
207 kumpf         1.5  
208 mike          1.2      /**
209                        The security properties owned by this class
210                        */
211 a.arora       1.21     AutoPtr<struct ConfigProperty>      _enableAuthentication; //PEP101
212 kumpf         1.9  
213 a.arora       1.21     AutoPtr<struct ConfigProperty>      _enableNamespaceAuthorization; //PEP101
214 mike          1.2  
215 a.arora       1.21     AutoPtr<struct ConfigProperty>      _httpAuthType; //PEP101
216 mike          1.2  
217 a.arora       1.21     AutoPtr<struct ConfigProperty>      _passwordFilePath; //PEP101
218 kumpf         1.4  
219 a.arora       1.21     AutoPtr<struct ConfigProperty>      _enableRemotePrivilegedUserAccess; //PEP101
220 kumpf         1.7  
221 a.arora       1.21     AutoPtr<struct ConfigProperty>      _certificateFilePath; //PEP101
222 kumpf         1.12 
223 a.arora       1.21     AutoPtr<struct ConfigProperty>      _keyFilePath; //PEP101
224 kumpf         1.13 
225 a.arora       1.21     AutoPtr<struct ConfigProperty>      _trustStore; //PEP101
226 h.sterling    1.18 
227 a.arora       1.21     AutoPtr<struct ConfigProperty>      _exportSSLTrustStore; //PEP101
228 kumpf         1.19 
229 h.sterling    1.24     AutoPtr<struct ConfigProperty>      _crlStore; //PEP101
230                    
231 a.arora       1.21     AutoPtr<struct ConfigProperty>      _sslClientVerificationMode; //PEP101
232 david.dillard 1.27 
233                        AutoPtr<struct ConfigProperty>      _sslTrustStoreUserName; //PEP101
234 h.sterling    1.22 
235 a.arora       1.21     AutoPtr<struct ConfigProperty>      _enableSubscriptionsForNonprivilegedUsers; //PEP101
236 kumpf         1.15 
237 kumpf         1.20 #ifdef PEGASUS_ENABLE_USERGROUP_AUTHORIZATION
238 a.arora       1.21     AutoPtr<struct ConfigProperty>      _authorizedUserGroups; //PEP101
239 kumpf         1.20 #endif
240                    
241 a.arora       1.21     AutoPtr<struct ConfigProperty>      _enableSSLExportClientVerification; //PEP101
242 kumpf         1.19 
243 gerarda       1.14 #ifdef PEGASUS_KERBEROS_AUTHENTICATION
244 a.arora       1.21     AutoPtr<struct ConfigProperty>      _kerberosServiceName; //PEP101
245 gerarda       1.14 #endif
246 mike          1.2  };
247                    
248                    PEGASUS_NAMESPACE_END
249                    
250                    #endif /* Pegasus_SecurityPropertyOwner_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2