libdap++ Updated for version 3.8.2
|
#include <BaseTypeFactory.h>
Public Member Functions | |
BaseTypeFactory () | |
virtual Array * | NewArray (const string &n="", BaseType *v=0) const |
virtual Byte * | NewByte (const string &n="") const |
virtual Float32 * | NewFloat32 (const string &n="") const |
virtual Float64 * | NewFloat64 (const string &n="") const |
virtual Grid * | NewGrid (const string &n="") const |
virtual Int16 * | NewInt16 (const string &n="") const |
virtual Int32 * | NewInt32 (const string &n="") const |
virtual Sequence * | NewSequence (const string &n="") const |
virtual Str * | NewStr (const string &n="") const |
virtual Structure * | NewStructure (const string &n="") const |
virtual UInt16 * | NewUInt16 (const string &n="") const |
virtual UInt32 * | NewUInt32 (const string &n="") const |
virtual Url * | NewUrl (const string &n="") const |
virtual | ~BaseTypeFactory () |
A factory to create instances of the leaf nodes of BaseType (Byte, ... Grid). Clients of libdap++ which require special behavior for the types should subclass this factory and provide an implementation which creates instances of those specializations. Make sure to pass a reference to the new factory to DDS's constructor since by default it uses this factory.
To define and use your own factory, first make sure that you are not using the compile time constant 'DEFAULT_BASETYPE_FACTORY.' Then pass a pointer to an instance of your factory to the DDS/DataDDS constructors. When the parser is used to build a DDS from a DAP response, the factory will be used to instantiate the different variable-type classes.
.h) file and then include the type class' headers in the implementation (
.cc) file.Definition at line 77 of file BaseTypeFactory.h.
libdap::BaseTypeFactory::BaseTypeFactory | ( | ) | [inline] |
Definition at line 80 of file BaseTypeFactory.h.
virtual libdap::BaseTypeFactory::~BaseTypeFactory | ( | ) | [inline, virtual] |
Definition at line 82 of file BaseTypeFactory.h.
Array * libdap::BaseTypeFactory::NewArray | ( | const string & | n = "" , |
BaseType * | v = 0 |
||
) | const [virtual] |
Definition at line 104 of file BaseTypeFactory.cc.
Byte * libdap::BaseTypeFactory::NewByte | ( | const string & | n = "" | ) | const [virtual] |
Definition at line 49 of file BaseTypeFactory.cc.
Float32 * libdap::BaseTypeFactory::NewFloat32 | ( | const string & | n = "" | ) | const [virtual] |
Definition at line 80 of file BaseTypeFactory.cc.
Float64 * libdap::BaseTypeFactory::NewFloat64 | ( | const string & | n = "" | ) | const [virtual] |
Definition at line 86 of file BaseTypeFactory.cc.
Grid * libdap::BaseTypeFactory::NewGrid | ( | const string & | n = "" | ) | const [virtual] |
Definition at line 123 of file BaseTypeFactory.cc.
Int16 * libdap::BaseTypeFactory::NewInt16 | ( | const string & | n = "" | ) | const [virtual] |
Definition at line 55 of file BaseTypeFactory.cc.
Int32 * libdap::BaseTypeFactory::NewInt32 | ( | const string & | n = "" | ) | const [virtual] |
Definition at line 67 of file BaseTypeFactory.cc.
References DBG.
Sequence * libdap::BaseTypeFactory::NewSequence | ( | const string & | n = "" | ) | const [virtual] |
Definition at line 116 of file BaseTypeFactory.cc.
References DBG.
Str * libdap::BaseTypeFactory::NewStr | ( | const string & | n = "" | ) | const [virtual] |
Definition at line 92 of file BaseTypeFactory.cc.
Structure * libdap::BaseTypeFactory::NewStructure | ( | const string & | n = "" | ) | const [virtual] |
Definition at line 110 of file BaseTypeFactory.cc.
UInt16 * libdap::BaseTypeFactory::NewUInt16 | ( | const string & | n = "" | ) | const [virtual] |
Definition at line 61 of file BaseTypeFactory.cc.
UInt32 * libdap::BaseTypeFactory::NewUInt32 | ( | const string & | n = "" | ) | const [virtual] |
Definition at line 74 of file BaseTypeFactory.cc.
Url * libdap::BaseTypeFactory::NewUrl | ( | const string & | n = "" | ) | const [virtual] |
Definition at line 98 of file BaseTypeFactory.cc.