VR-Forces 4.8 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"
19 #include "tdbutil/tdbUnits.h"
21 
22 class DtSimTaskFactory;
23 
34 {
35 protected:
38 
40  DtSimTask();
41 
44  DtSimTask(const DtString & writeName,
45  DtReaderWriterRegistry * parentRegistry = 0);
46 
48  DtSimTask(const DtString & writeName, const DtSimTask & orig,
49  DtReaderWriterRegistry * parentRegistry = 0);
50 
52  const DtSimTask & operator=(const DtSimTask & orig);
53 
54 public:
55 
57  virtual ~DtSimTask();
58 
61  virtual bool init();
62 
68  virtual const DtSimTaskMessageType& type() const = 0;
69 
70  virtual bool isTypeRegistered(const DtSimTaskMessageType& taskName);
71 
76  virtual DtSimTask * clone(const DtString & name, DtReaderWriterRegistry *
77  parentRegistry = 0) const = 0;
78 
84  virtual DtString stringRep() const = 0;
85 
89  virtual void setSubtask(bool flag);
90  virtual bool subtask() const;
91 
96  virtual void setAllowTaskVisualizations(bool flag);
97  virtual bool allowTaskVisualizations() const;
98 
101  virtual void putData(std::string& fp, int indentLevel = 0);
102 
105  virtual DtlObjPtr getData(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
106  const DtVariableBindingsList& variableBindings);
107 
108  virtual char* netRep();
109 
115  virtual int netRepSize() const;
116 
121  virtual bool setFromNet(const char* contentBuffer,
122  unsigned contentSize);
123 
131  virtual bool setToNet();
132 
133 
144  static DtSimTask * createTask(DtlObjPtr mtlStream);
145  static DtSimTask * createTask(const DtSimTaskMessageType& taskType);
146 
148  static void addTaskCreatorFcn(const DtSimTaskMessageType& taskName,
149  DtSimTaskCreatorFcn fcn);
150 
151  static void setFactory(DtSimTaskFactory * factory);
152  static DtSimTaskFactory* factory();
153 
154 protected:
155  virtual char* createNetworkBuffer();
156 
157 protected:
160  char* myNetRep;
161 
163 };
164 
165 namespace DtBufferSerialize
166 {
169  DT_DLL_vrftasks int getSize(const DtSimTask* const& taskPtr);
170 
175  DT_DLL_vrftasks char *encode(const DtSimTask* const& taskPtr, char *buffer);
176 
185  DT_DLL_vrftasks const char *decode(DtSimTask*& taskPtr, const char *buffer);
186 }
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:162
virtual DtlObjPtr getData(DtlObjPtr args, const SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
Definition: readerWriter.h:85
Definition: readerWriterRegistry.h:39
DtRwBoolean mySubtask
Definition: simTask.h:158
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
Define constants for types of tasks, sets, admin messages, reports, and sim commands (all sent via ra...
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:33
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:160
DtRwBoolean myAllowTaskVisualizations
Definition: simTask.h:159

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)