VR-Forces 4.1 Class Documentation
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/rdrWritr.h"
14 #include "vrftasks/taskFactory.h"
15 #include "vrfutil/rwBoolean.h"
16 #include <vlutil/vlNetTypes.h>
17 #include "tdbutil/translation.h"
19 #include "tdbutil/tdbUnits.h"
20 #include "vrftasks/radioMsgTypes.h"
21 
22 class DtSimTaskFactory;
23 
31 {
32 protected:
35 
37  DtSimTask();
38 
41  DtSimTask(const DtString & writeName,
42  DtReaderWriterRegistry * parentRegistry = 0);
43 
45  DtSimTask(const DtString & writeName, const DtSimTask & orig,
46  DtReaderWriterRegistry * parentRegistry = 0);
47 
49  const DtSimTask & operator=(const DtSimTask & orig);
50 
51 public:
52 
54  virtual ~DtSimTask();
55 
58  virtual bool init();
59 
65  virtual const DtSimTaskMessageType& type() const = 0;
66 
67  virtual bool isTypeRegistered(const DtSimTaskMessageType& taskName);
68 
73  virtual DtSimTask * clone(const DtString & name, DtReaderWriterRegistry *
74  parentRegistry = 0) const = 0;
75 
81  virtual DtString stringRep() const = 0;
82 
86  virtual void setSubtask(bool flag);
87  virtual bool subtask() const;
88 
91  virtual void putData(FILE *fp, int indentLevel = 0);
92 
95  virtual DtlObjPtr getData(DtlObjPtr args, const DtFilename& searchPath,
96  const DtVariableBindingsList& variableBindings);
97 
98  virtual char* netRep();
99 
105  virtual int netRepSize() const;
106 
111  virtual bool setFromNet(const char* contentBuffer,
112  unsigned contentSize);
113 
121  virtual bool setToNet();
122 
123 
134  static DtSimTask * createTask(DtlObjPtr mtlStream);
135  static DtSimTask * createTask(const DtSimTaskMessageType& taskType);
136 
138  static void addTaskCreatorFcn(const DtSimTaskMessageType& taskName,
139  DtSimTaskCreatorFcn fcn);
140 
141  static void setFactory(DtSimTaskFactory * factory);
142  static DtSimTaskFactory* factory();
143 
144 protected:
145  virtual char* createNetworkBuffer();
146 
147 protected:
149  char* myNetRep;
150 
152 };
153 
154 namespace DtBufferSerialize
155 {
158  DT_DLL_vrftasks int getSize(const DtSimTask* const& taskPtr);
159 
164  DT_DLL_vrftasks char *encode(const DtSimTask* const& taskPtr, char *buffer);
165 
174  DT_DLL_vrftasks const char *decode(DtSimTask*& taskPtr, const char *buffer);
175 }

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)