18 #ifndef DtVrfProcessStateRepositoryManager_H_
19 #define DtVrfProcessStateRepositoryManager_H_
21 #include <vlutil/vlHashlist.h>
79 virtual void addProcessStateRepository(
89 virtual void removeProcessStateRepository(
100 const DtString& procRepName,
bool recurse =
true)
const;
111 virtual void completePSRList(std::list<DtVrfProcessStateRepository*>& psrList)
const;
117 virtual void addProcessStateRepositoryAddedCallback(
122 virtual void removeProcessStateRepositoryAddedCallback(
126 virtual void invokeProcessStateRepositoryAddedCallbacks(
132 virtual void addProcessStateRepositoryAboutToBeRemovedCallback(
137 virtual void removeProcessStateRepositoryAboutToBeRemovedCallback(
141 virtual void invokeProcessStateRepositoryAboutToBeRemovedCallbacks(
145 virtual void putSelf(std::string& fp,
int indentLevel = 0,
146 bool writeUnspecified =
false,
const DtFilename& path =
147 DtFilename::nullFilename());
156 void emptyCallbackList(DtList& listToEmpty);
157 void copyCallbackList(DtList& destList,
const DtList& origList);
165 virtual DtListItem* lookupProcessStateRepositoryItem(
168 virtual void addProcessStateRepositoryAddedCallback(
171 virtual void removeProcessStateRepositoryAddedCallback(
174 virtual void addProcessStateRepositoryAboutToBeRemovedCallback(
177 virtual void removeProcessStateRepositoryAboutToBeRemovedCallback(
198 template <
typename T_PSRType>
200 const std::list<DtVrfProcessStateRepository*>& psrList);
203 template<
typename T_PSRType>
205 const std::list<DtVrfProcessStateRepository*>& psrList)
207 std::list<DtVrfProcessStateRepository*>::const_iterator itr = psrList.begin();
208 std::list<DtVrfProcessStateRepository*>::const_iterator end = psrList.end();
209 for(; itr != end; ++itr)
211 if ((*itr)->name() == psrName)
213 if (T_PSRType* psr = dynamic_cast<T_PSRType*>(*itr))
DtList myAboutToBeRemovedProcessStateRepositoryCallbackList
Definition: vrfProcessStateRepositoryManager.h:186
Iterator for iterating over a DtList of process state repositories. Used by DtVrfProcessStateManager...
Definition: vrfProcessStateRepositoryIterator.h:32
A Readable, Writable version of DtList. This class cannot be used directly, but must be inherited to ...
Definition: rwList.h:26
class DtVrfProcessStateManagerCallbackInfo:
Definition: vrfProcessStateManagerCallbackInfo.h:26
virtual DtlObjPtr getData(DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)=0
This method must be overridden by a subclass. Within this method, new instances of the DtReaderWriter...
Definition: readerWriterRegistry.h:39
class DtVrfProcessStateRepositoryManager:
Definition: vrfProcessStateRepositoryManager.h:49
DtList myAddedProcessStateRepositoryCallbackList
Definition: vrfProcessStateRepositoryManager.h:187
DtHashlist myHashIndex
Definition: vrfProcessStateRepositoryManager.h:185
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
DtVrfProcessStateRepositoryIterator * myIterator
Definition: vrfProcessStateRepositoryManager.h:188
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
virtual void putSelf(std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
Top level call to write itself to file. If write unspecified is true, will write entries that are uns...
Class DtVrfProcessStateRepository: Abstract base class for all process state repositories. Process state repositories represent (potentially) shared, savable information for one or more components functioning together to achieve some process or set of processes; such as aiming and firing a weapon; moving an object; or just waiting a specified amount of time.
Definition: vrfProcessStateRepository.h:45
std::list< CompatibilityPsrInfo > myCompatibilityPsrs
Definition: vrfProcessStateRepositoryManager.h:191
const DtRwList & operator=(const DtRwList &orig)
Calls down to DtReaderWriter::operator=(). List elements are not copied.
T_PSRType * findPsrByNameAndType(const DtString &psrName, const std::list< DtVrfProcessStateRepository * > &psrList)
Templated function which finds the first occurrence of a PSR in the specified psrList that has the sp...
Definition: vrfProcessStateRepositoryManager.h:204
void(* DtVrfProcessStateManagerCallbackFcn)(DtVrfProcessStateRepository *obj, void *userData)
Definition: vrfProcessStateManagerCallbackInfo.h:17
std::pair< DtString, DtVrfProcessStateRepository * > CompatibilityPsrInfo
Definition: vrfProcessStateRepositoryManager.h:190