moab
|
#include <ReaderWriterSet.hpp>
Public Member Functions | |
Handler (reader_factory_t read_f, writer_factory_t write_f, const char *name, const char *desc, const char *const *ext, int num_ext) | |
const std::string & | name () const |
const std::string & | description () const |
void | get_extensions (std::vector< std::string > &list_out) const |
bool | have_reader () const |
bool | have_writer () const |
ReaderIface * | make_reader (Interface *iface) const |
WriterIface * | make_writer (Interface *iface) const |
bool | reads_extension (const char *ext) const |
bool | writes_extension (const char *ext) const |
bool | operator== (const char *name) const |
Private Attributes | |
reader_factory_t | mReader |
writer_factory_t | mWriter |
std::string | mName |
std::string | mDescription |
std::vector< std::string > | mExtensions |
Friends | |
class | ReaderWriterSet |
Definition at line 105 of file ReaderWriterSet.hpp.
moab::ReaderWriterSet::Handler::Handler | ( | reader_factory_t | read_f, |
writer_factory_t | write_f, | ||
const char * | name, | ||
const char * | desc, | ||
const char *const * | ext, | ||
int | num_ext | ||
) |
Definition at line 258 of file ReaderWriterSet.cpp.
: mReader(read_f), mWriter(write_f), mName(nm), mDescription(desc), mExtensions(num_ext) { for (int i = 0; i < num_ext; ++i) mExtensions[i] = ext[i]; }
const std::string& moab::ReaderWriterSet::Handler::description | ( | ) | const [inline] |
Definition at line 119 of file ReaderWriterSet.hpp.
{ return mDescription; }
void moab::ReaderWriterSet::Handler::get_extensions | ( | std::vector< std::string > & | list_out | ) | const [inline] |
Definition at line 120 of file ReaderWriterSet.hpp.
{ list_out = mExtensions; }
bool moab::ReaderWriterSet::Handler::have_reader | ( | ) | const [inline] |
Definition at line 123 of file ReaderWriterSet.hpp.
{ return NULL != mReader; }
bool moab::ReaderWriterSet::Handler::have_writer | ( | ) | const [inline] |
Definition at line 124 of file ReaderWriterSet.hpp.
{ return NULL != mWriter; }
ReaderIface* moab::ReaderWriterSet::Handler::make_reader | ( | Interface * | iface | ) | const [inline] |
Definition at line 126 of file ReaderWriterSet.hpp.
{ return have_reader() ? mReader(iface) : NULL; }
WriterIface* moab::ReaderWriterSet::Handler::make_writer | ( | Interface * | iface | ) | const [inline] |
Definition at line 129 of file ReaderWriterSet.hpp.
{ return have_writer() ? mWriter(iface) : NULL; }
const std::string& moab::ReaderWriterSet::Handler::name | ( | ) | const [inline] |
Definition at line 118 of file ReaderWriterSet.hpp.
{ return mName; }
bool moab::ReaderWriterSet::Handler::operator== | ( | const char * | name | ) | const |
Definition at line 339 of file ReaderWriterSet.cpp.
bool moab::ReaderWriterSet::Handler::reads_extension | ( | const char * | ext | ) | const |
Definition at line 309 of file ReaderWriterSet.cpp.
{ if (!have_reader()) return false; std::vector<std::string>::const_iterator siter; for (siter = mExtensions.begin(); siter != mExtensions.end(); ++siter) if (!(*siter).compare(ext)) return true; else if (0 == strcasecmp( siter->c_str(), ext)) return true; return false; }
bool moab::ReaderWriterSet::Handler::writes_extension | ( | const char * | ext | ) | const |
Definition at line 321 of file ReaderWriterSet.cpp.
{ if (!have_writer()) return false; std::vector<std::string>::const_iterator siter; for (siter = mExtensions.begin(); siter != mExtensions.end(); ++siter) if (!(*siter).compare(ext)) return true; else if (0 == strcasecmp( siter->c_str(), ext)) return true; return false; }
friend class ReaderWriterSet [friend] |
Definition at line 107 of file ReaderWriterSet.hpp.
std::string moab::ReaderWriterSet::Handler::mDescription [private] |
Definition at line 142 of file ReaderWriterSet.hpp.
std::vector<std::string> moab::ReaderWriterSet::Handler::mExtensions [private] |
Definition at line 143 of file ReaderWriterSet.hpp.
std::string moab::ReaderWriterSet::Handler::mName [private] |
Definition at line 142 of file ReaderWriterSet.hpp.
Definition at line 139 of file ReaderWriterSet.hpp.
Definition at line 140 of file ReaderWriterSet.hpp.