VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
setDataRequest.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1999 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
14 #pragma once
15 
18 #include "tdbutil/tdbUnits.h"
20 
21 class DtRwString;
23 
39 
42 {
43 protected:
46 
49 
52  DtSetDataRequest(const DtString & writeName,
53  DtReaderWriterRegistry * parentRegistry = 0);
54 
56  DtSetDataRequest(const DtString & writeName, const DtSetDataRequest & orig,
57  DtReaderWriterRegistry * parentRegistry = 0);
58 
60  const DtSetDataRequest & operator=(const DtSetDataRequest & orig);
61 
62 public:
63 
65  virtual ~DtSetDataRequest();
66 
69  virtual bool init();
70 
75  virtual const DtSetMessageType& type() const = 0;
76 
81  virtual DtSetDataRequest * clone(const DtString & name,
82  DtReaderWriterRegistry * parentRegistry = 0) const = 0;
83 
90  virtual DtString stringRep() const = 0;
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 
107 
108  virtual int netRepSize() const;
111 
114  virtual bool setFromNet(const char* contentBuffer,
115  unsigned contentSize);
116 
119  virtual bool setToNet();
121 
125  static DtSetDataRequest * createSetDataRequest(DtlObjPtr mtlStream);
126  static DtSetDataRequest * createSetDataRequest(DtSetMessageType requestType);
127 
128  static void addSetDataRequestCreatorFcn(const DtSetMessageType & setDataName,
130 
131  static void setFactory(DtSetDataRequestFactory * factory);
132  static DtSetDataRequestFactory * factory();
133 
134  static bool isTypeRegistered(DtSetMessageType setDataType);
135 
136  //static bool addSetDataTypeMapping(const DtString& setDataName, int setDataType);
137  //static bool removeSetDataTypeMapping(const DtString& setDataName,
139 
140 protected:
141  virtual char* createNetworkBuffer();
142 
143 protected:
144  char* myNetRep;
145 
146 protected:
147 
149 };
150 
151 namespace DtBufferSerialize
152 {
155  DT_DLL_vrftasks int getSize(const DtSetDataRequest* const& setDataPtr);
156 
161  DT_DLL_vrftasks char *encode(const DtSetDataRequest* const& setDataPtr, char *buffer);
162 
171  DT_DLL_vrftasks const char *decode(DtSetDataRequest*& setDataPtr, const char *buffer);
172 }
DT_DLL_readerWriter int getSize(const DtString &val)
The number of bytes required to encode the value.
DtSetDataRequestFactory::DtCreatorFcn DtSetDataRequestCreatorFcn
Definition: setDataRequestFactory.h:41
virtual DtlObjPtr getData(DtlObjPtr args, const SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
Deriving class overrides these to get/put class specific data.
Definition: readerWriter.h:85
Description: Readable, Writable DtString Variable substitutions are done on this object when it is re...
Definition: rwString.h:20
Definition: readerWriterRegistry.h:39
static DtReaderWriterFactory * factory()
DtSetDataRequest is an abstract base class from which real setDataRequests can derive. It manages the read/write capability; derived classes need only use and register read/writatble data types for derived information.
Definition: setDataRequest.h:41
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
static DtSetDataRequestFactory * myFactory
Definition: setDataRequest.h:148
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. buffer must have at least the number of bytes returned...
#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.
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
char * myNetRep
Definition: setDataRequest.h:144
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...
Factory for DtSetDataRequest instances used in messages. Overridden from the template class to specia...
Definition: setDataRequestFactory.h:22

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)