VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simTask.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1999 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
15 #include <readerWriter/rwBoolean.h>
16 #include <vlutil/vlNetTypes.h>
17 #include "tdbutil/unitFormatter.h"
18 #include "tdbutil/tdbUnits.h"
19 
20 class DtSimTaskFactory;
21 
32 {
33 protected:
36 
38  DtSimTask();
39 
42  DtSimTask(const DtString & writeName,
43  DtReaderWriterRegistry * parentRegistry = 0);
44 
46  DtSimTask(const DtString & writeName, const DtSimTask & orig,
47  DtReaderWriterRegistry * parentRegistry = 0);
48 
50  const DtSimTask & operator=(const DtSimTask & orig);
51 
52 public:
53 
55  virtual ~DtSimTask();
56 
59  virtual bool init();
60 
66  virtual const DtSimTaskMessageType& type() const = 0;
67 
68  virtual bool isTypeRegistered(const DtSimTaskMessageType& taskName);
69 
74  virtual DtSimTask * clone(const DtString & name, DtReaderWriterRegistry *
75  parentRegistry = 0) const = 0;
76 
82  virtual DtString stringRep() const = 0;
83 
87  virtual void setSubtask(bool flag);
88  virtual bool subtask() const;
89 
94  virtual void setAllowTaskVisualizations(bool flag);
95  virtual bool allowTaskVisualizations() const;
96 
99  virtual void putData(std::string& fp, int indentLevel = 0);
100 
103  virtual DtlObjPtr getData(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
104  const DtVariableBindingsList& variableBindings);
105 
106  virtual char* netRep();
107 
113  virtual int netRepSize() const;
114 
119  virtual bool setFromNet(const char* contentBuffer,
120  unsigned contentSize);
121 
129  virtual bool setToNet();
130 
131 
142  static DtSimTask * createTask(DtlObjPtr mtlStream);
143  static DtSimTask * createTask(const DtSimTaskMessageType& taskType);
144 
146  static void addTaskCreatorFcn(const DtSimTaskMessageType& taskName,
147  DtSimTaskCreatorFcn fcn);
148 
149  static void setFactory(DtSimTaskFactory * factory);
150  static DtSimTaskFactory* factory();
151 
152 protected:
153  virtual char* createNetworkBuffer();
154 
155 protected:
158  char* myNetRep;
159 
161 };
162 
163 namespace DtBufferSerialize
164 {
167  DT_DLL_vrftasks int getSize(const DtSimTask* const& taskPtr);
168 
173  DT_DLL_vrftasks char *encode(const DtSimTask* const& taskPtr, char *buffer);
174 
183  DT_DLL_vrftasks const char *decode(DtSimTask*& taskPtr, const char *buffer);
184 }
DT_DLL_readerWriter int getSize(const DtString &val)
The number of bytes required to encode the value.
Factory for DtSimTask instances used in messages.
Definition: simTaskFactory.h:22
static DtSimTaskFactory * myFactory
Definition: simTask.h:160
virtual DtlObjPtr getData(DtlObjPtr args, const SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
Definition: readerWriter.h:85
Definition: readerWriterRegistry.h:39
DtRwBoolean mySubtask
Definition: simTask.h:156
DtSimTaskFactory::DtCreatorFcn DtSimTaskCreatorFcn
Definition: simTaskFactory.h:41
static DtReaderWriterFactory * factory()
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
DT_DLL_readerWriter char * encode(const DtFilename &val, char *buffer)
Serializes the provided value val into buffer.
#define DT_DLL_vrftasks
This file is used to determine how to build.
Definition: vrftasksDefines.h:26
virtual void putData(std::string &fp, int indentLevel=0)
Deriving class overrides these to get/put class specific data.
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
DtSimTask is an abstract base class from which real tasks can derive.
Definition: simTask.h:31
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
const DtReaderWriter & operator=(const DtReaderWriter &orig)
assignment operator
DT_DLL_readerWriter const char * decode(DtString &val, const char *buffer)
Decodes a value from buffer and places the result in val of the type specified by val...
char * myNetRep
Definition: simTask.h:158
DtRwBoolean myAllowTaskVisualizations
Definition: simTask.h:157

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)