Common System 0.2.0
Common interfaces and patterns for system integration
Loading...
Searching...
No Matches
function_job Class Reference
Inheritance diagram for function_job:
Inheritance graph
Collaboration diagram for function_job:
Collaboration graph

Public Member Functions

 function_job (std::function< void()> func, std::string name="function_job")
 
VoidResult execute () override
 Execute the job.
 
std::string get_name () const override
 Get the name of the job (for logging/debugging)
 
- Public Member Functions inherited from kcenon::common::interfaces::IJob
virtual ~IJob ()=default
 
virtual int get_priority () const
 Get the priority of the job (higher = more important)
 
virtual ~IJob ()=default
 
virtual int get_priority () const
 Get the priority of the job.
 

Private Attributes

std::function< void()> func_
 
std::string name_
 

Detailed Description

Simple function job wrapper

Examples
executor_example.cpp.

Definition at line 193 of file executor_example.cpp.

Constructor & Destructor Documentation

◆ function_job()

function_job::function_job ( std::function< void()> func,
std::string name = "function_job" )
inlineexplicit
Examples
executor_example.cpp.

Definition at line 195 of file executor_example.cpp.

196 : func_(std::move(func)), name_(std::move(name)) {}
std::function< void()> func_

Member Function Documentation

◆ execute()

VoidResult function_job::execute ( )
inlineoverridevirtual

Execute the job.

Returns
VoidResult indicating success or failure

Implements kcenon::common::interfaces::IJob.

Examples
executor_example.cpp.

Definition at line 198 of file executor_example.cpp.

198 {
199 try {
200 func_();
201 return VoidResult(std::monostate{});
202 } catch (const std::exception& e) {
203 return VoidResult(error_info(1, e.what(), "function_job"));
204 }
205 }
Result< std::monostate > VoidResult
Specialized Result for void operations.
Definition core.h:70
Standard error information used by Result<T>.
Definition core.cppm:106

References func_.

◆ get_name()

std::string function_job::get_name ( ) const
inlineoverridevirtual

Get the name of the job (for logging/debugging)

Returns
Job name

Implements kcenon::common::interfaces::IJob.

Examples
executor_example.cpp.

Definition at line 207 of file executor_example.cpp.

207{ return name_; }

References name_.

Member Data Documentation

◆ func_

std::function<void()> function_job::func_
private
Examples
executor_example.cpp.

Definition at line 210 of file executor_example.cpp.

Referenced by execute().

◆ name_

std::string function_job::name_
private
Examples
executor_example.cpp.

Definition at line 211 of file executor_example.cpp.

Referenced by get_name().


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