ICF 3.0.5.47
Technical documentation of ICF Libraries
iinsp::ISupplier Class Referenceabstract

Base interface for suppliers providing calculating of objects on demand ("pull data" model). More...

#include <ISupplier.h>

Inheritance diagram for iinsp::ISupplier:
Collaboration diagram for iinsp::ISupplier:

Public Types

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::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 Member Functions

virtual int GetWorkStatus () const =0
 Get status of last work.
 
virtual imod::IModelGetWorkStatusModel () const =0
 Get access to the status model of the supplier.
 
virtual void InvalidateSupplier ()=0
 Called to signalize that this supplier is invalid.
 
virtual void EnsureWorkInitialized ()=0
 Force the supplier to initialize its work.
 
virtual void EnsureWorkFinished ()=0
 Ensure that all objects are produced.
 
virtual void ClearWorkResults ()=0
 Remove all stored work results.
 
virtual const ilog::IMessageContainerGetWorkMessages (int containerType) const =0
 Get messages outputted by this work.
 
virtual iprm::IParamsSetGetModelParametersSet () const =0
 Get parameter set using by this supplier.
 
- 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.
 

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.
 
- 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.
 

Detailed Description

Base interface for suppliers providing calculating of objects on demand ("pull data" model).

Additional interfaces (providers) should provide access to intern stored calculated output objects. For example image provider should provide method {const iimg::IImage* GetImage() const}, where the image will be calculated on demand.

Definition at line 27 of file ISupplier.h.

Member Enumeration Documentation

◆ ChangeFlags

Data model change notification flags.

Enumerator
CF_SUPPLIER_RESULTS 

Supplier result changed.

Definition at line 61 of file ISupplier.h.

◆ MessageContainerType

Enumerator
MCT_RESULTS 
MCT_TEMP 
MTC_LAST 

Definition at line 69 of file ISupplier.h.

◆ WorkStatus

Enumerator
WS_INVALID 

Supplier is invalidated, no result is produced.

WS_INIT 

New work is initialized and will produce new result on demand.

WS_LOCKED 

Supplier is locked becouse it is doing processing step.

WS_OK 

Work was done correctly and no error occure.

WS_CANCELED 

Work was canceled.

WS_FAILED 

Work couldn't be done.

Definition at line 30 of file ISupplier.h.

Member Function Documentation

◆ ClearWorkResults()

◆ EnsureWorkFinished()

virtual void iinsp::ISupplier::EnsureWorkFinished ( )
pure virtual

◆ EnsureWorkInitialized()

virtual void iinsp::ISupplier::EnsureWorkInitialized ( )
pure virtual

Force the supplier to initialize its work.

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

Implemented in iinsp::CInspectionTaskComp, iinsp::CSupplierActivationProxyComp, iinsp::CSupplierCompBase, and iipr::CDelegatedBitmapSupplierComp.

Referenced by iinspgui::TCommonSupplierGuiCompBase< UI >::DoTest(), and iinspgui::TGeneralSupplierGuiComp< UI >::Test().

◆ GetModelParametersSet()

◆ GetWorkMessages()

virtual const ilog::IMessageContainer * iinsp::ISupplier::GetWorkMessages ( int containerType) const
pure virtual

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.

Implemented in iinsp::CInspectionTaskComp, iinsp::CSupplierActivationProxyComp, iinsp::CSupplierCompBase, and iipr::CDelegatedBitmapSupplierComp.

◆ GetWorkStatus()

virtual int iinsp::ISupplier::GetWorkStatus ( ) const
pure virtual

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

Implemented in iinsp::CInspectionTaskComp, iinsp::CSupplierActivationProxyComp, iinsp::CSupplierCompBase, and iipr::CDelegatedBitmapSupplierComp.

Referenced by iinspgui::TCommonSupplierGuiCompBase< UI >::DoTest(), iinspgui::TGeneralSupplierGuiComp< UI >::Test(), and iinspgui::TCommonSupplierGuiCompBase< UI >::UpdateVisualStatus().

◆ GetWorkStatusModel()

virtual imod::IModel * iinsp::ISupplier::GetWorkStatusModel ( ) const
pure virtual

◆ InvalidateSupplier()

virtual void iinsp::ISupplier::InvalidateSupplier ( )
pure virtual

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.

Implemented in iinsp::CInspectionTaskComp, iinsp::CSupplierActivationProxyComp, iinsp::CSupplierCompBase, and iipr::CDelegatedBitmapSupplierComp.

Referenced by iinspgui::TCommonSupplierGuiCompBase< UI >::DoTest(), and iinspgui::TGeneralSupplierGuiComp< UI >::Test().


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

© Witold Gantzke and Kirill Lepskiy