32 template <
typename T,
typename U>
33 static inline std::shared_ptr<T> property_private_cast(
const std::shared_ptr<U> &r)
35 static struct Invalid :
public T
39 auto result = std::dynamic_pointer_cast<T>(r);
40 return result !=
nullptr ? result : make_shared_weak(&invalid);
47 void *
property =
nullptr;
64 #ifdef INDI_PROPERTY_BACKWARD_COMPATIBILE
Class to provide basic INDI device functionality.
PropertyPrivate(void *property, INDI_PROPERTY_TYPE type)
virtual ~PropertyPrivate()
std::function< void()> onUpdateCallback
Provides generic container for INDI properties.
Namespace to encapsulate INDI client, drivers, and mediator classes.
Provides decorator for Low-Level IXXXVectorProperty/IXXX.