Scanframe Modular Application 0.1.0
Loading...
Searching...
No Matches
sf::VariableHandler Struct Referenceabstract

Base class used for giving a Variable instance access to a member functions of a derived class. This class is not used directly and is used a base class for the TVariableHandler<T> template class. More...

#include <VariableHandler.h>

Inheritance diagram for sf::VariableHandler:
Collaboration diagram for sf::VariableHandler:

Public Member Functions

virtual void variableEventHandler (VariableTypes::EEvent event, const Variable &caller, Variable &link, bool same_inst)=0
 Pure virtual function which must be implemented when used in a polymorphic setting.
 
virtual ~VariableHandler ()
 Destructor clears the link with variable instances so no errors occur when the link is destructed before the variable is.
 

Additional Inherited Members

- Public Types inherited from sf::VariableTypes
enum  EEvent : int {
  veConvert = 64000 , veNewId = -32000 , veUserGlobal , veFirstLocal = 0 ,
  veFlagsChange = 1 , veValueChange = 2 , veInvalid = 3 , veConverted = 4 ,
  veUserLocal = 5 , veFirstPrivate = 16000 , veIdChanged = 16001 , veDesiredId = 16002 ,
  veRemove = 16003 , veGetOwner = 16004 , veLostOwner = 16005 , veLinked = 16006 ,
  veUnlinked = 16007 , veSetup = 16008 , veUserPrivate = 16009
}
 Events send to the handler set with sf::Variable::setHandler. More...
 
enum  EField : int {
  vfId = 0 , vfName , vfUnit , vfFlags ,
  vfDescription , vfType , vfConversionType , vfRound ,
  vfDefault , vfMinimum , vfMaximum , vfFirstState
}
 
enum  EFlag : flags_type {
  flgReadonly = 1 << 0 , flgArchive = 1 << 1 , flgShare = 1 << 2 , flgLink = 1 << 3 ,
  flgFunction = 1 << 4 , flgParameter = 1 << 5 , flgHidden = 1 << 6 , flgExport = 1 << 7 ,
  flgWriteable = 1 << 8
}
 
enum  EStringType : int {
  stNoString = -1 , stNormal = 0 , stMulti , stPath ,
  stDirectory , stFilename , stSubdirectory
}
 
typedef TVector< Variable * > PtrVector
 Vector for pointers to variables.
 
typedef TVector< VariableVector
 Vector for instances of variables.
 
typedef TVector< VariableReference * > ReferenceVector
 Types for internal use.
 
- Public Types inherited from sf::InformationTypes
typedef unsigned long long id_type
 Type used for the identifying integer (64-bits).
 
typedef int32_t flags_type
 Type used for the flag integer.
 
typedef size_t size_type
 Type used for size of vectors.
 
typedef uint64_t data_type
 Type used for containing a single data element which is the largest integer.
 
typedef int64_t sdata_type
 Type used for containing a single data element which is the largest signed integer.
 
typedef TVector< id_typeIdVector
 Vector for lists of information ID's.
 
typedef TVector< InformationBase * > Vector
 Vector for containing different information base derived classes.
 
- Static Public Attributes inherited from sf::InformationTypes
static constexpr size_t npos = std::numeric_limits<size_type>::max()
 Unsigned size value indicating not found or no index.
 

Detailed Description

Base class used for giving a Variable instance access to a member functions of a derived class. This class is not used directly and is used a base class for the TVariableHandler<T> template class.

Constructor & Destructor Documentation

◆ ~VariableHandler()

virtual sf::VariableHandler::~VariableHandler ( )
virtual

Destructor clears the link with variable instances so no errors occur when the link is destructed before the variable is.

Member Function Documentation

◆ variableEventHandler()

virtual void sf::VariableHandler::variableEventHandler ( VariableTypes::EEvent  event,
const Variable caller,
Variable link,
bool  same_inst 
)
pure virtual

Pure virtual function which must be implemented when used in a polymorphic setting.

Parameters
eventType of the event
callerCalling variable instance
linkLinked variable instance
same_inst

Implemented in sf::VariableCollector.


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