File indexing completed on 2026-06-02 08:51:49
0001 #ifndef TCS_OBSERVABLE_SERVICE_H
0002 #define TCS_OBSERVABLE_SERVICE_H
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include <string>
0012
0013 #include "../beans/List.h"
0014 #include "../beans/observable/TCS/TCSObservableKinematic.h"
0015 #include "../beans/observable/TCS/TCSObservableResult.h"
0016 #include "../modules/observable/Observable.h"
0017 #include "../modules/process/ProcessModule.h"
0018 #include "ObservableService.h"
0019
0020 namespace PARTONS {
0021 class TCSObservable;
0022 class TCSProcessModule;
0023 }
0024
0025 namespace PARTONS {
0026
0027
0028
0029
0030
0031
0032
0033
0034 class TCSObservableService: public ObservableService<TCSObservableKinematic,
0035 TCSObservableResult> {
0036
0037 public:
0038
0039 static const unsigned int classId;
0040
0041
0042
0043
0044 virtual ~TCSObservableService();
0045
0046 virtual void resolveObjectDependencies();
0047 virtual TCSObservableKinematic newKinematicFromTask(const Task &task) const;
0048 virtual List<TCSObservableKinematic> newListOfKinematicFromTask(
0049 const Task &task) const;
0050
0051
0052
0053
0054
0055
0056 TCSProcessModule* newTCSProcessModuleFromTask(const Task &task) const;
0057
0058
0059
0060
0061
0062
0063 TCSObservable* newTCSObservableModuleFromTask(const Task &task) const;
0064
0065 protected:
0066
0067
0068
0069
0070 TCSObservableService(const std::string &className);
0071
0072 virtual ProcessModule<TCSObservableKinematic, TCSObservableResult>* newProcessModuleFromTask(
0073 const Task &task) const;
0074 virtual Observable<TCSObservableKinematic, TCSObservableResult>* newObservableModuleFromTask(
0075 const Task &task) const;
0076 };
0077
0078 }
0079
0080 #endif