00001 #ifndef OST_CONOP_COMPOUND_LIB_BASE_HH 00002 #define OST_CONOP_COMPOUND_LIB_BASE_HH 00003 00004 #include "compound.hh" 00005 #include <ost/mol/residue_handle.hh> 00006 00007 namespace ost { namespace conop { 00008 00009 class CompoundLibBase; 00010 typedef boost::shared_ptr<CompoundLibBase> CompoundLibBasePtr; 00011 00012 class DLLEXPORT_OST_CONOP CompoundLibBase { 00013 public: 00014 virtual ~CompoundLibBase() {} 00015 virtual CompoundPtr FindCompound(const String& id, 00016 Compound::Dialect dialect) const = 0; 00017 00018 bool IsResidueComplete(const ost::mol::ResidueHandle& res, 00019 bool check_hydrogens, 00020 Compound::Dialect) const; 00021 }; 00022 00023 }} 00024 #endif 00025