TwiceAsNice  2019-02-18
Public Member Functions | Public Attributes | List of all members
Basda::ActorCmd< Type, TypeClass, TypeMemFnExec, TypeMemFnDone, TypeMemFnWait > Struct Template Reference

Nice::ActorCmd<Nice::LogStream, void (Nice::LogStream::*)(uint)>(Nice::StdOut, & Nice::LogStream::setLogLevel) More...

#include <ActorCmdFn.h>

Inheritance diagram for Basda::ActorCmd< Type, TypeClass, TypeMemFnExec, TypeMemFnDone, TypeMemFnWait >:
Inheritance graph
Collaboration diagram for Basda::ActorCmd< Type, TypeClass, TypeMemFnExec, TypeMemFnDone, TypeMemFnWait >:
Collaboration graph

Public Member Functions

 ActorCmd ()
 Default ctor. The member functions are all default (=0). More...
 
 ActorCmd (const std::string &)
 Constructor with a dummy (unused) string argument. More...
 
 ActorCmd (TypeClass *_object, TypeMemFnExec _exec, TypeMemFnDone _done, TypeMemFnWait _wait)
 Constructor that defines the type of object and functions called when needed. More...
 
virtual ~ActorCmd ()
 Dtor. Does nothing. More...
 
virtual std::string name () const
 return actor name. More...
 
virtual std::string toString () const
 Cast the PropertyActor to a string. More...
 
virtual Nice::CompletionState set (const Nice::PropertyFooPtr &_foo, const Nice::Date &_date, const Nice::Any &_value)
 Attempt to set/fix a completion state on a property variable (which is a function state). More...
 
virtual ActorCmd< Type, TypeClass, TypeMemFnExec, TypeMemFnDone, TypeMemFnWait > * clone ()
 Duplicate this command structure. More...
 
- Public Member Functions inherited from Nice::PropertyActor
 PropertyActor ()
 Constructor. More...
 
virtual void init (const Nice::PropertyFooPtr &_foo, PropertyAttrMap &_attrs)=0
 Initializer, called by the Property when it is applied. More...
 
virtual ~PropertyActor ()
 Destructor. More...
 
virtual Nice::CompletionState set (const Nice::Date &_date, const Nice::Any &a)=0
 Abstract function validates a value of a certain type. More...
 
 PropertyActor ()
 Constructor. More...
 
virtual void init (const Nice::PropertyFooPtr &_foo, PropertyAttrMap &_attrs)=0
 Initializer, called by the Property when it is applied. More...
 
virtual ~PropertyActor ()
 Destructor. More...
 
virtual Nice::CompletionState set (const Nice::Date &_date, const Nice::Any &a)=0
 Abstract function validates a value of a certain type. More...
 

Public Attributes

TypeClass * m_object
 
TypeMemFnExec m_memberExec
 
TypeMemFnDone m_memberDone
 
TypeMemFnWait m_memberWait
 

Detailed Description

template<typename Type, typename TypeClass, typename TypeMemFnExec = Nice::Completion (TypeClass::*)(const Type &), typename TypeMemFnDone = Nice::Completion (TypeClass::*)(), typename TypeMemFnWait = Nice::Completion (TypeClass::*)(const Nice::Time &)>
struct Basda::ActorCmd< Type, TypeClass, TypeMemFnExec, TypeMemFnDone, TypeMemFnWait >

Nice::ActorCmd<Nice::LogStream, void (Nice::LogStream::*)(uint)>(Nice::StdOut, & Nice::LogStream::setLogLevel)

Author
Florian Briegel
Version
09.01.26
Date
2009-07-03 11:58:06 AM Member function Actor. At compile time:

The following code snippet illustrates using the member function actor:

   #include <Nice/Property/ActorCmd.h>

   Nice::JointPtr tree;
   tree->setAtNode("LEVEL", 10);
   tree->get("LEVEL")->apply(
      new Nice::ActorCmd<Nice::LogStream, void (Nice::LogStream::*)(uint)>
                                        (Nice::StdOut, & Nice::LogStream::setLogLevel));

    
* 

Constructor & Destructor Documentation

◆ ActorCmd() [1/3]

template<typename Type , typename TypeClass , typename TypeMemFnExec = Nice::Completion (TypeClass::*)(const Type &), typename TypeMemFnDone = Nice::Completion (TypeClass::*)(), typename TypeMemFnWait = Nice::Completion (TypeClass::*)(const Nice::Time &)>
Basda::ActorCmd< Type, TypeClass, TypeMemFnExec, TypeMemFnDone, TypeMemFnWait >::ActorCmd ( )
inline

Default ctor. The member functions are all default (=0).


◆ ActorCmd() [2/3]

template<typename Type , typename TypeClass , typename TypeMemFnExec = Nice::Completion (TypeClass::*)(const Type &), typename TypeMemFnDone = Nice::Completion (TypeClass::*)(), typename TypeMemFnWait = Nice::Completion (TypeClass::*)(const Nice::Time &)>
Basda::ActorCmd< Type, TypeClass, TypeMemFnExec, TypeMemFnDone, TypeMemFnWait >::ActorCmd ( const std::string &  )
inline

Constructor with a dummy (unused) string argument.

The member functions are all default (=0).

Parameters

◆ ActorCmd() [3/3]

template<typename Type , typename TypeClass , typename TypeMemFnExec = Nice::Completion (TypeClass::*)(const Type &), typename TypeMemFnDone = Nice::Completion (TypeClass::*)(), typename TypeMemFnWait = Nice::Completion (TypeClass::*)(const Nice::Time &)>
Basda::ActorCmd< Type, TypeClass, TypeMemFnExec, TypeMemFnDone, TypeMemFnWait >::ActorCmd ( TypeClass *  _object,
TypeMemFnExec  _exec,
TypeMemFnDone  _done,
TypeMemFnWait  _wait 
)
inline

Constructor that defines the type of object and functions called when needed.

Parameters
_objectThe object to be executed.
_execThe member function that is executed.
_doneThe member function that is called when done.
_waitThe member function that is called to wait (waste time).

◆ ~ActorCmd()

template<typename Type , typename TypeClass , typename TypeMemFnExec = Nice::Completion (TypeClass::*)(const Type &), typename TypeMemFnDone = Nice::Completion (TypeClass::*)(), typename TypeMemFnWait = Nice::Completion (TypeClass::*)(const Nice::Time &)>
virtual Basda::ActorCmd< Type, TypeClass, TypeMemFnExec, TypeMemFnDone, TypeMemFnWait >::~ActorCmd ( )
inlinevirtual

Dtor. Does nothing.


Member Function Documentation

◆ clone()

template<typename Type , typename TypeClass , typename TypeMemFnExec = Nice::Completion (TypeClass::*)(const Type &), typename TypeMemFnDone = Nice::Completion (TypeClass::*)(), typename TypeMemFnWait = Nice::Completion (TypeClass::*)(const Nice::Time &)>
virtual ActorCmd<Type, TypeClass, TypeMemFnExec, TypeMemFnDone, TypeMemFnWait>* Basda::ActorCmd< Type, TypeClass, TypeMemFnExec, TypeMemFnDone, TypeMemFnWait >::clone ( )
inlinevirtual

Duplicate this command structure.

Returns
A new object with the same properties (name, functions to be executed) as this.

Implements Nice::PropertyActor.

◆ name()

template<typename Type , typename TypeClass , typename TypeMemFnExec = Nice::Completion (TypeClass::*)(const Type &), typename TypeMemFnDone = Nice::Completion (TypeClass::*)(), typename TypeMemFnWait = Nice::Completion (TypeClass::*)(const Nice::Time &)>
virtual std::string Basda::ActorCmd< Type, TypeClass, TypeMemFnExec, TypeMemFnDone, TypeMemFnWait >::name ( ) const
inlinevirtual

return actor name.


Returns
Stringified Property. This is always the same constant string "ActorCmd" (in this base class)

Implements Nice::PropertyActor.

◆ set()

template<typename Type , typename TypeClass , typename TypeMemFnExec = Nice::Completion (TypeClass::*)(const Type &), typename TypeMemFnDone = Nice::Completion (TypeClass::*)(), typename TypeMemFnWait = Nice::Completion (TypeClass::*)(const Nice::Time &)>
virtual Nice::CompletionState Basda::ActorCmd< Type, TypeClass, TypeMemFnExec, TypeMemFnDone, TypeMemFnWait >::set ( const Nice::PropertyFooPtr _foo,
const Nice::Date _date,
const Nice::Any _value 
)
inlinevirtual

Attempt to set/fix a completion state on a property variable (which is a function state).


Parameters
_fooThe property which should get the new completion state.
_datedummy parameter. Not used.
_valueThe completion variable to be set.
Returns
If the property is busy this returns this busy state. If the action of the member function is finished and the state returns to non-busy within half a second, we set the completion state to _value.

◆ toString()

template<typename Type , typename TypeClass , typename TypeMemFnExec = Nice::Completion (TypeClass::*)(const Type &), typename TypeMemFnDone = Nice::Completion (TypeClass::*)(), typename TypeMemFnWait = Nice::Completion (TypeClass::*)(const Nice::Time &)>
virtual std::string Basda::ActorCmd< Type, TypeClass, TypeMemFnExec, TypeMemFnDone, TypeMemFnWait >::toString ( ) const
inlinevirtual

Cast the PropertyActor to a string.


Returns
Stringified Property.

Implements Nice::PropertyActor.

Member Data Documentation

◆ m_memberDone

template<typename Type , typename TypeClass , typename TypeMemFnExec = Nice::Completion (TypeClass::*)(const Type &), typename TypeMemFnDone = Nice::Completion (TypeClass::*)(), typename TypeMemFnWait = Nice::Completion (TypeClass::*)(const Nice::Time &)>
TypeMemFnDone Basda::ActorCmd< Type, TypeClass, TypeMemFnExec, TypeMemFnDone, TypeMemFnWait >::m_memberDone

◆ m_memberExec

template<typename Type , typename TypeClass , typename TypeMemFnExec = Nice::Completion (TypeClass::*)(const Type &), typename TypeMemFnDone = Nice::Completion (TypeClass::*)(), typename TypeMemFnWait = Nice::Completion (TypeClass::*)(const Nice::Time &)>
TypeMemFnExec Basda::ActorCmd< Type, TypeClass, TypeMemFnExec, TypeMemFnDone, TypeMemFnWait >::m_memberExec

◆ m_memberWait

template<typename Type , typename TypeClass , typename TypeMemFnExec = Nice::Completion (TypeClass::*)(const Type &), typename TypeMemFnDone = Nice::Completion (TypeClass::*)(), typename TypeMemFnWait = Nice::Completion (TypeClass::*)(const Nice::Time &)>
TypeMemFnWait Basda::ActorCmd< Type, TypeClass, TypeMemFnExec, TypeMemFnDone, TypeMemFnWait >::m_memberWait

◆ m_object

template<typename Type , typename TypeClass , typename TypeMemFnExec = Nice::Completion (TypeClass::*)(const Type &), typename TypeMemFnDone = Nice::Completion (TypeClass::*)(), typename TypeMemFnWait = Nice::Completion (TypeClass::*)(const Nice::Time &)>
TypeClass* Basda::ActorCmd< Type, TypeClass, TypeMemFnExec, TypeMemFnDone, TypeMemFnWait >::m_object

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