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_MMCIF_HH
00020 #define OST_IO_ENTITY_IO_PLUGIN_MMCIF_HH
00021
00022 #include <vector>
00023
00024 #include <ost/io/mol/entity_io_handler.hh>
00025
00026 namespace ost { namespace io {
00027
00028
00029 class DLLEXPORT_OST_IO EntityIOMMCIFHandler: public EntityIOHandler {
00030 public:
00031 virtual void Import(mol::EntityHandle& ent,
00032 const boost::filesystem::path& loc);
00033
00034 virtual void Export(const mol::EntityView& ent,
00035 const boost::filesystem::path& loc) const;
00036
00037 virtual void Import(mol::EntityHandle& ent, std::istream& stream);
00038
00039 virtual void Export(const mol::EntityView& ent, std::ostream& stream) const;
00040
00041 static bool ProvidesImport(const boost::filesystem::path& loc,
00042 const String& format="auto");
00043 static bool ProvidesExport(const boost::filesystem::path& loc,
00044 const String& format="auto");
00045 virtual bool RequiresProcessor() const;
00046
00047 static String GetFormatName() { return String("mmCIF"); }
00048 static String GetFormatDescription() {
00049 return String("macromolecular Crystallographic Information File ");
00050 }
00051 };
00052
00053
00054 typedef EntityIOHandlerFactory<EntityIOMMCIFHandler> EntityIOMMCIFHandlerFactory;
00055
00056
00057 }}
00058
00059 #endif