Caffa  1.1.0
C++ Application Framework for Embedded Systems with introspection
Public Types | Public Member Functions | List of all members
caffa::ChildField< DataTypePtr > Class Template Reference

Field class to handle a pointer to a caffa Object. More...

#include <cafChildField.h>

Inheritance diagram for caffa::ChildField< DataTypePtr >:
Inheritance graph
[legend]
Collaboration diagram for caffa::ChildField< DataTypePtr >:
Collaboration graph
[legend]

Public Types

using DataType = typename std::remove_pointer< DataTypePtr >::type
 
using Ptr = std::shared_ptr< DataType >
 
using ConstPtr = std::shared_ptr< const DataType >
 
using FieldDataType = DataTypePtr
 

Public Member Functions

bool empty () const override
 
ChildFieldoperator= (Ptr object)
 
bool operator== (std::shared_ptr< const ObjectHandle > object) const
 
bool operator== (const ObjectHandle *object) const
 
std::shared_ptr< DataType > object ()
 
std::shared_ptr< const DataType > object () const
 
void setObject (Ptr object)
 
 operator std::shared_ptr< DataType > ()
 
 operator std::shared_ptr< const DataType > () const
 
 operator bool () const
 
std::shared_ptr< DataType > operator-> ()
 
std::shared_ptr< const DataType > operator-> () const
 
std::shared_ptr< DataType > operator() ()
 
std::shared_ptr< const DataType > operator() () const
 
std::vector< std::shared_ptr< ObjectHandle > > childObjects () override
 
std::vector< std::shared_ptr< const ObjectHandle > > childObjects () const override
 
void clear () override
 
void removeChildObject (std::shared_ptr< const ObjectHandle > object)
 
void setChildObject (std::shared_ptr< ObjectHandle > object) override
 
std::string dataType () const override
 
bool isReadable () const override
 
bool isWritable () const override
 
void setAccessor (std::unique_ptr< ChildFieldAccessor > accessor) override
 
std::string childClassKeyword () const override
 Get the class keyword of the contained child(ren)
 
- Public Member Functions inherited from caffa::ChildFieldBaseHandle
void accept (Inspector *visitor) const override
 
void accept (Editor *editor) override
 
- Public Member Functions inherited from caffa::FieldHandle
std::string keyword () const
 
ObjectHandleownerObject ()
 
const ObjectHandleownerObject () const
 
void addCapability (std::unique_ptr< FieldCapability > capability)
 
template<typename CapabilityType >
CapabilityType * capability ()
 
template<typename CapabilityType >
const CapabilityType * capability () const
 
bool isDeprecated () const
 
void markDeprecated ()
 
void setDocumentation (const std::string &documentation)
 
const std::string & documentation () const
 

Additional Inherited Members

- Protected Member Functions inherited from caffa::FieldHandle
bool isInitialized () const
 
std::list< FieldCapability * > capabilities ()
 

Detailed Description

template<typename DataTypePtr>
class caffa::ChildField< DataTypePtr >

Field class to handle a pointer to a caffa Object.

Template Parameters
DataTypePtrA pointer to a class derived from caffa::Object

Member Function Documentation

◆ isReadable()

template<typename DataTypePtr>
bool caffa::ChildField< DataTypePtr >::isReadable ( ) const
inlineoverridevirtual

Can the field be read. A non-scriptable field cannot be read within the client.

Implements caffa::FieldHandle.

◆ isWritable()

template<typename DataTypePtr>
bool caffa::ChildField< DataTypePtr >::isWritable ( ) const
inlineoverridevirtual

Can the field be written to. A non-scriptable field cannot be written to within the client.

Implements caffa::FieldHandle.


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