summaryrefslogtreecommitdiff
path: root/src/binder/inc/binderinterface.hpp
diff options
context:
space:
mode:
authordotnet-bot <dotnet-bot@microsoft.com>2015-01-30 14:14:42 -0800
committerdotnet-bot <dotnet-bot@microsoft.com>2015-01-30 14:14:42 -0800
commitef1e2ab328087c61a6878c1e84f4fc5d710aebce (patch)
treedee1bbb89e9d722e16b0d1485e3cdd1b6c8e2cfa /src/binder/inc/binderinterface.hpp
downloadcoreclr-ef1e2ab328087c61a6878c1e84f4fc5d710aebce.tar.gz
coreclr-ef1e2ab328087c61a6878c1e84f4fc5d710aebce.tar.bz2
coreclr-ef1e2ab328087c61a6878c1e84f4fc5d710aebce.zip
Initial commit to populate CoreCLR repo
[tfs-changeset: 1407945]
Diffstat (limited to 'src/binder/inc/binderinterface.hpp')
-rw-r--r--src/binder/inc/binderinterface.hpp70
1 files changed, 70 insertions, 0 deletions
diff --git a/src/binder/inc/binderinterface.hpp b/src/binder/inc/binderinterface.hpp
new file mode 100644
index 0000000000..381dc740af
--- /dev/null
+++ b/src/binder/inc/binderinterface.hpp
@@ -0,0 +1,70 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+// ============================================================
+//
+// BinderInterface.hpp
+//
+
+
+//
+// Defines the public AssemblyBinder interface
+//
+// ============================================================
+
+#ifndef __BINDER_INTERFACE_HPP__
+#define __BINDER_INTERFACE_HPP__
+
+class PEImage;
+class PEAssembly;
+class StringArrayList;
+
+namespace BINDER_SPACE
+{
+ class Assembly;
+ class AssemblyIdentityUTF8;
+};
+
+namespace BinderInterface
+{
+ HRESULT Init();
+
+ HRESULT SetupContext(/* in */ LPCWSTR wszApplicationBase,
+ /* in */ DWORD dwAppDomainId,
+ /* out */ IUnknown **ppIApplicationContext);
+
+ // See code:BINDER_SPACE::AssemblyBinder::GetAssembly for info on fNgenExplicitBind
+ // and fExplicitBindToNativeImage, and see code:CEECompileInfo::LoadAssemblyByPath
+ // for an example of how they're used.
+ HRESULT Bind(/* in */ IUnknown *pIApplicationContext,
+ /* in */ SString &assemblyDisplayName,
+ /* in */ LPCWSTR wszCodeBase,
+ /* in */ PEAssembly *pParentAssembly,
+ /* in */ BOOL fNgenExplicitBind,
+ /* in */ BOOL fExplicitBindToNativeImage,
+ /*out */ BINDER_SPACE::Assembly **ppAssembly);
+
+ //
+ // Called via managed AppDomain.ExecuteAssembly variants and during binding host setup
+ //
+ HRESULT SetupBindingPaths(/* in */ IUnknown *pIApplicationContext,
+ /* in */ SString &sTrustedPlatformAssemblies,
+ /* in */ SString &sPlatformResourceRoots,
+ /* in */ SString &sAppPaths,
+ /* in */ SString &sAppNiPaths);
+
+ //
+ // Called via CoreAssemblySpec::BindToSystem
+ //
+ HRESULT BindToSystem(/* in */ SString &sSystemDirectory,
+ /* out */ BINDER_SPACE::Assembly **ppSystemAssembly,
+ /* in */ bool fBindToNativeImage);
+
+#ifdef BINDER_DEBUG_LOG
+ HRESULT Log(/* in */ LPCWSTR wszMessage);
+#endif // BINDER_DEBUG_LOG
+
+};
+
+#endif