| 1 | // Licensed to the .NET Foundation under one or more agreements. |
| 2 | // The .NET Foundation licenses this file to you under the MIT license. |
| 3 | // See the LICENSE file in the project root for more information. |
| 4 | // ============================================================ |
| 5 | // |
| 6 | // BindResult.hpp |
| 7 | // |
| 8 | |
| 9 | |
| 10 | // |
| 11 | // Defines the BindResult class |
| 12 | // |
| 13 | // ============================================================ |
| 14 | |
| 15 | #ifndef __BINDER__BIND_RESULT_HPP__ |
| 16 | #define __BINDER__BIND_RESULT_HPP__ |
| 17 | |
| 18 | #include "bindertypes.hpp" |
| 19 | |
| 20 | namespace BINDER_SPACE |
| 21 | { |
| 22 | class BindResult |
| 23 | { |
| 24 | public: |
| 25 | inline BindResult(); |
| 26 | inline ~BindResult(); |
| 27 | |
| 28 | inline AssemblyName *GetAssemblyName(BOOL fAddRef = FALSE); |
| 29 | inline IUnknown *GetAssembly(BOOL fAddRef = FALSE); |
| 30 | inline Assembly *GetAsAssembly(BOOL fAddRef = FALSE); |
| 31 | |
| 32 | inline AssemblyName *GetRetargetedAssemblyName(); |
| 33 | inline void SetRetargetedAssemblyName(AssemblyName *pRetargetedAssemblyName); |
| 34 | |
| 35 | inline BOOL GetIsDynamicBind(); |
| 36 | inline void SetIsDynamicBind(BOOL fIsDynamicBind); |
| 37 | inline BOOL GetIsInGAC(); |
| 38 | inline void SetIsInGAC(BOOL fIsInGAC); |
| 39 | inline BOOL GetIsContextBound(); |
| 40 | inline void SetIsContextBound(BOOL fIsContextBound); |
| 41 | inline BOOL GetIsFirstRequest(); |
| 42 | inline void SetIsFirstRequest(BOOL fIsFirstRequest); |
| 43 | inline BOOL GetIsSharable(); |
| 44 | inline void SetIsSharable(BOOL fIsSharable); |
| 45 | |
| 46 | inline void SetResult(ContextEntry *pContextEntry, BOOL fIsContextBound = TRUE); |
| 47 | inline void SetResult(Assembly *pAssembly); |
| 48 | inline void SetResult(BindResult *pBindResult); |
| 49 | |
| 50 | inline void SetNoResult(); |
| 51 | inline BOOL HaveResult(); |
| 52 | |
| 53 | inline IUnknown *(); |
| 54 | inline void Reset(); |
| 55 | |
| 56 | protected: |
| 57 | DWORD m_dwResultFlags; |
| 58 | AssemblyName *m_pAssemblyName; |
| 59 | AssemblyName *m_pRetargetedAssemblyName; |
| 60 | ReleaseHolder<IUnknown> m_pIUnknownAssembly; |
| 61 | }; |
| 62 | }; |
| 63 | |
| 64 | #endif |
| 65 | |