55 #include "Structure.h" 56 #include "D4Sequence.h" 60 #include "D4BaseTypeFactory.h" 73 return NewUInt8(name);
78 return NewInt16(name);
80 return NewUInt16(name);
82 return NewInt32(name);
84 return NewUInt32(name);
87 return NewInt64(name);
89 return NewUInt64(name);
92 return NewFloat32(name);
94 return NewFloat64(name);
105 return NewOpaque(name);
107 case dods_structure_c:
108 return NewStructure(name);
110 case dods_sequence_c:
111 return NewD4Sequence(name);
114 return NewArray(name);
117 return NewGroup(name);
120 throw InternalErr(__FILE__, __LINE__,
"Unimplemented type in DAP4");
125 D4BaseTypeFactory::NewByte(
const string &n)
const 128 b->set_is_dap4(
true);
135 D4BaseTypeFactory::NewChar(
const string &n)
const 139 b->set_is_dap4(
true);
144 D4BaseTypeFactory::NewUInt8(
const string &n)
const 148 b->set_is_dap4(
true);
153 D4BaseTypeFactory::NewInt8(
const string &n)
const 156 b->set_is_dap4(
true);
161 D4BaseTypeFactory::NewInt16(
const string &n)
const 164 b->set_is_dap4(
true);
169 D4BaseTypeFactory::NewUInt16(
const string &n)
const 172 b->set_is_dap4(
true);
177 D4BaseTypeFactory::NewInt32(
const string &n)
const 179 DBG(cerr <<
"Inside DAP4BaseTypeFactory::NewInt32" << endl);
181 b->set_is_dap4(
true);
186 D4BaseTypeFactory::NewUInt32(
const string &n)
const 189 b->set_is_dap4(
true);
194 D4BaseTypeFactory::NewInt64(
const string &n)
const 196 DBG(cerr <<
"Inside DAP4BaseTypeFactory::NewInt64" << endl);
198 b->set_is_dap4(
true);
203 D4BaseTypeFactory::NewUInt64(
const string &n)
const 206 b->set_is_dap4(
true);
211 D4BaseTypeFactory::NewFloat32(
const string &n)
const 214 b->set_is_dap4(
true);
219 D4BaseTypeFactory::NewFloat64(
const string &n)
const 222 b->set_is_dap4(
true);
236 return new D4Enum(name, type);
241 D4BaseTypeFactory::NewStr(
const string &n)
const 244 b->set_is_dap4(
true);
249 D4BaseTypeFactory::NewUrl(
const string &n)
const 252 b->set_is_dap4(
true);
257 D4BaseTypeFactory::NewOpaque(
const string &n)
const 268 b->set_is_dap4(
true);
273 D4BaseTypeFactory::NewArray(
const string &n,
BaseType *v)
const 275 return new Array(n, v,
true );
279 D4BaseTypeFactory::NewStructure(
const string &n)
const 282 b->set_is_dap4(
true);
287 D4BaseTypeFactory::NewD4Sequence(
const string &n)
const 293 D4BaseTypeFactory::NewGroup(
const string &n)
const virtual BaseType * NewVariable(Type t, const string &name) const
Holds an 8-bit signed integer value.
Holds a64-bit signed integer.
Holds an Internet address (URL).
Holds an unsigned 16-bit integer.
virtual D4Enum * NewEnum(const string &n="", Type type=dods_null_c) const
Holds a structure (aggregate) type.
Type
Identifies the data type.
Holds a 32-bit floating point value.
top level DAP object to house generic methods
A class for software fault reporting.
Holds character string data.
Holds a DAP4 enumeration.
Holds a 16-bit signed integer value.
virtual void set_type(const Type &t)
Sets the type of the class instance.
Holds a 64-bit unsigned integer.
virtual Url * NewURL(const string &n="") const
The basic data type for the DODS DAP types.
Holds a 64-bit (double precision) floating point value.
Holds a 32-bit unsigned integer.
A multidimensional array of identical data types.
Holds a 32-bit signed integer.