summaryrefslogtreecommitdiff
path: root/src/binder/inc/assemblyname.inl
diff options
context:
space:
mode:
Diffstat (limited to 'src/binder/inc/assemblyname.inl')
-rw-r--r--src/binder/inc/assemblyname.inl144
1 files changed, 144 insertions, 0 deletions
diff --git a/src/binder/inc/assemblyname.inl b/src/binder/inc/assemblyname.inl
new file mode 100644
index 0000000000..3acd39ce0a
--- /dev/null
+++ b/src/binder/inc/assemblyname.inl
@@ -0,0 +1,144 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+// ============================================================
+//
+// AssemblyName.inl
+//
+
+
+//
+// Implements the inlined methods of AssemblyName class
+//
+// ============================================================
+
+#ifndef __BINDER__ASSEMBLY_NAME_INL__
+#define __BINDER__ASSEMBLY_NAME_INL__
+
+SString &AssemblyName::GetSimpleName()
+{
+ return m_simpleName;
+}
+
+void AssemblyName::SetSimpleName(SString &simpleName)
+{
+ m_simpleName.Set(simpleName);
+ SetHave(AssemblyIdentity::IDENTITY_FLAG_SIMPLE_NAME);
+}
+
+AssemblyVersion *AssemblyName::GetVersion()
+{
+ return &m_version;
+}
+
+void AssemblyName::SetVersion(AssemblyVersion *pAssemblyVersion)
+{
+ m_version.SetVersion(pAssemblyVersion);
+}
+
+SString &AssemblyName::GetCulture()
+{
+ return m_cultureOrLanguage;
+}
+
+void AssemblyName::SetCulture(SString &culture)
+{
+ m_cultureOrLanguage.Set(culture);
+ SetHave(AssemblyIdentity::IDENTITY_FLAG_CULTURE);
+}
+
+SBuffer &AssemblyName::GetPublicKeyTokenBLOB()
+{
+ return m_publicKeyOrTokenBLOB;
+}
+
+PEKIND AssemblyName::GetArchitecture()
+{
+ return m_kProcessorArchitecture;
+}
+
+void AssemblyName::SetArchitecture(PEKIND kArchitecture)
+{
+ m_kProcessorArchitecture = kArchitecture;
+
+ if (kArchitecture != peNone)
+ {
+ SetHave(AssemblyIdentity::IDENTITY_FLAG_PROCESSOR_ARCHITECTURE);
+ }
+ else
+ {
+ SetClear(AssemblyIdentity::IDENTITY_FLAG_PROCESSOR_ARCHITECTURE);
+ }
+}
+
+AssemblyContentType AssemblyName::GetContentType()
+{
+ return m_kContentType;
+}
+
+void AssemblyName::SetContentType(AssemblyContentType kContentType)
+{
+ m_kContentType = kContentType;
+
+ if (kContentType != AssemblyContentType_Default)
+ {
+ SetHave(AssemblyIdentity::IDENTITY_FLAG_CONTENT_TYPE);
+ }
+ else
+ {
+ SetClear(AssemblyIdentity::IDENTITY_FLAG_CONTENT_TYPE);
+ }
+}
+
+BOOL AssemblyName::GetIsRetargetable()
+{
+ return m_dwIdentityFlags & AssemblyIdentity::IDENTITY_FLAG_RETARGETABLE;
+}
+
+void AssemblyName::SetIsRetargetable(BOOL fIsRetargetable)
+{
+ if (fIsRetargetable)
+ {
+ m_dwNameFlags |= NAME_FLAG_RETARGETABLE;
+ SetHave(AssemblyIdentity::IDENTITY_FLAG_RETARGETABLE);
+ }
+ else
+ {
+ m_dwNameFlags &= ~NAME_FLAG_RETARGETABLE;
+ SetClear(AssemblyIdentity::IDENTITY_FLAG_RETARGETABLE);
+ }
+}
+
+BOOL AssemblyName::GetIsDefinition()
+{
+ return ((m_dwNameFlags & NAME_FLAG_DEFINITION) != 0);
+}
+
+void AssemblyName::SetIsDefinition(BOOL fIsDefinition)
+{
+ if (fIsDefinition)
+ {
+ m_dwNameFlags |= NAME_FLAG_DEFINITION;
+ }
+ else
+ {
+ m_dwNameFlags &= ~NAME_FLAG_DEFINITION;
+ }
+}
+
+void AssemblyName::SetHave(DWORD dwIdentityFlags)
+{
+ AssemblyIdentity::SetHave(dwIdentityFlags);
+}
+
+BOOL AssemblyName::HaveAssemblyVersion()
+{
+ return (m_version.GetMajor() != static_cast<DWORD>(-1));
+}
+
+BOOL AssemblyName::HaveNeutralCulture()
+{
+ return GetDeNormalizedCulture().IsEmpty();
+}
+
+#endif