diff options
author | dotnet-bot <dotnet-bot@microsoft.com> | 2015-01-30 14:14:42 -0800 |
---|---|---|
committer | dotnet-bot <dotnet-bot@microsoft.com> | 2015-01-30 14:14:42 -0800 |
commit | ef1e2ab328087c61a6878c1e84f4fc5d710aebce (patch) | |
tree | dee1bbb89e9d722e16b0d1485e3cdd1b6c8e2cfa /src/binder/inc/binderinterface.hpp | |
download | coreclr-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.hpp | 70 |
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 |