|
using | ParamsType = WidefieldLocalizationParams |
|
using | ConfigType = WidefieldLocalizationConfigurator |
|
using | InstrumentDataType = WidefieldLocalizationData |
|
using | ParamsType = gRPCInstrumentParams< DynExp::InstrumentBase, 0, gRPCStubs... > |
| Type of the parameter class belonging to this Object type. Declare this alias in every derived class with the respective parameter class accompanying the derived Object . More...
|
|
using | ConfigType = gRPCInstrumentConfigurator< DynExp::InstrumentBase, 0, gRPCStubs... > |
| Type of the configurator class belonging to this Object type. Declare this alias in every derived class with the respective configurator class accompanying the derived Object . More...
|
|
using | InstrumentDataType = gRPCInstrumentData< DynExp::InstrumentBase, 0, gRPCStubs... > |
| Type of the data class belonging to this InstrumentBase type. Declare this alias in every derived class with the respective data class accompanying the derived InstrumentBase . More...
|
|
using | ParamsType = InstrumentParamsBase |
| Type of the parameter class belonging to this Object type. Declare this alias in every derived class with the respective parameter class accompanying the derived Object . More...
|
|
using | ConfigType = InstrumentConfiguratorBase |
| Type of the configurator class belonging to this Object type. Declare this alias in every derived class with the respective configurator class accompanying the derived Object . More...
|
|
using | InstrumentDataType = InstrumentDataBase |
| Type of the data class belonging to this InstrumentBase type. Declare this alias in every derived class with the respective data class accompanying the derived InstrumentBase . More...
|
|
using | InstrumentDataTypeSyncPtrType = Util::SynchronizedPointer< InstrumentDataType > |
| Alias for the return type of InstrumentBase::GetInstrumentData(). Data class instances wrapped into Util::SynchronizedPointer can be accessed in a thread-safe way. More...
|
|
using | InstrumentDataTypeSyncPtrConstType = Util::SynchronizedPointer< const InstrumentDataType > |
| Alias for the return type of InstrumentBase::GetInstrumentData() const. Data class instances wrapped into Util::SynchronizedPointer can be accessed in a thread-safe way. More...
|
|
using | InitTaskType = InitTaskBase |
| Defines a task for initializing an instrument within an instrument inheritance hierarchy. Each instrument (indirectly) derived from class InstrumentBase must be accompanied by an initialization task class derived from InitTaskBase . Even if the task does not do anything, at least it has to call InitTaskBase::InitFuncImpl() of the derived instrument's initialization task class. More...
|
|
using | ExitTaskType = ExitTaskBase |
| Defines a task for deinitializing an instrument within an instrument inheritance hierarchy. Each instrument (indirectly) derived from class InstrumentBase must be accompanied by a deinitialization task class derived from ExitTaskBase . Even if the task does not do anything, at least it has to call ExitTaskBase::ExitFuncImpl() of the derived instrument's deinitialization task class. More...
|
|
using | UpdateTaskType = UpdateTaskBase |
| Defines a task for updating an instrument within an instrument inheritance hierarchy. Each instrument (indirectly) derived from class InstrumentBase must be accompanied by an update task class derived from UpdateTaskBase . Even if the task does not do anything, at least it has to call UpdateTaskBase::UpdateFuncImpl() of the derived instrument's update task class. More...
|
|
using | InstrumentDataGetterType = Util::CallableMemberWrapper< InstrumentBase, InstrumentDataTypeSyncPtrType(InstrumentBase::*)(const std::chrono::milliseconds)> |
| Invoking an instance of this alias is supposed to call InstrumentBase::GetInstrumentData() of the instance the Util::CallableMemberWrapper has been constructed with. More...
|
|
using | ParamsType = RunnableObjectParams |
| Type of the parameter class belonging to this Object type. Declare this alias in every derived class with the respective parameter class accompanying the derived Object . More...
|
|
using | ConfigType = RunnableObjectConfigurator |
| Type of the configurator class belonging to this Object type. Declare this alias in every derived class with the respective configurator class accompanying the derived Object . More...
|
|
using | ParamsType = ParamsBase |
| Type of the parameter class belonging to this Object type. Declare this alias in every derived class with the respective parameter class accompanying the derived Object . More...
|
|
using | ParamsTypeSyncPtrType = Util::SynchronizedPointer< ParamsType > |
| Alias for the return type of Object::GetParams(). Parameters wrapped into Util::SynchronizedPointer can be accessed in a thread-safe way. More...
|
|
using | ParamsConstTypeSyncPtrType = Util::SynchronizedPointer< const ParamsType > |
| Alias for the return type of Object::GetParams() const. Parameters wrapped into Util::SynchronizedPointer can be accessed in a thread-safe way. More...
|
|
using | ConfigType = ConfiguratorBase |
| Type of the configurator class belonging to this Object type. Declare this alias in every derived class with the respective configurator class accompanying the derived Object . More...
|
|
using | ParamsGetterType = Util::CallableMemberWrapper< Object, decltype(&Object::GetParams)> |
| Invoking an instance of this alias is supposed to call Object::GetParams() of the instance the Util::CallableMemberWrapper has been constructed with. More...
|
|
|
| WidefieldLocalization (const std::thread::id OwnerThreadID, DynExp::ParamsBasePtrType &&Params) |
|
virtual | ~WidefieldLocalization () |
|
virtual std::string | GetName () const override |
| Returns the name of this Object type. More...
|
|
virtual void | ReadCellID (const QImage &Image, DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const |
|
virtual void | AnalyzeWidefield (const QImage &Image, DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const |
|
virtual void | AnalyzeDistortion (const QImage &Image, DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const |
|
virtual void | RecallPositions (const QImage &Image, const WidefieldLocalizationCellIDType &CellID, std::string_view MeasureSavePath, DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const |
|
virtual | ~gRPCInstrument () |
|
virtual std::string | GetCategory () const override |
| Returns the category of this Object type. More...
|
|
| InstrumentBase (const std::thread::id OwnerThreadID, ParamsBasePtrType &&Params) |
| Constructs an instrument instance. More...
|
|
virtual | ~InstrumentBase ()=0 |
|
template<typename DerivedInstrT , typename... TaskFuncArgTs, typename... ArgTs> |
ExceptionContainer | AsSyncTask (void(DerivedInstrT::*TaskFunc)(TaskFuncArgTs...) const, ArgTs &&...Args) const |
| Calls a (derived) instrument's function which inserts a task into the instrument's task queue synchronously. This means that AsSyncTask() blocks until the task has been executed or aborted. This is achieved by passing a callback function to the task which in turn sets a flag after the task execution. The thread calling AsSyncTask() blocks (via std::this_thread::yield() ) until this flag is set. More...
|
|
InstrumentDataTypeSyncPtrType | GetInstrumentData (const std::chrono::milliseconds Timeout=GetInstrumentDataTimeoutDefault) |
| Locks the mutex of the instrument data class instance InstrumentData assigned to this InstrumentBase instance and returns a pointer to the locked InstrumentData. Instrument data should not be locked by having called this function while subsequently calling a derived instrument's method which also makes use of the instrument's data by locking it. If this happens (e.g. in a module thread), the instrument data's mutex is locked recursively. In principle, this does no harm since Util::ISynchronizedPointerLockable supports that. But, it is not considered good practice. More...
|
|
InstrumentDataTypeSyncPtrConstType | GetInstrumentData (const std::chrono::milliseconds Timeout=GetInstrumentDataTimeoutDefault) const |
| Locks the mutex of the instrument data class instance InstrumentData assigned to this InstrumentBase instance and returns a pointer to the locked InstrumentData. Instrument data should not be locked by having called this function while subsequently calling a derived instrument's method which also makes use of the instrument's data by locking it. If this happens (e.g. in a module thread), the instrument data's mutex is locked recursively. In principle, this does no harm since Util::ISynchronizedPointerLockable supports that. But, it is not considered good practice. More...
|
|
void | UpdateData () const |
| Enqueues an update task (instance of class UpdateTaskBase ). More...
|
|
void | EnqueueArriveAtLatchTask (std::latch &Latch) const |
| Enqueues a task which arrives at a latch when executed (instance of class ArriveAtLatchTask ). More...
|
|
bool | IsInitialized () const |
| Getter for Initialized. More...
|
|
virtual std::chrono::milliseconds | GetTaskQueueDelay () const |
| Specifies in which time intervals the instrument's task queue runs to handle pending tasks. More...
|
|
| RunnableObject (const std::thread::id OwnerThreadID, ParamsBasePtrType &&Params) |
| Constructs an Object instance. More...
|
|
virtual | ~RunnableObject ()=0 |
|
void | SetPaused (bool Pause, std::string Description="") |
| Pauses or resumes a RunnableObject instance. Its thread stays running, but the instance does not perform any action while it is paused. More...
|
|
bool | IsRunning () const noexcept |
| Returns Running. More...
|
|
bool | IsPaused () const noexcept |
| Returns Paused. More...
|
|
bool | IsExiting () const noexcept |
| Returns ShouldExit. More...
|
|
auto | GetStartupType () const noexcept |
| Returns Startup. More...
|
|
auto | GetReasonWhyPaused () const |
| Returns ReasonWhyPaused. More...
|
|
bool | Run (QWidget *ParentWidget=nullptr) |
| Starts the RunnableObject instance's thread and ensures that all Object instances linked to this instance via ObjectLink parameters are in a ready state. Calls RunChild() which is to be overridden by derived classes to start a thread and to pass this thread back by calling StoreThread() . More...
|
|
bool | RunIfRunAutomatic () |
| Calls Run() if RunnableObjectParams::Startup is set to RunnableObjectParams::Automatic. More...
|
|
bool | RunIfRunOnCreation () |
| Calls Run() if RunnableObjectParams::Startup is set to RunnableObjectParams::OnCreation. More...
|
|
void | Terminate (bool Force=false, const std::chrono::milliseconds Timeout=TerminateTimeoutDefault) |
| Notifies the RunnableObject instance's thread to terminate and waits until it has ended. Calls TerminateImpl(). More...
|
|
| INonCopyable (const INonCopyable &)=delete |
|
INonCopyable & | operator= (const INonCopyable &)=delete |
|
ItemIDType | GetID () const noexcept |
| Returns the ID of this Object instance. Thread-safe since ID is const. More...
|
|
std::string | GetCategoryAndName () const |
| Builds a string from an Object's category and name to allow the user to identify an Object's type. More...
|
|
void | EnsureReadyState (bool IsAutomaticStartup) |
| Ensures that this Object instance is ready by possibly starting its worker thread or by opening connections to hardware devices. More...
|
|
void | CheckLinkedObjectStates () const |
| Checks whether Object instances this instance uses are in a ready state. Override CheckLinkedObjectStatesChild() to implement this behavior. More...
|
|
void | Reset () |
| Resets this Object instance (including all its derived classes) by calling ResetImpl() . A reset implies that the derived classes reload all their parameters from Params and that all LinkedObjectWrapper instances owned by this Object instance become invalidated. More...
|
|
void | BlockIfUnused (const std::chrono::milliseconds Timeout=Util::ILockable::DefaultTimeout) |
| Blocks this Object instance setting Object::IsBlocked to true. Refer to Object::IsBlocked for the consequences. More...
|
|
ParamsConstTypeSyncPtrType | GetParams (const std::chrono::milliseconds Timeout=GetParamsTimeoutDefault) const |
| Locks the mutex of the parameter class instance Params assigned to this Object instance and returns a pointer to the locked Params. More...
|
|
ParamsTypeSyncPtrType | GetParams (const std::chrono::milliseconds Timeout=GetParamsTimeoutDefault) |
| Locks the mutex of the parameter class instance Params assigned to this Object instance and returns a pointer to the locked Params. More...
|
|
auto | GetObjectName (const std::chrono::milliseconds Timeout=GetParamsTimeoutDefault) const |
| Returns the name of this Object instance. More...
|
|
bool | IsSharedUsageEnabled (const std::chrono::milliseconds Timeout=GetParamsTimeoutDefault) const |
| Returns whether shared usage has been enabled for this Object instance. Refer to ParamsBase::UsageType. More...
|
|
void | SetWarning (std::string Description, int ErrorCode) const |
| Setter for Object::Warning. Sets the warning by a description and an error code. More...
|
|
void | SetWarning (const Util::Exception &e) const |
| Setter for Object::Warning. Sets the warning by retrieving the warning data from an exception e . More...
|
|
void | ClearWarning () const |
| Resets Object::Warning. More...
|
|
auto | GetWarning () const |
| Returns Object::Warning in a thread-safe way by copying its internal data. More...
|
|
std::exception_ptr | GetException (const std::chrono::milliseconds Timeout=Util::ILockable::DefaultTimeout) const |
| Returns a pointer to the exception which has caused this Object instance to fail. More...
|
|
bool | IsReady () const |
| Returns wheter this Object instance is ready (e.g. it is running or connected to a hardware device) and not blocked (refer to Object::IsBlocked). More...
|
|
auto | GetUseCount (const std::chrono::milliseconds Timeout=Util::ILockable::DefaultTimeout) const |
| Counts the registered useres in a thread-safe way. More...
|
|
bool | IsUnused (const std::chrono::milliseconds Timeout=Util::ILockable::DefaultTimeout) const |
| Returns whether this Object instance is used by other instances. More...
|
|
auto | GetUserIDs (const std::chrono::milliseconds Timeout=Util::ILockable::DefaultTimeout) const |
| Returns a list of the IDs of the registered users in a thread-safe way. More...
|
|
auto | GetUserNamesString (const std::chrono::milliseconds Timeout=Util::ILockable::DefaultTimeout) const |
| Builds a string describing which users are registered containing their object names, categories and type names in a thread-safe way. More...
|
|