summaryrefslogtreecommitdiffstats
path: root/source/core/slang-shared-library.cpp
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2021-04-01 18:59:24 -0400
committerGitHub <noreply@github.com>2021-04-01 15:59:24 -0700
commit9475b11045089c9bc9773b16f7eb84f843db70c4 (patch)
treef2855e1283a3811fd771d646f6e2532ca9cb5e21 /source/core/slang-shared-library.cpp
parent2a32fae2ca766862ad76973ab37605edf9ec0faa (diff)
Associating GUID (or UUID) with types (#1776)
* #include an absolute path didn't work - because paths were taken to always be relative. * Add mechanism to embed guid inside of type.
Diffstat (limited to 'source/core/slang-shared-library.cpp')
-rw-r--r--source/core/slang-shared-library.cpp9
1 files changed, 2 insertions, 7 deletions
diff --git a/source/core/slang-shared-library.cpp b/source/core/slang-shared-library.cpp
index 8d362fd89..17b881540 100644
--- a/source/core/slang-shared-library.cpp
+++ b/source/core/slang-shared-library.cpp
@@ -20,18 +20,13 @@
namespace Slang
{
-// Allocate static const storage for the various interface IDs that the Slang API needs to expose
-static const Guid IID_ISlangUnknown = SLANG_UUID_ISlangUnknown;
-static const Guid IID_ISlangSharedLibrary = SLANG_UUID_ISlangSharedLibrary;
-static const Guid IID_ISlangSharedLibraryLoader = SLANG_UUID_ISlangSharedLibraryLoader;
-
/* !!!!!!!!!!!!!!!!!!!!!!!!!! DefaultSharedLibraryLoader !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
/* static */DefaultSharedLibraryLoader DefaultSharedLibraryLoader::s_singleton;
ISlangUnknown* DefaultSharedLibraryLoader::getInterface(const Guid& guid)
{
- return (guid == IID_ISlangUnknown || guid == IID_ISlangSharedLibraryLoader) ? static_cast<ISlangSharedLibraryLoader*>(this) : nullptr;
+ return (guid == ISlangUnknown::getTypeGuid() || guid == ISlangSharedLibraryLoader::getTypeGuid()) ? static_cast<ISlangSharedLibraryLoader*>(this) : nullptr;
}
SlangResult DefaultSharedLibraryLoader::loadSharedLibrary(const char* path, ISlangSharedLibrary** outSharedLibrary)
@@ -83,7 +78,7 @@ TemporarySharedLibrary::~TemporarySharedLibrary()
ISlangUnknown* DefaultSharedLibrary::getInterface(const Guid& guid)
{
- return (guid == IID_ISlangUnknown || guid == IID_ISlangSharedLibrary) ? static_cast<ISlangSharedLibrary*>(this) : nullptr;
+ return (guid == ISlangUnknown::getTypeGuid() || guid == ISlangSharedLibrary::getTypeGuid()) ? static_cast<ISlangSharedLibrary*>(this) : nullptr;
}
DefaultSharedLibrary::~DefaultSharedLibrary()