![]() ![]() |
![]() |
1 martin 1.4 //%LICENSE//////////////////////////////////////////////////////////////// 2 // 3 // 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 // 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 // 17 // The above copyright notice and this permission notice shall be included 18 // in all copies or substantial portions of the Software. 19 // 20 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 21 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 22 martin 1.4 // 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 kumpf 1.1 // | ||
28 martin 1.4 ////////////////////////////////////////////////////////////////////////// | ||
29 kumpf 1.1 // 30 //%///////////////////////////////////////////////////////////////////////////// 31 32 #ifndef Pegasus_AutoPThreadSecurity_h 33 #define Pegasus_AutoPThreadSecurity_h 34 35 #include <Pegasus/Common/Config.h> 36 #include <Pegasus/Common/OperationContextInternal.h> 37 #include <Pegasus/Common/Exception.h> 38 #include <Pegasus/ProviderManager2/Linkage.h> 39 40 #ifdef PEGASUS_ZOS_SECURITY 41 // This include file will not be provided in the OpenGroup CVS for now. 42 // Do NOT try to include it in your compile | ||
43 kumpf 1.3 # include <Pegasus/ProviderManager2/ProviderManagerzOS_inline.h> | ||
44 kumpf 1.1 #endif 45 46 PEGASUS_NAMESPACE_BEGIN 47 48 // Auto class to encapsulate enabling and disabling 49 // of the pthread_security on z/OS 50 // For all other platforms this should be an empty class 51 // Targets: avoid ifdefs and keep code readable(clean) 52 #ifndef PEGASUS_ZOS_THREADLEVEL_SECURITY | ||
53 kumpf 1.3 | ||
54 kumpf 1.1 // not z/OS == empty class | ||
55 mike 1.2 class AutoPThreadSecurity | ||
56 kumpf 1.1 { | ||
57 kumpf 1.3 public: | ||
58 kumpf 1.1 AutoPThreadSecurity(const OperationContext& context) {}; 59 }; | ||
60 kumpf 1.3 | ||
61 kumpf 1.1 #else 62 | ||
63 mike 1.2 class AutoPThreadSecurity | ||
64 kumpf 1.1 { 65 public: 66 AutoPThreadSecurity(const OperationContext& context) 67 { 68 int err_num=enablePThreadSecurity(context); 69 if (err_num!=0) 70 { 71 // need a new CIMException for this 72 throw CIMException(CIM_ERR_ACCESS_DENIED,String(strerror(err_num))); 73 } 74 }; 75 76 ~AutoPThreadSecurity() 77 { 78 disablePThreadSecurity(); 79 }; 80 }; 81 82 #endif 83 84 PEGASUS_NAMESPACE_END 85 kumpf 1.1 86 #endif |
No CVS admin address has been configured |
Powered by ViewCVS 0.9.2 |