@@ -1484,3 +1484,51 @@ CEXPORT const char* indigoJson(int item)
1484
1484
}
1485
1485
INDIGO_END (0 );
1486
1486
}
1487
+
1488
+ CEXPORT const char * indigoGetOriginalFormat (int item)
1489
+ {
1490
+ INDIGO_BEGIN
1491
+ {
1492
+ IndigoObject& obj = self.getObject (item);
1493
+ int original_format = BaseMolecule::UNKNOWN;
1494
+ if (IndigoBaseMolecule::is (obj))
1495
+ {
1496
+ BaseMolecule& mol = obj.getBaseMolecule ();
1497
+ original_format = mol.original_format ;
1498
+ }
1499
+ else if (IndigoBaseReaction::is (obj))
1500
+ {
1501
+ BaseReaction& rxn = obj.getBaseReaction ();
1502
+ original_format = rxn.original_format ;
1503
+ }
1504
+ else
1505
+ throw IndigoError (" indigoSaveJson(): expected molecule, got %s" , obj.debugInfo ());
1506
+
1507
+ switch (original_format)
1508
+ {
1509
+ case BaseMolecule::CML:
1510
+ return " chemical/x-cml" ;
1511
+ case BaseMolecule::CDXML:
1512
+ return " chemical/x-cdxml" ;
1513
+ case BaseMolecule::CDX:
1514
+ return " chemical/x-cdx" ;
1515
+ case BaseMolecule::RDF:
1516
+ return " chemical/x-mdl-rdfile" ;
1517
+ case BaseMolecule::SMILES:
1518
+ return " chemical/x-daylight-smiles" ;
1519
+ case BaseMolecule::CXSMILES:
1520
+ return " chemical/x-chemaxon-cxsmiles" ;
1521
+ case BaseMolecule::SMARTS:
1522
+ return " chemical/x-daylight-smarts" ;
1523
+ case BaseMolecule::MOL:
1524
+ return " chemical/x-mdl-molfile" ;
1525
+ case BaseMolecule::RXN:
1526
+ return " chemical/x-mdl-rxnfile" ;
1527
+ case BaseMolecule::KET:
1528
+ return " chemical/x-indigo-ket" ;
1529
+ default :
1530
+ return " unknown" ;
1531
+ }
1532
+ }
1533
+ INDIGO_END (0 );
1534
+ }
0 commit comments