21 #include "cafDataFieldAccessor.h" 22 #include "cafFieldScriptingCapability.h" 23 #include "cafRpcClient.h" 27 template <
class DataType>
34 , m_fieldHandle( fieldHandle )
38 std::unique_ptr<caffa::DataFieldAccessor<DataType>>
clone()
const override 40 return std::make_unique<DataFieldAccessor<DataType>>( m_client, m_fieldHandle );
45 return m_client->
get<DataType>( m_fieldHandle->ownerObject(), m_fieldHandle->keyword() );
50 return m_client->
set<DataType>( m_fieldHandle->ownerObject(), m_fieldHandle->keyword(),
value );
56 return scriptability && scriptability->isReadable();
61 return scriptability && scriptability->isWritable();
bool hasSetter() const override
Definition: cafRpcDataFieldAccessor.h:58
DataType get(const caffa::ObjectHandle *objectHandle, const std::string &fieldName) const
Get a value through RPC.
Definition: cafRpcClient.h:113
Abstract but typed data field accessor. Inherit to create different storage mechanisms.
Definition: cafDataFieldAccessor.h:42
Definition: cafRpcClient.h:37
Definition: cafFieldScriptingCapability.h:49
Base class for all fields, making it possible to handle them generically.
Definition: cafFieldHandle.h:19
void setValue(const DataType &value) override
Set the value with the accessor. Will throw a std::runtime_exception if the accessor has limits and t...
Definition: cafRpcDataFieldAccessor.h:48
void set(const caffa::ObjectHandle *objectHandle, const std::string &fieldName, const DataType &value)
Set a value through RPC.
Definition: cafRpcClient.h:123
DataType value() override
Get the field value.
Definition: cafRpcDataFieldAccessor.h:43
std::unique_ptr< caffa::DataFieldAccessor< DataType > > clone() const override
Clone the accessor using polymorphism.
Definition: cafRpcDataFieldAccessor.h:38
Definition: cafRpcDataFieldAccessor.h:28
bool hasGetter() const override
Definition: cafRpcDataFieldAccessor.h:53
Definition: cafRestAppService.h:28