Loading...
Searching...
No Matches
XMLMoleculeFormat Class Referenceabstract

`#include <openbabel/xml.h>`

Inheritance diagram for XMLMoleculeFormat:
[legend]

## Public Types

typedef std::map< const char *, OBPlugin *, CharPtrLess > | PluginMapType
typedef PluginMapType::const_iterator | PluginIterator

## Public Member Functions

| ~XMLMoleculeFormat ()
virtual bool | ReadChemObject (OBConversion *pConv)
virtual bool | WriteChemObject (OBConversion *pConv)
virtual bool | ReadMolecule (OBBase *pOb, OBConversion *pConv)
const std::type_info & | GetType ()
virtual const char * | NamespaceURI () const =0
virtual bool | DoElement (const std::string &ElName)
virtual bool | EndElement (const std::string &ElName)
virtual const char * | EndTag ()
const char * | TypeID ()
virtual bool | WriteMolecule (OBBase *, OBConversion *)
virtual const char * | Description ()=0
virtual const char * | TargetClassDescription ()
virtual const char * | SpecificationURL ()
virtual const char * | GetMIMEType ()
virtual unsigned int | Flags ()
virtual OBFormat * | MakeNewInstance ()
int | RegisterFormat (const char *ID, const char *MIME=nullptr)
virtual bool | Display (std::string &txt, const char *param, const char *ID=nullptr)
virtual OBPlugin * | MakeInstance (const std::vector< std::string > &)
virtual void | Init ()
const char * | GetID () const
virtual PluginMapType & | GetMap () const =0

## Static Public Member Functions

static OBFormat * | FormatFromMIME (const char *MIME)
static OBPlugin * | GetPlugin (const char *Type, const char *ID)
static bool | ListAsVector (const char *PluginID, const char *param, std::vector< std::string > &vlist)
static void | List (const char *PluginID, const char *param=nullptr, std::ostream *os=&std::cout)
static std::string | ListAsString (const char *PluginID, const char *param=nullptr)
static std::string | FirstLine (const char *txt)
static PluginIterator | Begin (const char *PluginID)
static PluginIterator | End (const char *PluginID)
static void | LoadAllPlugins ()

## Protected Member Functions

xmlTextReaderPtr | reader () const
xmlTextWriterPtr | writer () const
void | OutputToStream ()
virtual int | SkipObjects (int n, OBConversion *pConv)

## Static Protected Member Functions

static PluginMapType & | PluginMap ()
static PluginMapType & | GetTypeMap (const char *PluginID)
static OBPlugin * | BaseFindType (PluginMapType &Map, const char *ID)

## Protected Attributes

OBMol * | _pmol
XMLConversion * | _pxmlConv
std::string | _prefix
int | baseindent
int | ind
std::string | nsdecl
int | _embedlevel
const char * | _id

## Static Protected Attributes

static int | AllPluginsLoaded = 0

## Detailed Description

Abstract class for XML formats which represent molecules.

## Constructor & Destructor Documentation

## ~XMLMoleculeFormat()

~XMLMoleculeFormat | ( |  | ) |

inline

## Member Function Documentation

## ReadChemObject()

virtual bool ReadChemObject | ( | OBConversion * |  | ) |

inline virtual

The "Convert" interface Read function.

Possibly reads multiple new objects on the heap and subjects them to its DoTransformations() function, which may delete them again. Sends result to pConv->AddChemObject()

Reimplemented from OBFormat.

## WriteChemObject()

virtual bool WriteChemObject | ( | OBConversion * |  | ) |

inline virtual

The "Convert" interface Write function.

Writes a single object Deletes the object after writing

Returns
  false on error

Reimplemented from OBFormat.

## ReadMolecule()

virtual bool ReadMolecule | ( | OBBase * | ,
|  | OBConversion * | )

inline virtual

The "API" interface Read function.

Reads a single object. Does not make a new object on the heap; can be used with a pointer to an chem object on the heap or the stack.

Reimplemented from OBFormat.

## GetType()

const std::type_info & GetType | ( |  | ) |

inline virtual

Returns
  the type of chemical object used by the format. Defaults to that used by the default format. Useful for checking that a format can handle a particular object.

Reimplemented from OBFormat.

## NamespaceURI()

virtual const char * NamespaceURI | ( |  | ) | const

pure virtual inherited

## DoElement()

virtual bool DoElement | ( | const std::string & | ElName | ) |

inline virtual inherited

## EndElement()

virtual bool EndElement | ( | const std::string & | ElName | ) |

inline virtual inherited

## EndTag()

virtual const char * EndTag | ( |  | ) |

inline virtual inherited

The tag at the end of the chemical object e.g. "/molecule>".

Referenced by SkipObjects().

## reader()

xmlTextReaderPtr reader | ( |  | ) | const

inline protected inherited

## writer()

xmlTextWriterPtr writer | ( |  | ) | const

inline protected inherited

## OutputToStream()

void OutputToStream | ( |  | ) |

inline protected inherited

## SkipObjects()

virtual int SkipObjects | ( | int | n,
|  | OBConversion * | pConv )

inline protected virtual inherited

Skip past first n objects in input stream (or current one with n=0) Returns 1 on success, -1 on error and 0 if not implemented

Reimplemented from OBFormat.

## TypeID()

const char * TypeID | ( |  | ) |

inline virtual inherited

Redefined by each plugin type: "formats", "fingerprints", etc.

Reimplemented from OBPlugin.

Referenced by RegisterFormat().

## WriteMolecule()

virtual bool WriteMolecule | ( | OBBase * | ,
|  | OBConversion * | )

inline virtual inherited

The "API" interface Write function.

Writes a single object Does not delete the object; can be used with a pointer to an chem object on the heap or the stack.

Returns
  false on error.

Referenced by OBMoleculeFormat::DoOutputOptions(), OBMoleculeFormat::OutputDeferredMols(), and OBMoleculeFormat::WriteChemObjectImpl().

## Description()

virtual const char * Description | ( |  | ) |

pure virtual inherited

Information on this format. Printed out in response to -Hxxx option where xxx id the id of the format.

Must be provided by each format class. Can include a list of command line Options. These may be used to construction check boxes, radio buttons etc for GUI interface.

Reimplemented from OBPlugin.

Referenced by Display(), OBConversion::GetNextFormat(), and OBConversion::RegisterOptionParam().

## TargetClassDescription()

const char * TargetClassDescription | ( |  | ) |

virtual inherited

A decription of the chemical object converted by this format.

If not provided, the object type used by the default format is used (usually OBMol).

Referenced by Description(), and OBConversion::ReportNumberConverted().

## SpecificationURL()

virtual const char * SpecificationURL | ( |  | ) |

inline virtual inherited

Web address where the format is defined.

Referenced by Display().

## GetMIMEType()

virtual const char * GetMIMEType | ( |  | ) |

inline virtual inherited

Chemical MIME type associated with this file type (if any).

## Flags()

virtual unsigned int Flags | ( |  | ) |

inline virtual inherited

Decribes the capabilities of the format (Read only etc.).

Currently, can be a bitwise OR of any of the following NOTREADABLE READONEONLY NOTWRITABLE WRITEONEONLY DEFAULTFORMAT READBINARY WRITEBINARY READXML

Referenced by Display(), OBConversion::GetNextFormat(), OBMoleculeFormat::ReadChemObjectImpl(), and RegisterFormat().

## MakeNewInstance()

virtual OBFormat * MakeNewInstance | ( |  | ) |

inline virtual inherited

Returns
  a pointer to a new instance of the format, or NULL if fails. Normally a single global instance is used but this may cause problems if there are member variables and the format is used in more than one place in the program.

## RegisterFormat()

int RegisterFormat | ( | const char * | ID,
|  | const char * | MIME = nullptr )

inherited

Referenced by OBConversion::RegisterFormat().

## Display()

bool Display | ( | std::string & | txt,
|  | const char * | param,
|  | const char * | ID = nullptr )

virtual inherited

Provides a description in txt of the format specified by itr. If param starts with "in", "read", "out" or "write" only the appropriate formats are output. The others return false. If param contains "verbose", the whole description is output.

Reimplemented from OBPlugin.

## FormatFromMIME()

OBFormat * FormatFromMIME | ( | const char * | MIME | ) |

static inherited

Referenced by OBConversion::FormatFromMIME().

## Member Data Documentation

## _pmol

OBMol* _pmol

protected

Referenced by ReadMolecule().

## _pxmlConv

XMLConversion* _pxmlConv

protected inherited

Referenced by OutputToStream(), reader(), XMLMoleculeFormat::ReadMolecule(), SkipObjects(), and writer().

## _prefix

std::string _prefix

protected inherited

## baseindent

int baseindent

protected inherited

## ind

int ind

protected inherited

## nsdecl

std::string nsdecl

protected inherited

## _embedlevel

int _embedlevel

protected inherited

Referenced by XMLMoleculeFormat::ReadMolecule().

The documentation for this class was generated from the following file:

- xml.h