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
|