Home | History | Annotate | Download | only in win

Lines Matching refs:Interface

17 // A fairly minimalistic smart class for COM interface pointers.
20 template <class Interface, const IID* interface_id = &__uuidof(Interface)>
21 class ScopedComPtr : public scoped_refptr<Interface> {
25 class BlockIUnknownMethods : public Interface {
32 typedef scoped_refptr<Interface> ParentClass;
37 explicit ScopedComPtr(Interface* p) : ParentClass(p) {
40 ScopedComPtr(const ScopedComPtr<Interface, interface_id>& p)
47 COMPILE_ASSERT(sizeof(ScopedComPtr<Interface, interface_id>) ==
48 sizeof(Interface*), ScopedComPtrSize);
64 Interface* Detach() {
65 Interface* p = ptr_;
70 // Accepts an interface pointer that has already been addref-ed.
71 void Attach(Interface* p) {
80 Interface** Receive() {
107 // Queries |other| for the interface this object wraps and returns the
141 // Provides direct access to the interface.
149 // by statically casting the ScopedComPtr instance to the wrapped interface
157 using scoped_refptr<Interface>::operator=;