mirror of
https://github.com/genodelabs/genode.git
synced 2025-06-20 08:03:56 +00:00
committed by
Christian Helmuth
parent
bfecea9001
commit
37735d84d9
@ -164,7 +164,7 @@ class Shareable
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
Shareable<T> () : _verbose(false), _obj(nullptr) { }
|
Shareable() : _verbose(false), _obj(nullptr) { }
|
||||||
|
|
||||||
/* operators */
|
/* operators */
|
||||||
T * operator->() const { if (_verbose) Genode::log(__PRETTY_FUNCTION__, " called"); return _obj; }
|
T * operator->() const { if (_verbose) Genode::log(__PRETTY_FUNCTION__, " called"); return _obj; }
|
||||||
|
@ -14,24 +14,24 @@ class ComPtr {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
ComPtr<T> () : _obj(nullptr) { }
|
ComPtr() : _obj(nullptr) { }
|
||||||
|
|
||||||
/* copy constructor */
|
/* copy constructor */
|
||||||
ComPtr<T> (T *obj) : _obj(obj) { }
|
ComPtr(T *obj) : _obj(obj) { }
|
||||||
|
|
||||||
template<typename X>
|
template<typename X>
|
||||||
ComPtr<T> (X *obj) : _obj(dynamic_cast<T*>(obj))
|
ComPtr(X *obj) : _obj(dynamic_cast<T*>(obj))
|
||||||
{
|
{
|
||||||
if (!_obj)
|
if (!_obj)
|
||||||
Genode::log(__func__, ": dynamic cast failed");
|
Genode::log(__func__, ": dynamic cast failed");
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class T2>
|
template <class T2>
|
||||||
ComPtr<T>(const ComPtr<T2> &that) : ComPtr<T>((T2*)that) { }
|
ComPtr(const ComPtr<T2> &that) : ComPtr<T>((T2*)that) { }
|
||||||
|
|
||||||
/* operators */
|
/* operators */
|
||||||
T * operator->() const { return _obj; }
|
T * operator->() const { return _obj; }
|
||||||
operator T*() const { return _obj; }
|
operator T*() const { return _obj; }
|
||||||
|
|
||||||
template <class T2>
|
template <class T2>
|
||||||
ComPtr& operator=(const ComPtr<T2> &that)
|
ComPtr& operator=(const ComPtr<T2> &that)
|
||||||
@ -80,10 +80,10 @@ class ComObjPtr : public ComPtr<T> {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
ComObjPtr<T> () : ComPtr<T>() { }
|
ComObjPtr() : ComPtr<T>() { }
|
||||||
|
|
||||||
/* copy constructor */
|
/* copy constructor */
|
||||||
ComObjPtr<T> (T *obj) : ComPtr<T>(obj) { }
|
ComObjPtr(T *obj) : ComPtr<T>(obj) { }
|
||||||
|
|
||||||
HRESULT createObject()
|
HRESULT createObject()
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user