Non-copyable CRTP base class for COM dispatch proxy objects. More...
#include <COMProxy.hpp>

Protected Member Functions | |
| COMProxy (pacemaker::inca::detail::unique_com_ptr< T > subject) noexcept | |
Constructs the proxy, taking ownership of subject. | |
| COMProxy (COMProxy &&)=default | |
| Move constructor transfers ownership of the underlying COM pointer. | |
| COMProxy & | operator= (COMProxy &&)=default |
| Move assignment transfers ownership of the underlying COM pointer. | |
Protected Attributes | |
| pacemaker::inca::detail::unique_com_ptr< T > | p_subject {nullptr} |
| Owning pointer to the underlying COM dispatch object. | |
Non-copyable CRTP base class for COM dispatch proxy objects.
COMProxy<T> stores a unique_com_ptr<T> and enforces move-only ownership semantics so that concrete proxy classes do not need to repeat this boilerplate.
Concrete proxy classes inherit privately from this base and gain access to the protected member p_subject through which they invoke the underlying COM methods.
| T | the concrete COM dispatch type managed by this proxy. |
Definition at line 34 of file COMProxy.hpp.
|
inlineexplicitprotectednoexcept |
Constructs the proxy, taking ownership of subject.
| subject | Owning pointer to the COM object. Moved into the internal p_subject member; the callers' pointer is left null after construction. |
Definition at line 44 of file COMProxy.hpp.
Move constructor transfers ownership of the underlying COM pointer.
Move assignment transfers ownership of the underlying COM pointer.
|
protected |
Owning pointer to the underlying COM dispatch object.
Derived classes use this member to invoke methods on the wrapped COM interface. Its lifetime is tied to the proxy: the COM object is released when p_subject is destroyed.
Definition at line 60 of file COMProxy.hpp.