wrapper class for COM interface pointers More...
#include <shellclasses.h>
Public Member Functions | |
SIfacePtr () | |
SIfacePtr (T *p) | |
SIfacePtr (IUnknown *unknown, REFIID riid) | |
~SIfacePtr () | |
T * | operator-> () |
const T * | operator-> () const |
operator T * () | |
T ** | operator& () |
bool | empty () const |
SIfacePtr & | operator= (T *p) |
void | operator= (SIfacePtr const &o) |
HRESULT | CreateInstance (REFIID clsid, REFIID riid) |
template<typename I > | |
HRESULT | QueryInterface (REFIID riid, I *p) |
T * | get () |
void | Free () |
Protected Member Functions | |
SIfacePtr (const SIfacePtr &o) | |
Protected Attributes | |
T * | _p |
wrapper class for COM interface pointers
Definition at line 332 of file shellclasses.h.
Definition at line 334 of file shellclasses.h.
: _p(0) { }
Definition at line 339 of file shellclasses.h.
: _p(p) { if (p) p->AddRef(); }
Definition at line 346 of file shellclasses.h.
{ CHECKERROR(unknown->QueryInterface(riid, (LPVOID*)&_p)); }
Definition at line 351 of file shellclasses.h.
{ Free(); }
Definition at line 412 of file shellclasses.h.
{ return CoCreateInstance(clsid, NULL, CLSCTX_INPROC_SERVER, riid, (LPVOID*)&_p); }
bool SIfacePtr< T >::empty | ( | ) | const [inline] |
Definition at line 382 of file shellclasses.h.
: GCC seems not to work correctly when defining operator bool() AND operator T*() at one time { return !_p; }
void SIfacePtr< T >::Free | ( | ) | [inline] |
Definition at line 427 of file shellclasses.h.
Referenced by SIfacePtr< IOleInPlaceObject >::operator=(), and SIfacePtr< IOleInPlaceObject >::~SIfacePtr().
T* SIfacePtr< T >::get | ( | ) | [inline] |
Definition at line 422 of file shellclasses.h.
{ return _p; }
SIfacePtr< T >::operator T * | ( | ) | [inline] |
T** SIfacePtr< T >::operator& | ( | ) | [inline] |
Definition at line 377 of file shellclasses.h.
{ return &_p; }
const T* SIfacePtr< T >::operator-> | ( | ) | const [inline] |
Definition at line 361 of file shellclasses.h.
{ return _p; }
T* SIfacePtr< T >::operator-> | ( | ) | [inline] |
Definition at line 356 of file shellclasses.h.
{ return _p; }
Definition at line 399 of file shellclasses.h.
Definition at line 387 of file shellclasses.h.
HRESULT SIfacePtr< T >::QueryInterface | ( | REFIID | riid, |
I * | p | ||
) | [inline] |
Definition at line 417 of file shellclasses.h.
Referenced by BrowserNavigator::navigated().
{ return _p->QueryInterface(riid, (LPVOID*)p); }
Definition at line 444 of file shellclasses.h.
Referenced by SIfacePtr< IOleInPlaceObject >::CreateInstance(), SIfacePtr< IOleInPlaceObject >::empty(), SIfacePtr< IOleInPlaceObject >::Free(), SIfacePtr< IOleInPlaceObject >::get(), SIfacePtr< T >::operator T *(), SIfacePtr< IOleInPlaceObject >::operator&(), SIfacePtr< IOleInPlaceObject >::operator->(), SIfacePtr< IOleInPlaceObject >::operator=(), SIfacePtr< IOleInPlaceObject >::QueryInterface(), and SIfacePtr< IOleInPlaceObject >::SIfacePtr().
ROS Explorer Source Code Documentation
generated on 02.01.2013 by ![]() |