diff options
Diffstat (limited to 'src/binder/inc/bindresult.hpp')
-rw-r--r-- | src/binder/inc/bindresult.hpp | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/src/binder/inc/bindresult.hpp b/src/binder/inc/bindresult.hpp new file mode 100644 index 0000000000..83a9b8cf26 --- /dev/null +++ b/src/binder/inc/bindresult.hpp @@ -0,0 +1,65 @@ +// +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. +// +// ============================================================ +// +// BindResult.hpp +// + + +// +// Defines the BindResult class +// +// ============================================================ + +#ifndef __BINDER__BIND_RESULT_HPP__ +#define __BINDER__BIND_RESULT_HPP__ + +#include "bindertypes.hpp" + +namespace BINDER_SPACE +{ + class BindResult + { + public: + inline BindResult(); + inline ~BindResult(); + + inline AssemblyName *GetAssemblyName(BOOL fAddRef = FALSE); + inline IUnknown *GetAssembly(BOOL fAddRef = FALSE); + inline Assembly *GetAsAssembly(BOOL fAddRef = FALSE); + + inline AssemblyName *GetRetargetedAssemblyName(); + inline void SetRetargetedAssemblyName(AssemblyName *pRetargetedAssemblyName); + + inline BOOL GetIsDynamicBind(); + inline void SetIsDynamicBind(BOOL fIsDynamicBind); + inline BOOL GetIsInGAC(); + inline void SetIsInGAC(BOOL fIsInGAC); + inline BOOL GetIsContextBound(); + inline void SetIsContextBound(BOOL fIsContextBound); + inline BOOL GetIsFirstRequest(); + inline void SetIsFirstRequest(BOOL fIsFirstRequest); + inline BOOL GetIsSharable(); + inline void SetIsSharable(BOOL fIsSharable); + + inline void SetResult(ContextEntry *pContextEntry, BOOL fIsContextBound = TRUE); + inline void SetResult(Assembly *pAssembly); + inline void SetResult(BindResult *pBindResult); + + inline void SetNoResult(); + inline BOOL HaveResult(); + + inline IUnknown *ExtractAssembly(); + inline void Reset(); + + protected: + DWORD m_dwResultFlags; + AssemblyName *m_pAssemblyName; + AssemblyName *m_pRetargetedAssemblyName; + ReleaseHolder<IUnknown> m_pIUnknownAssembly; + }; +}; + +#endif |