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 | |