libqi-api  2.8.7.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Public Attributes | List of all members
qi::TypeProxy< InterfaceType, ProxyType > Class Template Reference

#include <proxyregister.hpp>

Public Types

using ToProxy = boost::function< Proxy *(void *)>
 
using Methods = DefaultTypeImplMethods< Proxy >
 

Public Member Functions

 TypeProxy (ToProxy toProxy)
 
const MetaObjectmetaObject (void *instance) override
 
ObjectUid uid (void *instance) const override
 
qi::Future< AnyReferencemetaCall (void *instance, AnyObject context, unsigned int method, const GenericFunctionParameters &params, MetaCallType callType, Signature returnSignature) override
 
void metaPost (void *instance, AnyObject context, unsigned int signal, const GenericFunctionParameters &params) override
 
qi::Future< SignalLinkconnect (void *instance, AnyObject context, unsigned int event, const SignalSubscriber &subscriber) override
 
qi::Future< void > disconnect (void *instance, AnyObject context, SignalLink linkId) override
 Disconnect an event link. Returns if disconnection was successful. More...
 
const std::vector< std::pair
< TypeInterface
*, std::ptrdiff_t > > & 
parentTypes () override
 
qi::Future< AnyValueproperty (void *instance, AnyObject context, unsigned int id) override
 
qi::Future< void > setProperty (void *instance, AnyObject context, unsigned int id, AnyValue value) override
 
 _QI_BOUNCE_TYPE_METHODS (Methods)
 
- Public Member Functions inherited from qi::ObjectTypeInterface
virtual TypeKind kind ()
 
std::ptrdiff_t inherits (TypeInterface *other)
 
- Public Member Functions inherited from qi::TypeInterface
virtual ~TypeInterface ()=default
 
virtual const TypeInfoinfo ()=0
 Get the TypeInfo corresponding to this type. More...
 
virtual void * initializeStorage (void *ptr=nullptr)=0
 
virtual void * ptrFromStorage (void **)=0
 
virtual void * clone (void *)=0
 Allocate a storage and copy the value given as an argument. More...
 
virtual void destroy (void *)=0
 Free all resources of a storage. More...
 
virtual bool less (void *a, void *b)=0
 
const char * infoString ()
 
qi::Signature signature (void *storage=nullptr, bool resolveDynamic=false)
 

Public Attributes

ToProxy toProxy
 

Additional Inherited Members

- Static Public Member Functions inherited from qi::TypeInterface
static TypeInterfacefromSignature (const qi::Signature &sig)
 
- Static Public Attributes inherited from qi::ObjectTypeInterface
static const auto INHERITS_FAILED = PTRDIFF_MAX
 

Detailed Description

template<class InterfaceType, class ProxyType>
class qi::TypeProxy< InterfaceType, ProxyType >

Definition at line 37 of file proxyregister.hpp.

Member Typedef Documentation

template<class InterfaceType, class ProxyType>
using qi::TypeProxy< InterfaceType, ProxyType >::Methods = DefaultTypeImplMethods<Proxy>

Definition at line 113 of file proxyregister.hpp.

template<class InterfaceType, class ProxyType>
using qi::TypeProxy< InterfaceType, ProxyType >::ToProxy = boost::function<Proxy*(void*)>

Definition at line 43 of file proxyregister.hpp.

Constructor & Destructor Documentation

template<class InterfaceType, class ProxyType>
qi::TypeProxy< InterfaceType, ProxyType >::TypeProxy ( ToProxy  toProxy)
inline

Definition at line 44 of file proxyregister.hpp.

Member Function Documentation

template<class InterfaceType, class ProxyType>
qi::TypeProxy< InterfaceType, ProxyType >::_QI_BOUNCE_TYPE_METHODS ( Methods  )
template<class InterfaceType, class ProxyType>
qi::Future<SignalLink> qi::TypeProxy< InterfaceType, ProxyType >::connect ( void *  instance,
AnyObject  context,
unsigned int  event,
const SignalSubscriber &  subscriber 
)
inlineoverridevirtual

Implements qi::ObjectTypeInterface.

Definition at line 71 of file proxyregister.hpp.

template<class InterfaceType, class ProxyType>
qi::Future<void> qi::TypeProxy< InterfaceType, ProxyType >::disconnect ( void *  instance,
AnyObject  context,
SignalLink  linkId 
)
inlineoverridevirtual

Disconnect an event link. Returns if disconnection was successful.

Implements qi::ObjectTypeInterface.

Definition at line 76 of file proxyregister.hpp.

template<class InterfaceType, class ProxyType>
qi::Future<AnyReference> qi::TypeProxy< InterfaceType, ProxyType >::metaCall ( void *  instance,
AnyObject  context,
unsigned int  method,
const GenericFunctionParameters params,
MetaCallType  callType,
Signature  returnSignature 
)
inlineoverridevirtual

Implements qi::ObjectTypeInterface.

Definition at line 61 of file proxyregister.hpp.

template<class InterfaceType, class ProxyType>
const MetaObject& qi::TypeProxy< InterfaceType, ProxyType >::metaObject ( void *  instance)
inlineoverridevirtual

Implements qi::ObjectTypeInterface.

Definition at line 48 of file proxyregister.hpp.

template<class InterfaceType, class ProxyType>
void qi::TypeProxy< InterfaceType, ProxyType >::metaPost ( void *  instance,
AnyObject  context,
unsigned int  signal,
const GenericFunctionParameters params 
)
inlineoverridevirtual

Implements qi::ObjectTypeInterface.

Definition at line 66 of file proxyregister.hpp.

template<class InterfaceType, class ProxyType>
const std::vector<std::pair<TypeInterface*, std::ptrdiff_t> >& qi::TypeProxy< InterfaceType, ProxyType >::parentTypes ( )
inlineoverridevirtual
Returns
parent types with associated pointer offset

Implements qi::ObjectTypeInterface.

Definition at line 81 of file proxyregister.hpp.

template<class InterfaceType, class ProxyType>
qi::Future<AnyValue> qi::TypeProxy< InterfaceType, ProxyType >::property ( void *  instance,
AnyObject  context,
unsigned int  id 
)
inlineoverridevirtual

Implements qi::ObjectTypeInterface.

Definition at line 101 of file proxyregister.hpp.

template<class InterfaceType, class ProxyType>
qi::Future<void> qi::TypeProxy< InterfaceType, ProxyType >::setProperty ( void *  instance,
AnyObject  context,
unsigned int  id,
AnyValue  value 
)
inlineoverridevirtual

Implements qi::ObjectTypeInterface.

Definition at line 107 of file proxyregister.hpp.

template<class InterfaceType, class ProxyType>
ObjectUid qi::TypeProxy< InterfaceType, ProxyType >::uid ( void *  instance) const
inlineoverridevirtual

Implements qi::ObjectTypeInterface.

Definition at line 54 of file proxyregister.hpp.

Member Data Documentation

template<class InterfaceType, class ProxyType>
ToProxy qi::TypeProxy< InterfaceType, ProxyType >::toProxy

Definition at line 115 of file proxyregister.hpp.


The documentation for this class was generated from the following file: