ICF 3.0.5.47
Technical documentation of ICF Libraries
iinsp::CInspectionTaskComp Class Reference

Standard component implementation of interface iinsp::IInspectionTask. More...

#include <CInspectionTaskComp.h>

Inheritance diagram for iinsp::CInspectionTaskComp:
Collaboration diagram for iinsp::CInspectionTaskComp:

Classes

class  MessageContainer
 
class  Parameters
 
class  Status
 
class  TaskStatusObserver
 

Public Types

enum  MessageId { MI_BAD_PARAMS_COUNT = 0x5af30 , MI_LOCAL }
 
typedef ilog::CLoggerComponentBase BaseClass
 
typedef imod::CModelUpdateBridge BaseClass2
 
- Public Types inherited from ilog::TLoggerCompWrap< Base >
enum  MessageId { MI_BAD_DEPENDENCY = 0x8a340 }
 
typedef Base BaseClass
 
typedef ilog::CLoggerBase BaseClass2
 
- Public Types inherited from istd::IChangeable
enum  ChangeFlags {
  CF_ICF_INTERNAL = 0 , CF_ALL_DATA , CF_ANY , CF_DESTROYING ,
  CF_DELEGATED , CF_NO_UNDO
}
 Data model change notification flags. More...
 
enum  SupportedOperations {
  SO_NONE = 0 , SO_OBSERVE = 1 << 0 , SO_COPY = 1 << 1 , SO_CLONE = 1 << 2 ,
  SO_COMPARE = 1 << 3 , SO_RESET = 1 << 4 , SO_CHANGE_LOCK = 1 << 5
}
 Flags for supported operations. More...
 
enum  CompatibilityMode { CM_STRICT , CM_WITHOUT_REFS , CM_WITH_REFS , CM_CONVERT }
 Control how relationship betweeen objects are interpreted. More...
 
- Public Types inherited from iinsp::ISupplier
enum  WorkStatus {
  WS_INVALID , WS_INIT , WS_LOCKED , WS_OK ,
  WS_CANCELED , WS_FAILED
}
 
enum  ChangeFlags { CF_SUPPLIER_RESULTS = 0x6326415 }
 Data model change notification flags. More...
 
enum  MessageContainerType { MCT_RESULTS , MCT_TEMP , MTC_LAST = MCT_TEMP }
 
- Public Types inherited from istd::IInformationProvider
enum  InformationCategory {
  IC_UNKNOWN = -1 , IC_NONE , IC_INFO , IC_WARNING ,
  IC_ERROR , IC_CRITICAL
}
 Category of information. More...
 
enum  InformationTypeFlags { ITF_DEBUG = 0x1 , ITF_SYSTEM = 0x2 , ITF_USER = 0x4 }
 Additionally information flags. More...
 

Public Member Functions

 I_REGISTER_SUBELEMENT_INTERFACE_T (Parameters, iprm::IParamsSet, ExtractParameters)
 
 I_REGISTER_SUBELEMENT_INTERFACE_T (Parameters, iser::ISerializable, ExtractParameters)
 
 I_REGISTER_SUBELEMENT_INTERFACE_T (Parameters, istd::IChangeable, ExtractParameters)
 
 I_REGISTER_SUBELEMENT_INTERFACE_T (Parameters, imod::IModel, ExtractParameters)
 
 CInspectionTaskComp ()
 
int GetSubtasksCount () const override
 Get number of inspection steps (subtasks).
 
iinsp::ISupplierGetSubtask (int subtaskIndex) const override
 Get single inspection steps (subtasks).
 
iprm::IParamsSetGetGeneralParameters () const override
 Get general parameters additionaly stored next to parameters stored in suppliers.
 
bool Serialize (iser::IArchive &archive) override
 Load or store state of this object as a archive stream.
 
int GetWorkStatus () const override
 Get status of last work.
 
imod::IModelGetWorkStatusModel () const override
 Get access to the status model of the supplier.
 
void InvalidateSupplier () override
 Called to signalize that this supplier is invalid.
 
void EnsureWorkInitialized () override
 Force the supplier to initialize its work.
 
void EnsureWorkFinished () override
 Ensure that all objects are produced.
 
void ClearWorkResults () override
 Remove all stored work results.
 
const ilog::IMessageContainerGetWorkMessages (int messageType) const override
 Get messages outputted by this work.
 
iprm::IParamsSetGetModelParametersSet () const override
 Get parameter set using by this supplier.
 
QDateTime GetInformationTimeStamp () const override
 Get optional time stamp of the information.
 
InformationCategory GetInformationCategory () const override
 Get category of the information.
 
int GetInformationId () const override
 Get binary ID of the information using to automatical identification of this information type.
 
QString GetInformationDescription () const override
 Get the text description of the information.
 
QString GetInformationSource () const override
 Get the source of the information.
 
int GetInformationFlags () const override
 Get flags of the information.
 
- Public Member Functions inherited from ilog::CLoggerBase
 CLoggerBase ()
 
const QByteArray & GetVerboseSenderId () const
 Get sender ID for verbose messages.
 
void SetVerboseSenderId (const QByteArray &id)
 Set sender ID for verbose messages.
 
void SetLogPtr (ilog::IMessageConsumer *logPtr) override
 Install log.
 
ilog::IMessageConsumerGetLogPtr () const override
 Get log.
 
- Public Member Functions inherited from ilog::ILoggable
- Public Member Functions inherited from iinsp::IInspectionTask
- Public Member Functions inherited from iser::ISerializable
virtual quint32 GetMinimalVersion (int versionId) const
 Get minimal needed version to correct storing of this data.
 
- Public Member Functions inherited from istd::IChangeable
virtual int GetSupportedOperations () const
 Get set of flags for supported operations.
 
virtual bool CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS)
 Copy this object from another one.
 
virtual bool IsEqual (const IChangeable &object) const
 Compare this object with another object.
 
virtual std::unique_ptr< IChangeableCloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const
 Make a copy of this object.
 
virtual bool ResetData (CompatibilityMode mode=CM_WITHOUT_REFS)
 Reset data to its default state.
 
virtual QMutex * GetChangesLock () const
 Get mutex beeing locked during changes, if available.
 
virtual void BeginChanges (const ChangeSet &changeSet)
 Starts the change transaction.
 
virtual void EndChanges (const ChangeSet &changeSet)
 Ends the change transaction.
 
virtual void BeginChangeGroup (const ChangeSet &changeSet)
 Starts group of changes.
 
virtual void EndChangeGroup (const ChangeSet &changeSet)
 Ends group of changes.
 
- Public Member Functions inherited from iinsp::ISupplier
- Public Member Functions inherited from istd::IInformationProvider
 I_DECLARE_ENUM (InformationCategory, IC_NONE, IC_INFO, IC_WARNING, IC_ERROR, IC_CRITICAL)
 

Protected Types

typedef imod::TModelWrap< StatusStatusModel
 
typedef QVector< iinsp::ISupplier * > Suppliers
 
typedef imod::TModelWrap< ParametersParametersModel
 
typedef std::unique_ptr< istd::CChangeNotifierNotifierPtr
 
typedef std::map< iinsp::ISupplier *, NotifierPtrSubtaskNotifiers
 
- Protected Types inherited from imod::CModelUpdateBridge
enum  UpdateFlags { UF_DELEGATED = 0x1 , UF_SOURCE = 0x2 }
 Flags to control the change set using for the change notification of the target object. More...
 

Protected Member Functions

void EnsureStatusKnown ()
 
void OnComponentCreated () override
 
void OnComponentDestroyed () override
 
void AfterModelChange (imod::IModel *modelPtr, const istd::IChangeable::ChangeSet &changeSet) override
 This function will be called after update of the observer contents occures.
 
- Protected Member Functions inherited from ilog::TLoggerCompWrap< Base >
virtual void DecorateMessage (istd::IInformationProvider::InformationCategory category, int id, int flags, QString &message, QString &messageSource) const override
 Decorate message parts before outputting.
 
void OnComponentCreated () override
 
void OnComponentDestroyed () override
 
- Protected Member Functions inherited from ilog::CLoggerBase
bool IsVerboseEnabled () const
 Check if verbose messages are enabled.
 
bool SendVerboseMessage (const QString &message, const QString &messageSource=QString()) const
 Send verbose message.
 
bool SendInfoMessage (int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
 Send info message to log.
 
bool SendWarningMessage (int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
 Send warning message to log.
 
bool SendErrorMessage (int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
 Send error message to log.
 
bool SendCriticalMessage (int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
 Send critical message to log.
 
bool SendInfoMessageOnce (int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
 Send once info message to log.
 
bool SendWarningMessageOnce (int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
 Send once warning message to log.
 
bool SendErrorMessageOnce (int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
 Send once error message to log.
 
bool SendCriticalMessageOnce (int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
 Send once critical message to log.
 
bool SendUserMessage (const istd::IInformationProvider *messagePtr) const
 Send message with user object.
 
bool AllowMessageOnceAgain (int id)
 Reset message lock.
 
bool IsLogConsumed (const istd::IInformationProvider::InformationCategory *categoryPtr=nullptr, const int *flagsPtr=nullptr) const override
 Check if any log message is consumed.
 
bool SendLogMessage (istd::IInformationProvider::InformationCategory category, int id, const QString &message, const QString &messageSource, int flags=0) const override
 Send any message to log.
 
- Protected Member Functions inherited from istd::ILogger
- Protected Member Functions inherited from istd::IChangeable
virtual void OnBeginChanges ()
 Callback function for begin change event.
 
virtual void OnEndChanges (const ChangeSet &changeSet)
 Callback function for end change event.
 
- Protected Member Functions inherited from imod::CModelUpdateBridge
 CModelUpdateBridge (CModelUpdateBridge &&bridge) noexcept
 
 CModelUpdateBridge (istd::IChangeable *changeablePtr, int updateFlags=UF_DELEGATED)
 
virtual ~CModelUpdateBridge ()
 
imod::IModelGetObservedModel (int modelIndex) const
 Get access to connected model with the index index.
 
int GetModelCount () const
 Gets the number of connected models.
 
void EnsureModelsDetached ()
 Remove all observed models from this bridge.
 
bool IsModelAttached (const imod::IModel *modelPtr) const override
 Check if specified model is attached.
 
bool OnModelAttached (imod::IModel *modelPtr, istd::IChangeable::ChangeSet &changeMask) override
 This call back function will be called, if an observable object is about to be attached.
 
bool OnModelDetached (imod::IModel *modelPtr) override
 This call back function will be called, if an observable object is about to be detached.
 
void BeforeModelChange (imod::IModel *modelPtr) override
 This function will be called before update of the observer contents occures.
 
void AfterModelChange (imod::IModel *modelPtr, const istd::IChangeable::ChangeSet &changeSet) override
 This function will be called after update of the observer contents occures.
 
- Protected Member Functions inherited from imod::IObserver

Static Protected Member Functions

template<class InterfaceType >
static InterfaceType * ExtractParameters (CInspectionTaskComp &component)
 

Protected Attributes

Suppliers m_subtasks
 
ParametersModel m_parameters
 
bool m_isStatusKnown
 
QDateTime m_resultTypeStamp
 
InformationCategory m_resultCategory
 
QString m_resultDescription
 
MessageContainer m_resultMessages
 
MessageContainer m_tempContainer
 
istd::IChangeable::ChangeSet m_supplierResultsChangeSet
 
SubtaskNotifiers m_subtaskNotifiers
 
TaskStatusObserver m_subTaskStatusObserver
 
StatusModel m_workStatus
 
- Protected Attributes inherited from ilog::CLoggerBase
QSet< int > m_onceMessageIds
 

Additional Inherited Members

- Static Public Member Functions inherited from istd::IChangeable
static const ChangeSetGetNoChanges ()
 Get empty set of changes.
 
static const ChangeSetGetAnyChange ()
 Get anonymous change set.
 
static const ChangeSetGetAllChanges ()
 Get anonymous change set.
 
static const ChangeSetGetDelegatedChanges ()
 Get delegated change set.
 

Detailed Description

Standard component implementation of interface iinsp::IInspectionTask.

Serializing of this object serialize all inspection parameters.

Note
This implementation contains several aspects of the data model:
  1. The component itself represents the data model of the information status of the whole inspection.
  2. The sub-component Parameters represents the parameter of all sub-tasks.
  3. Working status of the whole inspection provided by the method GetWorkStatus.

Definition at line 38 of file CInspectionTaskComp.h.

Member Typedef Documentation

◆ BaseClass

◆ BaseClass2

◆ NotifierPtr

Definition at line 226 of file CInspectionTaskComp.h.

◆ ParametersModel

◆ StatusModel

◆ SubtaskNotifiers

◆ Suppliers

Definition at line 204 of file CInspectionTaskComp.h.

Member Enumeration Documentation

◆ MessageId

Enumerator
MI_BAD_PARAMS_COUNT 
MI_LOCAL 

Definition at line 49 of file CInspectionTaskComp.h.

Constructor & Destructor Documentation

◆ CInspectionTaskComp()

iinsp::CInspectionTaskComp::CInspectionTaskComp ( )

Member Function Documentation

◆ AfterModelChange()

void iinsp::CInspectionTaskComp::AfterModelChange ( imod::IModel * modelPtr,
const istd::IChangeable::ChangeSet & changeSet )
overrideprotectedvirtual

This function will be called after update of the observer contents occures.

Implements imod::IObserver.

◆ ClearWorkResults()

void iinsp::CInspectionTaskComp::ClearWorkResults ( )
overridevirtual

Remove all stored work results.

This set also work state to WS_INIT.

Implements iinsp::ISupplier.

◆ EnsureStatusKnown()

void iinsp::CInspectionTaskComp::EnsureStatusKnown ( )
protected

◆ EnsureWorkFinished()

void iinsp::CInspectionTaskComp::EnsureWorkFinished ( )
overridevirtual

Ensure that all objects are produced.

Implements iinsp::ISupplier.

◆ EnsureWorkInitialized()

void iinsp::CInspectionTaskComp::EnsureWorkInitialized ( )
overridevirtual

Force the supplier to initialize its work.

First if work is initialized, new calculation can be done.

Implements iinsp::ISupplier.

◆ ExtractParameters()

template<class InterfaceType >
static InterfaceType * iinsp::CInspectionTaskComp::ExtractParameters ( CInspectionTaskComp & component)
inlinestaticprotected

Definition at line 211 of file CInspectionTaskComp.h.

References m_parameters.

◆ GetGeneralParameters()

iprm::IParamsSet * iinsp::CInspectionTaskComp::GetGeneralParameters ( ) const
overridevirtual

Get general parameters additionaly stored next to parameters stored in suppliers.

Implements iinsp::IInspectionTask.

◆ GetInformationCategory()

InformationCategory iinsp::CInspectionTaskComp::GetInformationCategory ( ) const
overridevirtual

Get category of the information.

See also
InformationCategory

Implements istd::IInformationProvider.

◆ GetInformationDescription()

QString iinsp::CInspectionTaskComp::GetInformationDescription ( ) const
overridevirtual

Get the text description of the information.

If there is no description provided it contains empty string.

Implements istd::IInformationProvider.

◆ GetInformationFlags()

int iinsp::CInspectionTaskComp::GetInformationFlags ( ) const
overridevirtual

Get flags of the information.

See also
InformationTypeFlags

Implements istd::IInformationProvider.

◆ GetInformationId()

int iinsp::CInspectionTaskComp::GetInformationId ( ) const
overridevirtual

Get binary ID of the information using to automatical identification of this information type.

If there is no information ID it returns negative value.

Implements istd::IInformationProvider.

◆ GetInformationSource()

QString iinsp::CInspectionTaskComp::GetInformationSource ( ) const
overridevirtual

Get the source of the information.

If there is no source information provided it contains empty string.

Implements istd::IInformationProvider.

◆ GetInformationTimeStamp()

QDateTime iinsp::CInspectionTaskComp::GetInformationTimeStamp ( ) const
overridevirtual

Get optional time stamp of the information.

Returns
time stamp associated with this information, or null QDateTime object, if there is no associated time stamp.

Implements istd::IInformationProvider.

◆ GetModelParametersSet()

iprm::IParamsSet * iinsp::CInspectionTaskComp::GetModelParametersSet ( ) const
overridevirtual

Get parameter set using by this supplier.

The pointed object will not be relocated - no reconnect is needed if it is observed. If the supplier doesn't support parameters, it returns nullptr.

Implements iinsp::ISupplier.

◆ GetSubtask()

iinsp::ISupplier * iinsp::CInspectionTaskComp::GetSubtask ( int subtaskIndex) const
overridevirtual

Get single inspection steps (subtasks).

Implements iinsp::IInspectionTask.

◆ GetSubtasksCount()

int iinsp::CInspectionTaskComp::GetSubtasksCount ( ) const
overridevirtual

Get number of inspection steps (subtasks).

Implements iinsp::IInspectionTask.

◆ GetWorkMessages()

const ilog::IMessageContainer * iinsp::CInspectionTaskComp::GetWorkMessages ( int containerType) const
overridevirtual

Get messages outputted by this work.

The pointed object will not be relocated - no reconnect is needed if it is observed. If the supplier doesn't support list of messages, it returns nullptr.

Parameters
containerTypetype of message container,
See also
MessageContainerType.

Implements iinsp::ISupplier.

◆ GetWorkStatus()

int iinsp::CInspectionTaskComp::GetWorkStatus ( ) const
overridevirtual

Get status of last work.

Please note, that this status is not a part of supplier model and can be changed without any notification. If you want to observe the status model of the supplier, please use the GetWorkStatusModel method.

Returns
work status defined in iinsp::ISupplier::WorkStatus.
See also
GetWorkStatusModel

Implements iinsp::ISupplier.

◆ GetWorkStatusModel()

imod::IModel * iinsp::CInspectionTaskComp::GetWorkStatusModel ( ) const
overridevirtual

Get access to the status model of the supplier.

Implements iinsp::ISupplier.

◆ I_REGISTER_SUBELEMENT_INTERFACE_T() [1/4]

iinsp::CInspectionTaskComp::I_REGISTER_SUBELEMENT_INTERFACE_T ( Parameters ,
imod::IModel ,
ExtractParameters  )

◆ I_REGISTER_SUBELEMENT_INTERFACE_T() [2/4]

iinsp::CInspectionTaskComp::I_REGISTER_SUBELEMENT_INTERFACE_T ( Parameters ,
iprm::IParamsSet ,
ExtractParameters  )

◆ I_REGISTER_SUBELEMENT_INTERFACE_T() [3/4]

iinsp::CInspectionTaskComp::I_REGISTER_SUBELEMENT_INTERFACE_T ( Parameters ,
iser::ISerializable ,
ExtractParameters  )

◆ I_REGISTER_SUBELEMENT_INTERFACE_T() [4/4]

iinsp::CInspectionTaskComp::I_REGISTER_SUBELEMENT_INTERFACE_T ( Parameters ,
istd::IChangeable ,
ExtractParameters  )

◆ InvalidateSupplier()

void iinsp::CInspectionTaskComp::InvalidateSupplier ( )
overridevirtual

Called to signalize that this supplier is invalid.

This signal will be transfered to all supplier which are registered as output.

Returns
true, if initialization could be done.

Implements iinsp::ISupplier.

◆ OnComponentCreated()

void iinsp::CInspectionTaskComp::OnComponentCreated ( )
overrideprotected

◆ OnComponentDestroyed()

void iinsp::CInspectionTaskComp::OnComponentDestroyed ( )
overrideprotected

◆ Serialize()

bool iinsp::CInspectionTaskComp::Serialize ( iser::IArchive & archive)
overridevirtual

Load or store state of this object as a archive stream.

Type of operation is depending on archive type.

See also
iser::IArchive

Implements iser::ISerializable.

Member Data Documentation

◆ m_isStatusKnown

bool iinsp::CInspectionTaskComp::m_isStatusKnown
protected

Definition at line 216 of file CInspectionTaskComp.h.

◆ m_parameters

ParametersModel iinsp::CInspectionTaskComp::m_parameters
mutableprotected

Definition at line 208 of file CInspectionTaskComp.h.

Referenced by ExtractParameters().

◆ m_resultCategory

InformationCategory iinsp::CInspectionTaskComp::m_resultCategory
protected

Definition at line 219 of file CInspectionTaskComp.h.

◆ m_resultDescription

QString iinsp::CInspectionTaskComp::m_resultDescription
protected

Definition at line 220 of file CInspectionTaskComp.h.

◆ m_resultMessages

MessageContainer iinsp::CInspectionTaskComp::m_resultMessages
protected

Definition at line 222 of file CInspectionTaskComp.h.

◆ m_resultTypeStamp

QDateTime iinsp::CInspectionTaskComp::m_resultTypeStamp
protected

Definition at line 218 of file CInspectionTaskComp.h.

◆ m_subtaskNotifiers

SubtaskNotifiers iinsp::CInspectionTaskComp::m_subtaskNotifiers
protected

Definition at line 229 of file CInspectionTaskComp.h.

◆ m_subtasks

Suppliers iinsp::CInspectionTaskComp::m_subtasks
protected

Definition at line 205 of file CInspectionTaskComp.h.

◆ m_subTaskStatusObserver

TaskStatusObserver iinsp::CInspectionTaskComp::m_subTaskStatusObserver
protected

Definition at line 231 of file CInspectionTaskComp.h.

◆ m_supplierResultsChangeSet

istd::IChangeable::ChangeSet iinsp::CInspectionTaskComp::m_supplierResultsChangeSet
protected

Definition at line 225 of file CInspectionTaskComp.h.

◆ m_tempContainer

MessageContainer iinsp::CInspectionTaskComp::m_tempContainer
protected

Definition at line 223 of file CInspectionTaskComp.h.

◆ m_workStatus

StatusModel iinsp::CInspectionTaskComp::m_workStatus
protected

Definition at line 233 of file CInspectionTaskComp.h.


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

© Witold Gantzke and Kirill Lepskiy