VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
taskStatusList.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2024 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 #pragma once
9 
10 #include <readerWriter/rwList.h>
11 #include <list>
12 #include <map>
13 #include <boost/signals2.hpp>
14 
18 
19 class DtTaskStatusEntry;
20 
23 {
24 public:
25 
28 
31  parentRegistry = 0);
32 
34  virtual ~DtTaskStatusList() override;
35 
37  DtTaskStatusList(const DtString & name, const DtTaskStatusList & orig,
38  DtReaderWriterRegistry * parentRegistry = 0);
39 
42 
44  virtual void addTaskStatusEntry(DtTaskStatusEntry * taskStatusEntry);
45 
47  virtual void add(DtTaskStatusEntry * taskStatusEntry);
48 
52  virtual void removeTaskStatusEntry(DtTaskStatusEntry * taskStatusEntry, DtListItem * listItem);
53 
56  virtual DtListItem * lookupTaskStatusEntry(const DtSymbolString & controllerName) const;
57 
59  virtual DtListItem * lookupTaskStatusEntry(const DtSymbolString & controllerName, int taskId) const;
60 
63  virtual std::list<DtTaskStatusEntry*> lookupAllTaskStatusEntries(const DtSymbolString& controllerName) const;
64 
67  virtual bool anyTaskedEntries(const DtSymbolString& controllerName) const;
68 
70  void emptyList();
71 
73  virtual void recreateFastMap();
74 
75  boost::signals2::signal<void (DtTaskStatusEntry*)> signal_taskEntryAdded;
76  boost::signals2::signal<void (DtTaskStatusEntry*)> signal_taskEntryRemoved;
77 protected:
78 
81  virtual DtlObjPtr getData(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
82  const DtVariableBindingsList& variableBindings) override;
83 
85  void copyList(const DtTaskStatusList& orig);
86 
87  typedef std::multimap<DtSymbolString, DtListItem*> DtFastMap;
90 };
91 
boost::signals2::signal< void(DtTaskStatusEntry *)> signal_taskEntryRemoved
Definition: taskStatusList.h:76
DtFastMap myFastMap
Used for lookup optimization.
Definition: taskStatusList.h:89
boost::signals2::signal< void(DtTaskStatusEntry *)> signal_taskEntryAdded
Definition: taskStatusList.h:75
virtual DtlObjPtr getData(DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings) override=0
This method must be overridden by a subclass. Within this method, new instances of the DtReaderWriter...
This class allows one to collect and compare strings using an index number instead of having to do st...
Definition: symbolString.h:27
A Readable, Writable version of DtList. This class cannot be used directly, but must be inherited to ...
Definition: rwList.h:26
Definition: readerWriterRegistry.h:39
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
Definition: taskStatusList.h:22
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
Instances of DtTaskStatusEntry hold the current tasking/subtasking state for a given component and ca...
Definition: taskStatusEntry.h:99
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
virtual DtListItem * add(DtReaderWriter *data)
Add element to the end of the list. Returns the DtListItem envelope object that contains your new ele...
std::multimap< DtSymbolString, DtListItem * > DtFastMap
Definition: taskStatusList.h:87
const DtRwList & operator=(const DtRwList &orig)
Calls down to DtReaderWriter::operator=(). List elements are not copied.

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)