summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorschuur <schuur>2004-03-03 10:53:21 +0000
committerschuur <schuur>2004-03-03 10:53:21 +0000
commitc6b9cb1d7ff34e749d5855edba8ecb7170ebc2c2 (patch)
tree91075a1eced9546bb8a95a959b5ee8e10336f839
parent9e647f1a554c69886dcdc8fed6cb27851294eb04 (diff)
downloadtog-pegasus-RELEASE_2_3_1-branch.zip
tog-pegasus-RELEASE_2_3_1-branch.tar.gz
tog-pegasus-RELEASE_2_3_1-branch.tar.xz
fixed bugzilla 1232 for 2.3.1RELEASE_2_3_1-branch
-rw-r--r--src/Pegasus/ProviderManager2/CMPI/CMPILocalProviderManager.h4
-rw-r--r--src/Pegasus/ProviderManager2/CMPI/CMPIProvider.h4
-rw-r--r--src/Pegasus/ProviderManager2/CMPI/CMPIProviderManager.h6
-rw-r--r--src/Pegasus/ProviderManager2/CMPI/CMPIProviderModule.h4
-rw-r--r--src/Pegasus/ProviderManager2/CMPI/CMPIResolverModule.h4
-rw-r--r--src/Pegasus/ProviderManager2/CMPI/CMPI_Version.h34
-rw-r--r--src/Pegasus/ProviderManager2/CMPI/Linkage.h45
-rw-r--r--src/Pegasus/ProviderManager2/CMPI/Makefile2
-rw-r--r--src/Pegasus/ProviderManager2/Default/DefaultProviderManager.h4
-rw-r--r--src/Pegasus/ProviderManager2/Default/Linkage.h45
-rw-r--r--src/Pegasus/ProviderManager2/Default/LocalProviderManager.h4
-rw-r--r--src/Pegasus/ProviderManager2/Default/Makefile2
-rw-r--r--src/Pegasus/ProviderManager2/Default/OperationResponseHandler.h5
-rw-r--r--src/Pegasus/ProviderManager2/Default/Provider.h4
-rw-r--r--src/Pegasus/ProviderManager2/Default/ProviderFacade.h5
-rw-r--r--src/Pegasus/ProviderManager2/Default/ProviderModule.h4
-rw-r--r--src/Pegasus/ProviderManager2/Default/SimpleResponseHandler.h20
-rw-r--r--src/Pegasus/ProviderManager2/Internal/InternalProviderManager.h4
-rw-r--r--src/Pegasus/ProviderManager2/Internal/Makefile2
-rw-r--r--src/Pegasus/ProviderManager2/Linkage.h45
-rw-r--r--src/Pegasus/ProviderManager2/Makefile2
-rw-r--r--src/Pegasus/ProviderManager2/MutexLock.h62
-rw-r--r--src/Pegasus/ProviderManager2/ProviderManager.h4
-rw-r--r--src/Pegasus/ProviderManager2/ProviderManagerModule.h4
-rw-r--r--src/Pegasus/ProviderManager2/ProviderName.h4
-rw-r--r--src/Pegasus/ProviderManager2/ProviderRegistrar.h10
-rw-r--r--src/Pegasus/ProviderManager2/SafeQueue.h4
-rw-r--r--src/Pegasus/ProviderManager2/tests/ProviderManager/Makefile2
-rw-r--r--src/Pegasus/ProviderManager2/tests/ProviderManager/TestProviderManager.h4
29 files changed, 290 insertions, 53 deletions
diff --git a/src/Pegasus/ProviderManager2/CMPI/CMPILocalProviderManager.h b/src/Pegasus/ProviderManager2/CMPI/CMPILocalProviderManager.h
index be106e6..09e0896 100644
--- a/src/Pegasus/ProviderManager2/CMPI/CMPILocalProviderManager.h
+++ b/src/Pegasus/ProviderManager2/CMPI/CMPILocalProviderManager.h
@@ -48,11 +48,11 @@
#include <Pegasus/ProviderManager2/Lockable.h>
-#include <Pegasus/Server/Linkage.h>
+#include <Pegasus/ProviderManager2/CMPI/Linkage.h>
PEGASUS_NAMESPACE_BEGIN
-class PEGASUS_SERVER_LINKAGE CMPILocalProviderManager
+class PEGASUS_CMPIPM_LINKAGE CMPILocalProviderManager
{
public:
diff --git a/src/Pegasus/ProviderManager2/CMPI/CMPIProvider.h b/src/Pegasus/ProviderManager2/CMPI/CMPIProvider.h
index eb1e6af..4f1c732 100644
--- a/src/Pegasus/ProviderManager2/CMPI/CMPIProvider.h
+++ b/src/Pegasus/ProviderManager2/CMPI/CMPIProvider.h
@@ -45,7 +45,7 @@
#include <Pegasus/ProviderManager2/CMPI/CMPIResolverModule.h>
-#include <Pegasus/Server/Linkage.h>
+#include <Pegasus/ProviderManager2/CMPI/Linkage.h>
PEGASUS_NAMESPACE_BEGIN
@@ -95,7 +95,7 @@ struct ProviderVector {
// provider module. It is wrapped in a facade to stabalize the interface
// and is directly tied to a module.
-class PEGASUS_SERVER_LINKAGE CMPIProvider :
+class PEGASUS_CMPIPM_LINKAGE CMPIProvider :
public virtual CIMProvider
{
public:
diff --git a/src/Pegasus/ProviderManager2/CMPI/CMPIProviderManager.h b/src/Pegasus/ProviderManager2/CMPI/CMPIProviderManager.h
index 700d7a4..837d9b0 100644
--- a/src/Pegasus/ProviderManager2/CMPI/CMPIProviderManager.h
+++ b/src/Pegasus/ProviderManager2/CMPI/CMPIProviderManager.h
@@ -37,16 +37,18 @@
#include <Pegasus/ProviderManager2/ProviderRegistrarInitializer.h>
#include <Pegasus/ProviderManager2/ProviderName.h>
#include <Pegasus/ProviderManager2/ProviderManager.h>
-#include <Pegasus/Server/Linkage.h>
+
#include <Pegasus/Config/ConfigManager.h>
#include <Pegasus/Repository/CIMRepository.h>
#include <Pegasus/ProviderManager2/Default/OperationResponseHandler.h>
+#include <Pegasus/ProviderManager2/CMPI/Linkage.h>
+
PEGASUS_NAMESPACE_BEGIN
struct CMPI_SelectExp;
-class PEGASUS_SERVER_LINKAGE CMPIProviderManager : public ProviderManager
+class PEGASUS_CMPIPM_LINKAGE CMPIProviderManager : public ProviderManager
{
public:
enum Mode {
diff --git a/src/Pegasus/ProviderManager2/CMPI/CMPIProviderModule.h b/src/Pegasus/ProviderManager2/CMPI/CMPIProviderModule.h
index c710e1f..7a99ec7 100644
--- a/src/Pegasus/ProviderManager2/CMPI/CMPIProviderModule.h
+++ b/src/Pegasus/ProviderManager2/CMPI/CMPIProviderModule.h
@@ -42,7 +42,7 @@
#include <Pegasus/Provider/CIMProvider.h>
#include <Pegasus/ProviderManager2/CMPI/CMPIProvider.h>
-#include <Pegasus/Server/Linkage.h>
+#include <Pegasus/ProviderManager2/CMPI/Linkage.h>
PEGASUS_NAMESPACE_BEGIN
@@ -51,7 +51,7 @@ PEGASUS_NAMESPACE_BEGIN
// "physical" portion of a provider.
-class PEGASUS_SERVER_LINKAGE CMPIProviderModule
+class PEGASUS_CMPIPM_LINKAGE CMPIProviderModule
{
friend class CMPILocalProviderManager;
diff --git a/src/Pegasus/ProviderManager2/CMPI/CMPIResolverModule.h b/src/Pegasus/ProviderManager2/CMPI/CMPIResolverModule.h
index 294d589..c38cf27 100644
--- a/src/Pegasus/ProviderManager2/CMPI/CMPIResolverModule.h
+++ b/src/Pegasus/ProviderManager2/CMPI/CMPIResolverModule.h
@@ -42,7 +42,7 @@
#include <Pegasus/Provider/CIMProvider.h>
#include <Pegasus/ProviderManager2/CMPI/CMPIProvider.h>
-#include <Pegasus/Server/Linkage.h>
+#include <Pegasus/ProviderManager2/CMPI/Linkage.h>
PEGASUS_NAMESPACE_BEGIN
@@ -60,7 +60,7 @@ typedef provider_address* (*RESOLVE_CLASS) ( const char * provider,
CMPIObjectPath * cop,
CMPIContext * ctx );
-class PEGASUS_SERVER_LINKAGE CMPIResolverModule
+class PEGASUS_CMPIPM_LINKAGE CMPIResolverModule
{
friend class CMPILocalProviderManager;
diff --git a/src/Pegasus/ProviderManager2/CMPI/CMPI_Version.h b/src/Pegasus/ProviderManager2/CMPI/CMPI_Version.h
new file mode 100644
index 0000000..ec98b05
--- /dev/null
+++ b/src/Pegasus/ProviderManager2/CMPI/CMPI_Version.h
@@ -0,0 +1,34 @@
+//%2003////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Development
+// Company, L. P., IBM Corp., The Open Group, Tivoli Systems.
+// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.;
+// IBM Corp.; EMC Corporation, The Open Group.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to
+// deal in the Software without restriction, including without limitation the
+// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+// sell copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
+// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
+// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//==============================================================================
+//
+// Author: Adrian Schuur, schuur@de.ibm.com
+//
+// Modified By:
+//
+//%/////////////////////////////////////////////////////////////////////////////
+
+// This file sets the CMPI implementation version.
+
+#define CMPI_VER_87 1
diff --git a/src/Pegasus/ProviderManager2/CMPI/Linkage.h b/src/Pegasus/ProviderManager2/CMPI/Linkage.h
new file mode 100644
index 0000000..5ac8e1f
--- /dev/null
+++ b/src/Pegasus/ProviderManager2/CMPI/Linkage.h
@@ -0,0 +1,45 @@
+//%2003////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Development
+// Company, L. P., IBM Corp., The Open Group, Tivoli Systems.
+// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.;
+// IBM Corp.; EMC Corporation, The Open Group.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to
+// deal in the Software without restriction, including without limitation the
+// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+// sell copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
+// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
+// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//==============================================================================
+//
+// Author: Carol Ann Krug Graves, Hewlett-Packard Company
+// (carolann_graves@hp.com)
+//
+// Modified By: Adrian Schuur (schuur@de.ibm.com)
+//
+//%/////////////////////////////////////////////////////////////////////////////
+
+#include <Pegasus/Common/Config.h>
+
+#ifndef PEGASUS_CMPIPM_LINKAGE
+# ifdef PEGASUS_OS_TYPE_WINDOWS
+# ifdef PEGASUS_CMPIPM_INTERNAL
+# define PEGASUS_CMPIPM_LINKAGE PEGASUS_EXPORT
+# else
+# define PEGASUS_CMPIPM_LINKAGE PEGASUS_IMPORT
+# endif
+# else
+# define PEGASUS_CMPIPM_LINKAGE /* empty */
+# endif
+#endif
diff --git a/src/Pegasus/ProviderManager2/CMPI/Makefile b/src/Pegasus/ProviderManager2/CMPI/Makefile
index 5ce3a94..299659e 100644
--- a/src/Pegasus/ProviderManager2/CMPI/Makefile
+++ b/src/Pegasus/ProviderManager2/CMPI/Makefile
@@ -6,7 +6,7 @@ include $(ROOT)/mak/config.mak
EXTRA_INCLUDES = $(SYS_INCLUDES)
-LOCAL_DEFINES = -DPEGASUS_SERVER_INTERNAL -DPEGASUS_INTERNALONLY
+LOCAL_DEFINES = -DPEGASUS_CMPIPM_INTERNAL -DPEGASUS_INTERNALONLY
LIBRARY = CMPIProviderManager
diff --git a/src/Pegasus/ProviderManager2/Default/DefaultProviderManager.h b/src/Pegasus/ProviderManager2/Default/DefaultProviderManager.h
index 7339b20..4595411 100644
--- a/src/Pegasus/ProviderManager2/Default/DefaultProviderManager.h
+++ b/src/Pegasus/ProviderManager2/Default/DefaultProviderManager.h
@@ -55,7 +55,7 @@
#include <Pegasus/ProviderManager2/Default/OperationResponseHandler.h>
#include <Pegasus/ProviderManager2/Default/Provider.h>
-#include <Pegasus/Server/Linkage.h>
+#include <Pegasus/ProviderManager2/Default/Linkage.h>
PEGASUS_NAMESPACE_BEGIN
@@ -64,7 +64,7 @@ typedef HashTable<String,
EqualFunc<String>,
HashFunc<String> > IndicationResponseTable;
-class PEGASUS_SERVER_LINKAGE DefaultProviderManager : public ProviderManager
+class PEGASUS_DEFPM_LINKAGE DefaultProviderManager : public ProviderManager
{
public:
DefaultProviderManager(void);
diff --git a/src/Pegasus/ProviderManager2/Default/Linkage.h b/src/Pegasus/ProviderManager2/Default/Linkage.h
new file mode 100644
index 0000000..1e3917b
--- /dev/null
+++ b/src/Pegasus/ProviderManager2/Default/Linkage.h
@@ -0,0 +1,45 @@
+//%2003////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Development
+// Company, L. P., IBM Corp., The Open Group, Tivoli Systems.
+// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.;
+// IBM Corp.; EMC Corporation, The Open Group.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to
+// deal in the Software without restriction, including without limitation the
+// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+// sell copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
+// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
+// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//==============================================================================
+//
+// Author: Carol Ann Krug Graves, Hewlett-Packard Company
+// (carolann_graves@hp.com)
+//
+// Modified By: Adrian Schuur (schuur@de.ibm.com)
+//
+//%/////////////////////////////////////////////////////////////////////////////
+
+#include <Pegasus/Common/Config.h>
+
+#ifndef PEGASUS_DEFPM_LINKAGE
+# ifdef PEGASUS_OS_TYPE_WINDOWS
+# ifdef PEGASUS_DEFPM_INTERNAL
+# define PEGASUS_DEFPM_LINKAGE PEGASUS_EXPORT
+# else
+# define PEGASUS_DEFPM_LINKAGE PEGASUS_IMPORT
+# endif
+# else
+# define PEGASUS_DEFPM_LINKAGE /* empty */
+# endif
+#endif
diff --git a/src/Pegasus/ProviderManager2/Default/LocalProviderManager.h b/src/Pegasus/ProviderManager2/Default/LocalProviderManager.h
index 6b49a5f..b3e1d9d 100644
--- a/src/Pegasus/ProviderManager2/Default/LocalProviderManager.h
+++ b/src/Pegasus/ProviderManager2/Default/LocalProviderManager.h
@@ -46,11 +46,11 @@
#include <Pegasus/ProviderManager2/Default/Provider.h>
#include <Pegasus/ProviderManager2/Default/ProviderModule.h>
-#include <Pegasus/Server/Linkage.h>
+#include <Pegasus/ProviderManager2/Default/Linkage.h>
PEGASUS_NAMESPACE_BEGIN
-class PEGASUS_SERVER_LINKAGE LocalProviderManager
+class PEGASUS_DEFPM_LINKAGE LocalProviderManager
{
public:
LocalProviderManager(void);
diff --git a/src/Pegasus/ProviderManager2/Default/Makefile b/src/Pegasus/ProviderManager2/Default/Makefile
index 731ca82..05a85b3 100644
--- a/src/Pegasus/ProviderManager2/Default/Makefile
+++ b/src/Pegasus/ProviderManager2/Default/Makefile
@@ -6,7 +6,7 @@ include $(ROOT)/mak/config.mak
EXTRA_INCLUDES = $(SYS_INCLUDES)
-LOCAL_DEFINES = -DPEGASUS_SERVER_INTERNAL -DPEGASUS_INTERNALONLY
+LOCAL_DEFINES = -DPEGASUS_DEFPM_INTERNAL -DPEGASUS_INTERNALONLY
LIBRARY = DefaultProviderManager
diff --git a/src/Pegasus/ProviderManager2/Default/OperationResponseHandler.h b/src/Pegasus/ProviderManager2/Default/OperationResponseHandler.h
index c8d5366..086693f 100644
--- a/src/Pegasus/ProviderManager2/Default/OperationResponseHandler.h
+++ b/src/Pegasus/ProviderManager2/Default/OperationResponseHandler.h
@@ -37,7 +37,6 @@
#define Pegasus_OperationResponseHandler_h
#include <Pegasus/Common/Config.h>
-#include <Pegasus/Server/Linkage.h>
#include <Pegasus/Common/CIMMessage.h>
#include <Pegasus/Common/MessageQueueService.h>
#include <Pegasus/Common/Constants.h>
@@ -53,9 +52,11 @@
#include <Pegasus/ProviderManager2/Default/SimpleResponseHandler.h>
+#include <Pegasus/ProviderManager2/Default/Linkage.h>
+
PEGASUS_NAMESPACE_BEGIN
-class PEGASUS_SERVER_LINKAGE OperationResponseHandler
+class PEGASUS_DEFPM_LINKAGE OperationResponseHandler
{
public:
OperationResponseHandler(CIMRequestMessage * request, CIMResponseMessage * response)
diff --git a/src/Pegasus/ProviderManager2/Default/Provider.h b/src/Pegasus/ProviderManager2/Default/Provider.h
index c3ce709..173150c 100644
--- a/src/Pegasus/ProviderManager2/Default/Provider.h
+++ b/src/Pegasus/ProviderManager2/Default/Provider.h
@@ -42,7 +42,7 @@
#include <Pegasus/ProviderManager2/Default/ProviderModule.h>
#include <Pegasus/ProviderManager2/Default/ProviderFacade.h>
-#include <Pegasus/Server/Linkage.h>
+#include <Pegasus/ProviderManager2/Default/Linkage.h>
PEGASUS_NAMESPACE_BEGIN
@@ -50,7 +50,7 @@ PEGASUS_NAMESPACE_BEGIN
// provider module. It is wrapped in a facade to stabalize the interface
// and is directly tied to a module.
-class PEGASUS_SERVER_LINKAGE Provider : public ProviderFacade
+class PEGASUS_DEFPM_LINKAGE Provider : public ProviderFacade
{
public:
enum Status
diff --git a/src/Pegasus/ProviderManager2/Default/ProviderFacade.h b/src/Pegasus/ProviderManager2/Default/ProviderFacade.h
index 1e90f82..c918cf3 100644
--- a/src/Pegasus/ProviderManager2/Default/ProviderFacade.h
+++ b/src/Pegasus/ProviderManager2/Default/ProviderFacade.h
@@ -47,7 +47,8 @@
#include <Pegasus/Provider/CIMQueryProvider.h>
#include <Pegasus/Provider/CIMIndicationProvider.h>
#include <Pegasus/Provider/CIMIndicationConsumerProvider.h>
-#include <Pegasus/Server/Linkage.h>
+
+#include <Pegasus/ProviderManager2/Default/Linkage.h>
PEGASUS_NAMESPACE_BEGIN
@@ -56,7 +57,7 @@ PEGASUS_NAMESPACE_BEGIN
// module to ensure it is complete and well behaved. So, regardless of the
// method supported by a "real" provider, it can be placed inside a reliable
// facade with a known interface.
-class PEGASUS_SERVER_LINKAGE ProviderFacade :
+class PEGASUS_DEFPM_LINKAGE ProviderFacade :
// public CIMInstanceQueryProvider,
public CIMInstanceProvider,
public CIMClassProvider,
diff --git a/src/Pegasus/ProviderManager2/Default/ProviderModule.h b/src/Pegasus/ProviderManager2/Default/ProviderModule.h
index 92bad23..7670a16 100644
--- a/src/Pegasus/ProviderManager2/Default/ProviderModule.h
+++ b/src/Pegasus/ProviderManager2/Default/ProviderModule.h
@@ -43,14 +43,14 @@
#include <Pegasus/Config/ConfigManager.h>
-#include <Pegasus/Server/Linkage.h>
+#include <Pegasus/ProviderManager2/Default/Linkage.h>
PEGASUS_NAMESPACE_BEGIN
// The ProviderModule class represents the physical module, as defined by the
// operating, that contains a provider. This class effectively encapsulates the
// "physical" portion of a provider.
-class PEGASUS_SERVER_LINKAGE ProviderModule
+class PEGASUS_DEFPM_LINKAGE ProviderModule
{
public:
ProviderModule(const String & fileName);
diff --git a/src/Pegasus/ProviderManager2/Default/SimpleResponseHandler.h b/src/Pegasus/ProviderManager2/Default/SimpleResponseHandler.h
index b5d474c..6492360 100644
--- a/src/Pegasus/ProviderManager2/Default/SimpleResponseHandler.h
+++ b/src/Pegasus/ProviderManager2/Default/SimpleResponseHandler.h
@@ -37,11 +37,11 @@
#include <Pegasus/Common/ResponseHandler.h>
#include <Pegasus/Common/Logger.h>
-#include <Pegasus/Server/Linkage.h>
+#include <Pegasus/ProviderManager2/Default/Linkage.h>
PEGASUS_NAMESPACE_BEGIN
-class PEGASUS_SERVER_LINKAGE SimpleResponseHandler : virtual public ResponseHandler
+class PEGASUS_DEFPM_LINKAGE SimpleResponseHandler : virtual public ResponseHandler
{
public:
SimpleResponseHandler(void)
@@ -93,7 +93,7 @@ public:
}
};
-class PEGASUS_SERVER_LINKAGE SimpleInstanceResponseHandler : public SimpleResponseHandler, public InstanceResponseHandler
+class PEGASUS_DEFPM_LINKAGE SimpleInstanceResponseHandler : public SimpleResponseHandler, public InstanceResponseHandler
{
public:
SimpleInstanceResponseHandler(void)
@@ -130,7 +130,7 @@ private:
};
-class PEGASUS_SERVER_LINKAGE SimpleObjectPathResponseHandler : public SimpleResponseHandler, public ObjectPathResponseHandler
+class PEGASUS_DEFPM_LINKAGE SimpleObjectPathResponseHandler : public SimpleResponseHandler, public ObjectPathResponseHandler
{
public:
SimpleObjectPathResponseHandler(void)
@@ -166,7 +166,7 @@ private:
};
-class PEGASUS_SERVER_LINKAGE SimpleMethodResultResponseHandler : public SimpleResponseHandler, public MethodResultResponseHandler
+class PEGASUS_DEFPM_LINKAGE SimpleMethodResultResponseHandler : public SimpleResponseHandler, public MethodResultResponseHandler
{
public:
SimpleMethodResultResponseHandler(void)
@@ -214,7 +214,7 @@ private:
};
-class PEGASUS_SERVER_LINKAGE SimpleIndicationResponseHandler : public SimpleResponseHandler, public IndicationResponseHandler
+class PEGASUS_DEFPM_LINKAGE SimpleIndicationResponseHandler : public SimpleResponseHandler, public IndicationResponseHandler
{
public:
SimpleIndicationResponseHandler(void)
@@ -274,7 +274,7 @@ private:
};
-class PEGASUS_SERVER_LINKAGE SimpleObjectResponseHandler : public SimpleResponseHandler, public ObjectResponseHandler
+class PEGASUS_DEFPM_LINKAGE SimpleObjectResponseHandler : public SimpleResponseHandler, public ObjectResponseHandler
{
public:
SimpleObjectResponseHandler(void)
@@ -311,7 +311,7 @@ private:
};
-class PEGASUS_SERVER_LINKAGE SimpleInstance2ObjectResponseHandler : public SimpleResponseHandler, public InstanceResponseHandler
+class PEGASUS_DEFPM_LINKAGE SimpleInstance2ObjectResponseHandler : public SimpleResponseHandler, public InstanceResponseHandler
{
public:
SimpleInstance2ObjectResponseHandler(void)
@@ -348,7 +348,7 @@ private:
};
-class PEGASUS_SERVER_LINKAGE SimpleValueResponseHandler : public SimpleResponseHandler, public ValueResponseHandler
+class PEGASUS_DEFPM_LINKAGE SimpleValueResponseHandler : public SimpleResponseHandler, public ValueResponseHandler
{
public:
SimpleValueResponseHandler(void)
@@ -385,7 +385,7 @@ private:
};
-class PEGASUS_SERVER_LINKAGE SimpleClassResponseHandler : public SimpleResponseHandler, public ClassResponseHandler
+class PEGASUS_DEFPM_LINKAGE SimpleClassResponseHandler : public SimpleResponseHandler, public ClassResponseHandler
{
public:
SimpleClassResponseHandler(void)
diff --git a/src/Pegasus/ProviderManager2/Internal/InternalProviderManager.h b/src/Pegasus/ProviderManager2/Internal/InternalProviderManager.h
index 6cf0c37..04d2fae 100644
--- a/src/Pegasus/ProviderManager2/Internal/InternalProviderManager.h
+++ b/src/Pegasus/ProviderManager2/Internal/InternalProviderManager.h
@@ -36,11 +36,11 @@
#include <Pegasus/ProviderManager2/ProviderManager.h>
-#include <Pegasus/Server/Linkage.h>
+#include <Pegasus/ProviderManager2/Linkage.h>
PEGASUS_NAMESPACE_BEGIN
-class PEGASUS_SERVER_LINKAGE InternalProviderManager : public ProviderManager
+class PEGASUS_PPM_LINKAGE InternalProviderManager : public ProviderManager
{
public:
InternalProviderManager(void);
diff --git a/src/Pegasus/ProviderManager2/Internal/Makefile b/src/Pegasus/ProviderManager2/Internal/Makefile
index f835336..f7c4eff 100644
--- a/src/Pegasus/ProviderManager2/Internal/Makefile
+++ b/src/Pegasus/ProviderManager2/Internal/Makefile
@@ -6,7 +6,7 @@ include $(ROOT)/mak/config.mak
EXTRA_INCLUDES = $(SYS_INCLUDES)
-LOCAL_DEFINES = -DPEGASUS_SERVER_INTERNAL -DPEGASUS_INTERNALONLY
+LOCAL_DEFINES = -DPEGASUS_PPM_INTERNAL -DPEGASUS_INTERNALONLY
LIBRARY = InternalProviderManager
diff --git a/src/Pegasus/ProviderManager2/Linkage.h b/src/Pegasus/ProviderManager2/Linkage.h
new file mode 100644
index 0000000..639e578
--- /dev/null
+++ b/src/Pegasus/ProviderManager2/Linkage.h
@@ -0,0 +1,45 @@
+//%2003////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Development
+// Company, L. P., IBM Corp., The Open Group, Tivoli Systems.
+// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.;
+// IBM Corp.; EMC Corporation, The Open Group.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to
+// deal in the Software without restriction, including without limitation the
+// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+// sell copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
+// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
+// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//==============================================================================
+//
+// Author: Carol Ann Krug Graves, Hewlett-Packard Company
+// (carolann_graves@hp.com)
+//
+// Modified By: Adrian Schuur (schuur@de.ibm.com)
+//
+//%/////////////////////////////////////////////////////////////////////////////
+
+#include <Pegasus/Common/Config.h>
+
+#ifndef PEGASUS_PPM_LINKAGE
+# ifdef PEGASUS_OS_TYPE_WINDOWS
+# ifdef PEGASUS_PPM_INTERNAL
+# define PEGASUS_PPM_LINKAGE PEGASUS_EXPORT
+# else
+# define PEGASUS_PPM_LINKAGE PEGASUS_IMPORT
+# endif
+# else
+# define PEGASUS_PPM_LINKAGE /* empty */
+# endif
+#endif
diff --git a/src/Pegasus/ProviderManager2/Makefile b/src/Pegasus/ProviderManager2/Makefile
index 3a95ace..24b58e0 100644
--- a/src/Pegasus/ProviderManager2/Makefile
+++ b/src/Pegasus/ProviderManager2/Makefile
@@ -6,7 +6,7 @@ include $(ROOT)/mak/config.mak
EXTRA_INCLUDES = $(SYS_INCLUDES)
-LOCAL_DEFINES = -DPEGASUS_SERVER_INTERNAL -DPEGASUS_PPM_INTERNAL -DPEGASUS_INTERNALONLY -DENABLE_DEFAULT_PROVIDER_MANAGER -DENABLE_CMPI_PROVIDER_MANAGER
+LOCAL_DEFINES = -DPEGASUS_PPM_INTERNAL -DPEGASUS_INTERNALONLY -DENABLE_DEFAULT_PROVIDER_MANAGER -DENABLE_CMPI_PROVIDER_MANAGER
LIBRARY = pegprovidermanager
diff --git a/src/Pegasus/ProviderManager2/MutexLock.h b/src/Pegasus/ProviderManager2/MutexLock.h
new file mode 100644
index 0000000..1bdcf66
--- /dev/null
+++ b/src/Pegasus/ProviderManager2/MutexLock.h
@@ -0,0 +1,62 @@
+//%2003////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Development
+// Company, L. P., IBM Corp., The Open Group, Tivoli Systems.
+// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.;
+// IBM Corp.; EMC Corporation, The Open Group.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to
+// deal in the Software without restriction, including without limitation the
+// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+// sell copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
+// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
+// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//==============================================================================
+//
+// Author: Chip Vincent (cvincent@us.ibm.com)
+//
+// Modified By:
+//
+//%/////////////////////////////////////////////////////////////////////////////
+
+#ifndef Pegasus_MutexLock_h
+#define Pegasus_MutexLock_h
+
+#include <Pegasus/Common/Config.h>
+#include <Pegasus/Common/IPC.h>
+
+#include <Pegasus/ProviderManager2/Linkage.h>
+
+PEGASUS_NAMESPACE_BEGIN
+
+class PEGASUS_PPM_LINKAGE MutexLock
+{
+public:
+ MutexLock(Mutex & mutex) : _mutex(mutex)
+ {
+ _mutex.lock(pegasus_thread_self());
+ }
+
+ ~MutexLock(void)
+ {
+ _mutex.unlock();
+ }
+
+private:
+ Mutex & _mutex;
+
+};
+
+PEGASUS_NAMESPACE_END
+
+#endif
diff --git a/src/Pegasus/ProviderManager2/ProviderManager.h b/src/Pegasus/ProviderManager2/ProviderManager.h
index dafc1da..71d6013 100644
--- a/src/Pegasus/ProviderManager2/ProviderManager.h
+++ b/src/Pegasus/ProviderManager2/ProviderManager.h
@@ -40,9 +40,11 @@
#include <Pegasus/ProviderManager2/ProviderRegistrar.h>
+#include <Pegasus/ProviderManager2/Linkage.h>
+
PEGASUS_NAMESPACE_BEGIN
-class PEGASUS_SERVER_LINKAGE ProviderManager
+class PEGASUS_PPM_LINKAGE ProviderManager
{
public:
ProviderManager(void);
diff --git a/src/Pegasus/ProviderManager2/ProviderManagerModule.h b/src/Pegasus/ProviderManager2/ProviderManagerModule.h
index b5d73e0..df62e2c 100644
--- a/src/Pegasus/ProviderManager2/ProviderManagerModule.h
+++ b/src/Pegasus/ProviderManager2/ProviderManagerModule.h
@@ -38,11 +38,11 @@
#include <Pegasus/ProviderManager2/ProviderManager.h>
-#include <Pegasus/Server/Linkage.h>
+#include <Pegasus/ProviderManager2/Linkage.h>
PEGASUS_NAMESPACE_BEGIN
-class PEGASUS_SERVER_LINKAGE ProviderManagerModule : public DynamicLibrary
+class PEGASUS_PPM_LINKAGE ProviderManagerModule : public DynamicLibrary
{
public:
typedef ProviderManager * (*CREATE_PROVIDER_MANAGER_FUNCTION)(const String &);
diff --git a/src/Pegasus/ProviderManager2/ProviderName.h b/src/Pegasus/ProviderManager2/ProviderName.h
index a3ab60e..f3e7a93 100644
--- a/src/Pegasus/ProviderManager2/ProviderName.h
+++ b/src/Pegasus/ProviderManager2/ProviderName.h
@@ -37,11 +37,11 @@
#include <Pegasus/Common/CIMName.h>
#include <Pegasus/Common/CIMObjectPath.h>
-#include <Pegasus/Server/Linkage.h>
+#include <Pegasus/ProviderManager2/Linkage.h>
PEGASUS_NAMESPACE_BEGIN
-class PEGASUS_SERVER_LINKAGE ProviderName
+class PEGASUS_PPM_LINKAGE ProviderName
{
public:
ProviderName(void);
diff --git a/src/Pegasus/ProviderManager2/ProviderRegistrar.h b/src/Pegasus/ProviderManager2/ProviderRegistrar.h
index 7dbd030..7e3cf9e 100644
--- a/src/Pegasus/ProviderManager2/ProviderRegistrar.h
+++ b/src/Pegasus/ProviderManager2/ProviderRegistrar.h
@@ -39,17 +39,17 @@
#include <Pegasus/ProviderManager2/ProviderName.h>
#include <Pegasus/ProviderManager2/ProviderType.h>
-#include <Pegasus/Server/Linkage.h>
+#include <Pegasus/ProviderManager2/Linkage.h>
PEGASUS_NAMESPACE_BEGIN
-class PEGASUS_SERVER_LINKAGE ProviderRegistration
+class PEGASUS_PPM_LINKAGE ProviderRegistration
{
public:
};
-class PEGASUS_SERVER_LINKAGE ProviderRegistrar
+class PEGASUS_PPM_LINKAGE ProviderRegistrar
{
public:
ProviderRegistrar(void);
@@ -68,8 +68,8 @@ public:
//hack
class ProviderRegistrationManager;
-PEGASUS_SERVER_LINKAGE void SetProviderRegistrationManager(ProviderRegistrationManager * p);
-PEGASUS_SERVER_LINKAGE ProviderRegistrationManager * GetProviderRegistrationManager(void);
+PEGASUS_PPM_LINKAGE void SetProviderRegistrationManager(ProviderRegistrationManager * p);
+PEGASUS_PPM_LINKAGE ProviderRegistrationManager * GetProviderRegistrationManager(void);
PEGASUS_NAMESPACE_END
diff --git a/src/Pegasus/ProviderManager2/SafeQueue.h b/src/Pegasus/ProviderManager2/SafeQueue.h
index 7fd79ad..ea513c7 100644
--- a/src/Pegasus/ProviderManager2/SafeQueue.h
+++ b/src/Pegasus/ProviderManager2/SafeQueue.h
@@ -36,12 +36,12 @@
#include <Pegasus/Common/Queue.h>
#include <Pegasus/Common/IPC.h>
-#include <Pegasus/Server/Linkage.h>
+#include <Pegasus/ProviderManager2/Linkage.h>
PEGASUS_NAMESPACE_BEGIN
template<class T>
-class PEGASUS_SERVER_LINKAGE SafeQueue
+class PEGASUS_PPM_LINKAGE SafeQueue
{
public:
SafeQueue(void);
diff --git a/src/Pegasus/ProviderManager2/tests/ProviderManager/Makefile b/src/Pegasus/ProviderManager2/tests/ProviderManager/Makefile
index 1b21629..df8e12c 100644
--- a/src/Pegasus/ProviderManager2/tests/ProviderManager/Makefile
+++ b/src/Pegasus/ProviderManager2/tests/ProviderManager/Makefile
@@ -6,7 +6,7 @@ include $(ROOT)/mak/config.mak
EXTRA_INCLUDES = $(SYS_INCLUDES)
-LOCAL_DEFINES = -DPEGASUS_SERVER_INTERNAL -DPEGASUS_INTERNALONLY
+LOCAL_DEFINES = -DPEGASUS_PPM_INTERNAL -DPEGASUS_INTERNALONLY
LIBRARY = TestProviderManager
diff --git a/src/Pegasus/ProviderManager2/tests/ProviderManager/TestProviderManager.h b/src/Pegasus/ProviderManager2/tests/ProviderManager/TestProviderManager.h
index e051e0b..06c8aa7 100644
--- a/src/Pegasus/ProviderManager2/tests/ProviderManager/TestProviderManager.h
+++ b/src/Pegasus/ProviderManager2/tests/ProviderManager/TestProviderManager.h
@@ -36,11 +36,11 @@
#include <Pegasus/ProviderManager2/ProviderManager.h>
-#include <Pegasus/Server/Linkage.h>
+#include <Pegasus/ProviderManager2/Linkage.h>
PEGASUS_NAMESPACE_BEGIN
-class PEGASUS_SERVER_LINKAGE TestProviderManager : public ProviderManager
+class PEGASUS_PPM_LINKAGE TestProviderManager : public ProviderManager
{
public:
TestProviderManager(void);