VR-Forces 4.6 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 
13 #include "vrfutil/readerWriter.h"
15 #include "vrfutil/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 
94  virtual void putData(std::string& fp, int indentLevel = 0);
95 
98  virtual DtlObjPtr getData(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
99  const DtVariableBindingsList& variableBindings);
100 
101  virtual char* netRep();
102 
108  virtual int netRepSize() const;
109 
114  virtual bool setFromNet(const char* contentBuffer,
115  unsigned contentSize);
116 
124  virtual bool setToNet();
125 
126 
137  static DtSimTask * createTask(DtlObjPtr mtlStream);
138  static DtSimTask * createTask(const DtSimTaskMessageType& taskType);
139 
141  static void addTaskCreatorFcn(const DtSimTaskMessageType& taskName,
142  DtSimTaskCreatorFcn fcn);
143 
144  static void setFactory(DtSimTaskFactory * factory);
145  static DtSimTaskFactory* factory();
146 
147 protected:
148  virtual char* createNetworkBuffer();
149 
150 protected:
152  char* myNetRep;
153 
155 };
156 
157 namespace DtBufferSerialize
158 {
161  DT_DLL_vrftasks int getSize(const DtSimTask* const& taskPtr);
162 
167  DT_DLL_vrftasks char *encode(const DtSimTask* const& taskPtr, char *buffer);
168 
177  DT_DLL_vrftasks const char *decode(DtSimTask*& taskPtr, const char *buffer);
178 }

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)