![]() ![]() |
![]() |
1 martin 1.9 //%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.9 // 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 karl 1.2 // | ||
28 martin 1.9 ////////////////////////////////////////////////////////////////////////// | ||
29 schuur 1.1 // 30 //%///////////////////////////////////////////////////////////////////////////// 31 32 #ifndef Pegasus_JMPIProviderModule_h 33 #define Pegasus_JMPIProviderModule_h 34 35 #include <Pegasus/Common/Config.h> 36 #include <Pegasus/Common/String.h> 37 #include <Pegasus/Common/System.h> 38 39 #include <Pegasus/Provider/CIMProvider.h> 40 #include <Pegasus/ProviderManager2/JMPI/JMPIProvider.h> | ||
41 mark.hamzy 1.7 #include <Pegasus/ProviderManager2/JMPI/JMPIImpl.h> | ||
42 schuur 1.1 43 #include <Pegasus/Server/Linkage.h> | ||
44 mark.hamzy 1.7 #include <Pegasus/ProviderManager2/JMPI/Linkage.h> | ||
45 schuur 1.1 46 PEGASUS_NAMESPACE_BEGIN 47 | ||
48 marek 1.8 // The JMPIProviderModule class represents the physical module, as defined by 49 // the operation, that contains a provider. This class effectively encapsulates 50 // the "physical" portion of a provider. | ||
51 schuur 1.1 52 | ||
53 mark.hamzy 1.7 class PEGASUS_JMPIPM_LINKAGE JMPIProviderModule | ||
54 schuur 1.1 { 55 56 friend class JMPILocalProviderManager; 57 58 public: 59 virtual ~JMPIProviderModule(void); 60 const String & getFileName(void) const; 61 ProviderVector load(const String & providerName); 62 void unloadModule(void); 63 64 protected: 65 String _fileName; 66 String _className; 67 String _interfaceName; 68 void *jProviderClass; 69 void *jProvider; 70 71 private: 72 JMPIProviderModule(const String & fileName, const String & interfaceName); 73 const String & getProviderName(void) const; 74 const String & getInterfaceName(void) const ; 75 schuur 1.1 virtual CIMProvider * getProvider(void) const; 76 77 String _providerName; 78 CIMProvider * _provider; 79 }; 80 81 inline const String & JMPIProviderModule::getFileName(void) const 82 { 83 return(_fileName); 84 } 85 86 inline const String & JMPIProviderModule::getInterfaceName(void) const 87 { 88 return(_interfaceName); 89 } 90 91 inline const String & JMPIProviderModule::getProviderName(void) const 92 { 93 return(_providerName); 94 } 95 96 schuur 1.1 inline CIMProvider * JMPIProviderModule::getProvider(void) const 97 { 98 return(_provider); 99 } 100 101 PEGASUS_NAMESPACE_END 102 103 #endif |
No CVS admin address has been configured |
Powered by ViewCVS 0.9.2 |