00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef OST_IO_ENTITY_IO_PLUGIN_SDF_H
00020 #define OST_IO_ENTITY_IO_PLUGIN_SDF_H
00021
00022 #include <ost/io/mol/entity_io_handler.hh>
00023
00024 namespace ost { namespace io {
00025
00026 class DLLEXPORT_OST_IO EntityIOSDFHandler: public EntityIOHandler {
00027 public:
00028 virtual void Import(mol::EntityHandle& ent,
00029 const boost::filesystem::path& loc);
00030 virtual void Export(const mol::EntityView& ent,
00031 const boost::filesystem::path& loc) const;
00032
00033 virtual void Import(mol::EntityHandle& ent,
00034 std::istream& stream);
00035
00036 virtual void Export(const mol::EntityView& ent,
00037 std::ostream& stream) const;
00038 static bool ProvidesImport(const boost::filesystem::path& loc,
00039 const String& format="auto");
00040 static bool ProvidesExport(const boost::filesystem::path& loc,
00041 const String& format="auto");
00042
00043 virtual bool RequiresProcessor() const;
00044
00045 static String GetFormatName() { return String("Sdf"); }
00046 static String GetFormatDescription() { return String("Structure-data format from Molecular Design Limited"); }
00047 };
00048
00049 typedef EntityIOHandlerFactory<EntityIOSDFHandler> EntityIOSDFHandlerFactory;
00050
00051 mol::EntityHandle DLLEXPORT_OST_IO LoadSDF(const String& file_name);
00052
00053 }}
00054
00055 #endif