Go to the documentation of this file.
6#ifndef iinsp_TSupplierCompWrap_included
7#define iinsp_TSupplierCompWrap_included
22template <
class Product>
59template <
class Product>
62 if (m_productPtr ==
nullptr){
63 m_productPtr = std::make_unique<Product>();
66 return ProduceObject(*m_productPtr);
72template <
class Product>
75 if (BaseClass::GetWorkStatus() == WS_LOCKED){
82 m_productPtr =
nullptr;
84 BaseClass::ClearWorkResults();
90template <
class Product>
95 if (BaseClass::GetWorkStatus() <= WS_OK){
96 return m_productPtr.get();
Base implementation of interface iinsp::ISupplier for iinsp::TSupplierCompWrap.
@ CF_SUPPLIER_RESULTS
Supplier result changed.
Standard implementation of interface iinsp::ISupplier with preparation for component implementation.
const Product * GetWorkProduct() const
Get current work product, if work was done correctly.
int ProcessWorkOutput() override
CSupplierCompBase BaseClass
std::unique_ptr< Product > m_productPtr
virtual int ProduceObject(Product &result) const =0
Produce single object.
void ClearWorkResults() override
Remove all stored work results.
Help class which provides the automatic update mechanism of the model.
Set of change flags (its IDs).
Library containing inspection related classes and components.
© Witold Gantzke and Kirill Lepskiy