41class DmrppTypeFactory :
public libdap::D4BaseTypeFactory {
42 std::shared_ptr<DMZ> d_dmz;
45 DmrppTypeFactory() =
default;
46 DmrppTypeFactory(std::shared_ptr<DMZ> dmz) : d_dmz(dmz) { }
48 virtual ~DmrppTypeFactory() =
default;
50 virtual BaseTypeFactory *ptr_duplicate()
const {
return new DmrppTypeFactory; }
52 virtual libdap::BaseType *NewVariable(libdap::Type t,
const std::string &name)
const;
54 virtual libdap::Byte *NewByte(
const std::string &n =
"")
const;
57 virtual libdap::Int8 *NewInt8(
const std::string &n =
"")
const;
58 virtual libdap::Byte *NewUInt8(
const std::string &n =
"")
const;
59 virtual libdap::Byte *NewChar(
const std::string &n =
"")
const;
61 virtual libdap::Int16 *NewInt16(
const std::string &n =
"")
const;
62 virtual libdap::UInt16 *NewUInt16(
const std::string &n =
"")
const;
63 virtual libdap::Int32 *NewInt32(
const std::string &n =
"")
const;
64 virtual libdap::UInt32 *NewUInt32(
const std::string &n =
"")
const;
67 virtual libdap::Int64 *NewInt64(
const std::string &n =
"")
const;
68 virtual libdap::UInt64 *NewUInt64(
const std::string &n =
"")
const;
70 virtual libdap::Float32 *NewFloat32(
const std::string &n =
"")
const;
71 virtual libdap::Float64 *NewFloat64(
const std::string &n =
"")
const;
73 virtual libdap::D4Enum *NewEnum(
const std::string &n =
"", libdap::Type type = libdap::dods_null_c)
const;
75 virtual libdap::Str *NewStr(
const std::string &n =
"")
const;
76 virtual libdap::Url *NewUrl(
const std::string &n =
"")
const;
77 virtual libdap::Url *
NewURL(
const std::string &n =
"")
const;
79 virtual libdap::D4Opaque *NewOpaque(
const std::string &n =
"")
const;
81 virtual libdap::Array *NewArray(
const std::string &n =
"", libdap::BaseType *v = 0)
const;
83 virtual libdap::Structure *NewStructure(
const std::string &n =
"")
const;
84 virtual libdap::D4Sequence *NewD4Sequence(
const std::string &n =
"")
const;
86 virtual libdap::D4Group *NewGroup(
const std::string &n =
"")
const;